AWS AppSync Monitoring Integration
AWS AppSync is a managed service that uses the GraphQL interface to simplify the application development process. It provides a flexible API to combine data from multiple sources to build scalable applications.
The service also enables end users to update data in real time, even when their system is offline, and synchronizes the changes when connectivity is regained.
Use case
AWS AppSync combines data from one or more sources, including AWS DynamoDB, AWS Lambda, and HTTP APIs. Consider that you have a DynamoDB data source attached to your AppSync monitor integrated with Site24x7. If your DynamoDB data source is down or facing any issues, you will receive notification alerts for your AppSync monitor from Site24x7 so that you can track the issue.
Benefits of the integration between Site24x7 and AWS AppSync
Site24x7's integration with AWS AppSync provides clear insights about your data source, schema type, and cache details of your monitored resources.
With the integration between Site24x7 and AWS AppSync, you can:
- Monitor your resources with multiple metrics.
- Configure thresholds and receive alerts when your data source is down.
- Receive a detailed overview of the schema type including field types and data source.
- Schedule IT automation to invoke AppSync GraphQL API, view Cloudwatch logs, and identify specific error codes or patterns.
Setup and configuration
- If you haven't already, enable access to your AWS resource by creating a cross-account IAM role between your account and Site24x7's AWS account. Learn more.
- On the Integrate AWS Account page, please make sure AWS AppSync is selected in the Services to be discovered field. Learn more.
Policies and permissions
Ensure that Site24x7 has the following permissions to monitor AWS Appsync:
- Appsync:getGraphqlApi
- Appsync:getApiCache
- Appsync:getSchemaCreationStatus
- Appsync:listTagsForResource
- Appsync:listDataSources
- Appsync:listTypes
- Appsync:listResolvers
- Appsync:getFunction
- Appsync:listGraphqlApis
- Appsync:getType
- Appsync:describeLogStreams
- Appsync:getLogEvents
- Appsync:getLogStreams
- Appsync:listApiKeys
Polling frequency
Site24x7 queries the CloudWatch and other AWS service-level APIs as per the set polling frequency (one minute to a day) to collect metrics from AWS AppSync.
Supported AppSync metrics
Metric name | Description | Unit |
4XXError | Errors resulting from requests that are not valid due to an incorrect client configuration. | Count |
5XXError | Errors encountered during the running of a GraphQL query. | Count |
Latency | The time span within which AWS AppSync receives a request from a client and returns the response to the client. This doesn’t include the network latency for the response to reach the end devices. | Milliseconds |
ConnectSuccess | The number of successful WebSocket connections to AWS AppSync. It is possible to have connections without subscriptions. | Count |
ConnectClientError | The number of WebSocket connections that were rejected by AWS AppSync because of client-side errors. | Count |
ConnectServerError | The number of errors that originated from AWS AppSync while processing connections. | Count |
DisconnectSuccess | The number of successful WebSocket disconnections from AWS AppSync. | Count |
DisconnectClientError | The number of client errors that originated from AWS AppSync while disconnecting the WebSocket connections. | Count |
DisconnectServerError | The number of server errors that originated from AWS AppSync while disconnecting the WebSocket connections. | Count |
SubscribeSuccess | The number of subscriptions that were successfully registered to AWS AppSync through the WebSocket. | Count |
SubscribeClientError | The number of subscriptions that were rejected by AWS AppSync because of client-side errors. | Count |
SubscribeServerError | The number of errors that originated from AWS AppSync while processing subscriptions. | Count |
UnsubscribeSuccess | The number of unsubscribe requests that were successfully processed. | Count |
UnsubscribeClientError | The number of unsubscribe requests that were rejected by AWS AppSync because of client-side errors. | Count |
UnsubscribeServerError | The number of errors that originated from AWS AppSync while processing unsubscribe requests. | Count |
PublishDataMessageSuccess | The number of subscription event messages that were successfully published. | Count |
PublishDataMessageClientError | The number of subscription event messages that weren't published because of client-side errors. | Count |
PublishDataMessageServerError | The number of errors that originated from AWS AppSync while publishing subscription event messages. | Count |
PublishDataMessageSize | The size of subscription event messages published. | Bytes |
ActiveConnections | The number of concurrent WebSocket connections from clients to AWS AppSync in one minute. | Count |
ActiveSubscriptions | The number of concurrent subscriptions from clients in one minute. | Count |
ConnectionDuration | The amount of time that the connection stays open. | Milliseconds |
InvalidationSuccess | The number of subscriptions successfully invalidated (unsubscribed) by a mutation with $extensions.invalidateSubscriptions(). | Count |
Cache related metrics
Metric name | Description | Unit |
CacheHits | The number of successful read-only key lookups in the main dictionary. | Count |
CacheMisses | The number of unsuccessful read-only key lookups in the main dictionary. | Count |
CurrItems | The number of items in the cache. | Count |
Evictions | The number of keys that have been evicted due to the maximum memory limit. | Count |
Reclaimed | The total number of key expiration events. | Count |
BytesUsedForCache | The total number of bytes allocated by Redis for all purposes, including the dataset, and buffers. | Bytes |
Threshold configuration
To configure thresholds for your Site24x7 - AWS AppSync integrated monitor:
- Log in to your Site24x7 account and navigate to Admin > Configuration Profiles > Threshold and Availability.
- Click Add Threshold Profile.
- Select AWS AppSync from the Monitor Type drop-down menu, and provide an appropriate name in the Display Name field.
- The supported metrics are displayed in the Threshold Configuration section.You can set threshold values for all the metrics mentioned above and configure to receive notification by toggling the Notify for Cache Deletion and Notify for Cache Failure options to Yes.
- Click Save.
Licensing
Every AWS AppSync monitor is considered as a basic monitor.
AWS AppSync data
To view the AWS AppSync data, log in to Site24x7 and navigate to Cloud > AWS > AppSync. You can view the cache details, schema type, and monitored resources along with other configuration details in the following tabs:
Summary
The Summary tab provides an overview of the AppSync metrics. You can analyze the metrics and stay updated with the latest changes, if there are any. For instance, suppose the AppSync API randomly experiences a high latency then, the Latency graph will get updated to the latest value so that you are aware of the changes.
Caching
The Caching tab provides the AppSync Cache Settings details and the related metrics. You can view the current status of the cache server in the AppSync Cache Settings section. For instance, if your cache server failed or got deleted, you can view the status as Failed or Deleted in the AppSync Cache Settings section, so that you are aware of the current status and can take the recommended actions.
Monitored Resources
The Monitored Resource tab displays the data source links with AppSync through a resolver. Resolvers are connecting blocks between the schema operations and data sources. They translate GraphQL requests and responses into a format that is comprehensible by the connected data source.
You can view the Status, Data Source Name, Data Source Type, Fields Connected, and Resource ID of the monitored data source.
Schema Overview
The Schema Overview tab lists all the attributes based on the schema type. There are two types of schema: root schema type which comprises of query, mutation, or subscription, and user-defined schema type. You can choose the preferred schema type from the Filter by Schema Type drop-down list and view all the attributes present in the schema type.
Configuration
The Configuration tab provides the AWS AppSync configuration data including Schema Status, Authentication Type, Total Data Source, and Schema Type Count.
Recent Logs
The Recent Logs tab provides the information logged for each field in the query so that you can easily track the logs.
Outages
The Outages tab displays your resource status history such as Down, Trouble, Critical, or Under Maintenance. You can also view the start time and end time of an outage, duration, and comments (if any) in the Outages tab.