AWS AppSync

Dynatrace ingests metrics for multiple preselected namespaces, including AWS AppSync. You can view metrics for each service instance, split metrics into multiple dimensions, and create custom charts that you can pin to your dashboards.

Prerequisites

To enable monitoring for this service, you need

  • An Environment or Cluster ActiveGate version 1.197+
  • Dynatrace version 1.200+
  • An updated AWS monitoring policy to include the additional AWS services.
    To update the AWS IAM policy, use the JSON below, containing the monitoring policy (permissions) for all supporting services.

If you don't want to add permissions to all services, and just select permissions for certain services, consult the table below. The table contains a set of permissions that are required for all services (All monitored Amazon services) and, for each supporting service, a list of optional permissions specific to that service.

Example of JSON policy for one single service.

In this example, from the complete list of permissions you need to select

  • "apigateway:GET" for Amazon API Gateway
  • "cloudwatch:GetMetricData", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics", "sts:GetCallerIdentity", "tag:GetResources", "tag:GetTagKeys", and "ec2:DescribeAvailabilityZones" for All monitored Amazon services.

Enable monitoring

To enable monitoring for this service, you first need to integrate Dynatrace with Amazon Web Services:

Add the service to monitoring

In order to view the service metrics, you must add the service to monitoring in your Dynatrace environment.

Cloud-service monitoring consumption

Beginning in early 2021, all cloud services will consume Davis Data Units (DDUs). The amount of DDU consumption per service instance depends on the number of monitored metrics and their dimensions (each metric dimension results in the ingestion of 1 data point; 1 data point consumes 0.001 DDUs). For DDU consumption estimates per service instance (recommended metrics only, predefined dimensions, and assumed dimension values), see DDU consumption estimates for per cloud service instance.

Monitor resources based on tags

You can choose to monitor resources based on existing AWS tags, as Dynatrace automatically imports them from service instances. Nevertheless, the transition from AWS to Dynatrace tagging isn't supported for all AWS services. Expand the table below to see which supporting services are filtered by tagging.

To monitor resources based on tags

  1. Go to Settings > Cloud and virtualization > AWS and select the AWS instance.
  2. For Resource monitoring method, select Monitor resources based on tags.
  3. Enter the Key and Value.
  4. Select Save.

tags-aws

Configure service metrics

Once you add a service, Dynatrace starts automatically collecting a suite of metrics for this particular service. These are recommended metrics.

Recommended metrics:

  • Are enabled by default
  • Can't be disabled
  • Can have recommended dimensions (enabled by default, can't be disabled)
  • Can have optional dimensions (disabled by default, can be enabled)

Apart from the recommended metrics, most services have the possibility of enabling optional metrics.

Optional metrics:

  • Can be added and configured manually

View service metrics

Once you add the service to monitoring, you can view the service metrics in your Dynatrace environment either on your dashboard page or on the custom device overview page.

Import preset dashboards

Dynatrace provides preset AWS dashboards that you can import from GitHub to your environment's Dashboards page.
Note: To save a preset dashboard locally, create a new JSON file on your local machine and copy-paste the content of the JSON file from GitHub into the new file.
Once you save a preset dashboard locally, there are two ways to import it.

appsync

Available metrics

Name Description Unit Statistics Dimensions Recommended
ActiveConnections The number of concurrent WebSocket connections from clients to AWS AppSync in 1 minute Count Sum GraphQLAPIId ✔️
ActiveSubscriptions The number of concurrent subscriptions from clients in 1 minute Count Sum GraphQLAPIId ✔️
ConnectClientError The number of WebSocket connections that were rejected by AWS AppSync because of client-side errors Count Sum GraphQLAPIId ✔️
ConnectServerError The number of errors that originated from AWS AppSync while processing connections Count Sum GraphQLAPIId ✔️
ConnectSuccess The number of successful WebSocket connections to AWS AppSync Count Sum GraphQLAPIId ✔️
ConnectionDuration The amount of time that the connection stays open Milliseconds Multi GraphQLAPIId ✔️
DisconnectClientError The number of errors that originated from AWS AppSync when disconnecting WebSocket connections due to client-side errors Count Sum GraphQLAPIId ✔️
DisconnectServerError The number of errors that originated from AWS AppSync when disconnecting WebSocket connections while processing connections Count Sum GraphQLAPIId ✔️
DisconnectSuccess The number of successful WebSocket disconnections from AWS AppSync Count Sum GraphQLAPIId ✔️
Latency The time between when AWS AppSync receives a request from a client and when it returns a response to the client Milliseconds Multi GraphQLAPIId ✔️
PublishDataMessageClientError The number of subscription event messages that failed to publish because of client-side errors Count Sum GraphQLAPIId ✔️
PublishDataMessageServerError The number of errors that originated from AWS AppSync while publishing subscription event messages Count Sum GraphQLAPIId ✔️
PublishDataMessageSize The size of subscription event messages published Bytes Multi GraphQLAPIId ✔️
PublishDataMessageSize Bytes Sum GraphQLAPIId ✔️
PublishDataMessageSuccess The number of subscription event messages that were successfully published Count Sum GraphQLAPIId ✔️
SubscribeServerError The number of errors that originated from AWS AppSync while processing subscriptions Count Sum GraphQLAPIId ✔️
SubscribeSuccess The number of subscriptions that were successfully registered to AWS AppSync through WebSocket Count Sum GraphQLAPIId ✔️
UnsubscribeClientError The number of unsubscriptions that were rejected by AWS AppSync because of client-side errors Count Sum GraphQLAPIId ✔️
UnsubscribeServerError The number of errors that originated from AWS AppSync while processing unsubscriptions Count Sum GraphQLAPIId ✔️
UnsubscribeSuccess The number of unsubscriptions that were successfully processed from AWS AppSync Count Sum GraphQLAPIId ✔️
4XXError The number of client-side errors captured in a given period Count Sum GraphQLAPIId ✔️
5XXError The number of server-side errors captured in a given period Count Sum GraphQLAPIId ✔️

Limitations

While Dynatrace doesn't support WebSocket traffic, the AppSync integration shows the WebSocket URL as part of the properties for the custom devices that are created.