Dynatrace ingests metrics for multiple preselected namespaces, including Amazon Kinesis. You can view metrics for each service instance, split metrics into multiple dimensions, and create custom charts that you can pin to your dashboards.
To enable monitoring for this service, you need
ActiveGate version 1.181+, as follows:
For Dynatrace SaaS deployments, you need an Environment ActiveGate or a Multi-environment ActiveGate.
For Dynatrace Managed deployments, you can use any kind of ActiveGate.
For role-based access (whether in a SaaS or Managed deployment), you need an Environment ActiveGate installed on an Amazon EC2 host.
Dynatrace version 1.182+
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.
{"Version": "2012-10-17","Statement": [{"Sid": "VisualEditor0","Effect": "Allow","Action": ["acm-pca:ListCertificateAuthorities","apigateway:GET","apprunner:ListServices","appstream:DescribeFleets","appsync:ListGraphqlApis","athena:ListWorkGroups","autoscaling:DescribeAutoScalingGroups","cloudformation:ListStackResources","cloudfront:ListDistributions","cloudhsm:DescribeClusters","cloudsearch:DescribeDomains","cloudwatch:GetMetricData","cloudwatch:GetMetricStatistics","cloudwatch:ListMetrics","codebuild:ListProjects","datasync:ListTasks","dax:DescribeClusters","directconnect:DescribeConnections","dms:DescribeReplicationInstances","dynamodb:ListTables","dynamodb:ListTagsOfResource","ec2:DescribeAvailabilityZones","ec2:DescribeInstances","ec2:DescribeNatGateways","ec2:DescribeSpotFleetRequests","ec2:DescribeTransitGateways","ec2:DescribeVolumes","ec2:DescribeVpnConnections","ecs:ListClusters","eks:ListClusters","elasticache:DescribeCacheClusters","elasticbeanstalk:DescribeEnvironmentResources","elasticbeanstalk:DescribeEnvironments","elasticfilesystem:DescribeFileSystems","elasticloadbalancing:DescribeInstanceHealth","elasticloadbalancing:DescribeListeners","elasticloadbalancing:DescribeLoadBalancers","elasticloadbalancing:DescribeRules","elasticloadbalancing:DescribeTags","elasticloadbalancing:DescribeTargetHealth","elasticmapreduce:ListClusters","elastictranscoder:ListPipelines","es:ListDomainNames","events:ListEventBuses","firehose:ListDeliveryStreams","fsx:DescribeFileSystems","gamelift:ListFleets","glue:GetJobs","inspector:ListAssessmentTemplates","kafka:ListClusters","kinesis:ListStreams","kinesisanalytics:ListApplications","kinesisvideo:ListStreams","lambda:ListFunctions","lambda:ListTags","lex:GetBots","logs:DescribeLogGroups","mediaconnect:ListFlows","mediaconvert:DescribeEndpoints","mediapackage-vod:ListPackagingConfigurations","mediapackage:ListChannels","mediatailor:ListPlaybackConfigurations","opsworks:DescribeStacks","qldb:ListLedgers","rds:DescribeDBClusters","rds:DescribeDBInstances","rds:DescribeEvents","rds:ListTagsForResource","redshift:DescribeClusters","robomaker:ListSimulationJobs","route53:ListHostedZones","route53resolver:ListResolverEndpoints","s3:ListAllMyBuckets","sagemaker:ListEndpoints","sns:ListTopics","sqs:ListQueues","storagegateway:ListGateways","sts:GetCallerIdentity","swf:ListDomains","tag:GetResources","tag:GetTagKeys","transfer:ListServers","workmail:ListOrganizations","workspaces:DescribeWorkspaces"],"Resource": "*"}]}
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 AWS cloud services and, for each supporting service, a list of optional permissions specific to that service.
"cloudwatch:GetMetricData"
"cloudwatch:GetMetricStatistics"
"cloudwatch:ListMetrics"
"sts:GetCallerIdentity"
"tag:GetResources"
"tag:GetTagKeys"
"ec2:DescribeAvailabilityZones"
cloudwatch:GetMetricData
,cloudwatch:GetMetricStatistics
,cloudwatch:ListMetrics
,sts:GetCallerIdentity
,tag:GetResources
,tag:GetTagKeys
,ec2:DescribeAvailabilityZones
acm-pca:ListCertificateAuthorities
apigateway:GET
apprunner:ListServices
appstream:DescribeFleets
appsync:ListGraphqlApis
athena:ListWorkGroups
rds:DescribeDBClusters
autoscaling:DescribeAutoScalingGroups
autoscaling:DescribeAutoScalingGroups
cloudfront:ListDistributions
cloudhsm:DescribeClusters
cloudsearch:DescribeDomains
codebuild:ListProjects
eks:ListClusters
datasync:ListTasks
dax:DescribeClusters
dms:DescribeReplicationInstances
rds:DescribeDBClusters
directconnect:DescribeConnections
dynamodb:ListTables
dynamodb:ListTables
,dynamodb:ListTagsOfResource
ec2:DescribeVolumes
ec2:DescribeVolumes
ec2:DescribeInstances
ec2:DescribeSpotFleetRequests
ecs:ListClusters
ecs:ListClusters
elasticache:DescribeCacheClusters
elasticbeanstalk:DescribeEnvironments
elasticfilesystem:DescribeFileSystems
elasticmapreduce:ListClusters
es:ListDomainNames
elastictranscoder:ListPipelines
elasticloadbalancing:DescribeInstanceHealth
,elasticloadbalancing:DescribeListeners
,elasticloadbalancing:DescribeLoadBalancers
,elasticloadbalancing:DescribeRules
,elasticloadbalancing:DescribeTags
,elasticloadbalancing:DescribeTargetHealth
events:ListEventBuses
fsx:DescribeFileSystems
gamelift:ListFleets
glue:GetJobs
inspector:ListAssessmentTemplates
kafka:ListClusters
kinesisanalytics:ListApplications
firehose:ListDeliveryStreams
kinesis:ListStreams
kinesisvideo:ListStreams
lambda:ListFunctions
lambda:ListFunctions
,lambda:ListTags
lex:GetBots
elasticloadbalancing:DescribeInstanceHealth
,elasticloadbalancing:DescribeListeners
,elasticloadbalancing:DescribeLoadBalancers
,elasticloadbalancing:DescribeRules
,elasticloadbalancing:DescribeTags
,elasticloadbalancing:DescribeTargetHealth
logs:DescribeLogGroups
mediaconnect:ListFlows
mediaconvert:DescribeEndpoints
mediapackage:ListChannels
mediapackage-vod:ListPackagingConfigurations
mediatailor:ListPlaybackConfigurations
ec2:DescribeNatGateways
rds:DescribeDBClusters
opsworks:DescribeStacks
qldb:ListLedgers
rds:DescribeDBInstances
rds:DescribeDBInstances
,rds:DescribeEvents
,rds:ListTagsForResource
redshift:DescribeClusters
robomaker:ListSimulationJobs
route53:ListHostedZones
route53resolver:ListResolverEndpoints
s3:ListAllMyBuckets
s3:ListAllMyBuckets
sagemaker:ListEndpoints
sagemaker:ListEndpoints
sns:ListTopics
sqs:ListQueues
storagegateway:ListGateways
swf:ListDomains
transfer:ListServers
ec2:DescribeTransitGateways
ec2:DescribeVpnConnections
workmail:ListOrganizations
workspaces:DescribeWorkspaces
Example of JSON policy for one single service.
{"Version": "2012-10-17","Statement": [{"Sid": "VisualEditor0","Effect": "Allow","Action": ["apigateway:GET","cloudwatch:GetMetricData","cloudwatch:GetMetricStatistics","cloudwatch:ListMetrics","sts:GetCallerIdentity","tag:GetResources","tag:GetTagKeys","ec2:DescribeAvailabilityZones"],"Resource": "*"}]}
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 AWS cloud services.To learn how to enable service monitoring, see Enable service monitoring.
You can view the service metrics in your Dynatrace environment either on the custom device overview page or on your Dashboards page.
To access the custom device overview page
You can also view metrics in the Dynatrace web UI on dashboards. There is no preset dashboard available for this service, but you can create your own dashboard.
To check the availability of preset dashboards for each AWS service, see the list below.
Application
is the main dimension.
Dropped
statusOK
statusOK
statusProcessingFailed
statusOK
status1
. Every failed delivery attempt is marked with 0
.DeliveryStreamName
is the main dimension.
COPY
commands over the sum of all Amazon Redshift COPY
commandsDescribeDeliveryStream
operation, measured over the specified time periodDescribeDeliveryStream
requestsListDeliveryStream
operation, measured over the specified time periodListFirehose
requestsPutRecordBatch
over the specified time periodPutRecordBatch
operation, measured over the specified time periodPutRecordBatch
operationsPutRecordBatch
requestsPutRecord
over the specified time periodPutRecord
operation, measured over the specified time periodPutRecord
requests, which is equal to the total number of records from PutRecord
operationsDescribeStream
operation is throttled when the data source is a Kinesis data streamGetRecords
operation is throttled when the data source is a Kinesis data streamGetShardIterator
operation is throttled when the data source is a Kinesis data streamUpdateDeliveryStream
operation, measured over the specified time periodUpdateDeliveryStream
requestsStreamName
is the main dimension.
GetRecords
operation for the stream in the specified time period.GetRecords
calls made against a Kinesis stream, measured over the specified time period. Age is the difference between the current time and when the last record of the GetRecords
call was written to the stream. The minimum and maximum statistics can be used to track the progress of Kinesis consumer applications. A value of 0
indicates that the records being read are completely caught up with the stream.GetRecords
operation for the stream in the specified time period.GetRecords
operations per stream, measured over the specified time periodPutRecord
and PutRecords
operations. Minimum, maximum, and average statistics represent the bytes in a single put operation for the stream in the specified time period.PutRecord
and PutRecords
operations. Minimum, maximum, and average statistics represent the records in a single put operation for the stream in the specified time period.GetRecords
calls made against a shard, measured over the specified time period. Age is the difference between the current time and when the last record of the GetRecords
call was written to the stream. The minimum and maximum statistics can be used to track the progress of Kinesis consumer applications. A value of 0
indicates that the records being read are completely caught up with the stream.GetRecords
operation or published in a single SubscribeToShard
event for the shard in the specified time period.GetRecords
operation or published in a single SubscribeToShard
event for the shard in the specified time period.PutRecord
operation over the specified time periodPutRecord
operation, measured over the specified time periodPutRecord
operations per Kinesis stream, measured over the specified time period. Average reflects the percentage of successful writes to a stream.PutRecords
operation over the specified time periodPutRecords
operation, measured over the specified time periodPutRecords
operation per Kinesis stream, measured over the specified time periodPutRecords
operations where at least one record succeeded, per Kinesis stream, measured over the specified time periodGetRecords
calls throttled for the stream over the specified time periodSubscribeToShard
event was written to the streamPutRecord
and PutRecords
operations.StreamName
is the main dimension.
GetHLSMasterPlaylist
API calls for the given stream nameGetHLSMasterPlaylist
API requests for a given stream1
being the value for every successful request, and 0
the value for every failureGetHLSMediaPlaylist
API calls for the given stream nameGetHLSMediaPlaylist
API requests for a given stream1
being the value for every successful request, and 0
the value for every failureGetHLSStreamingSessionURL
API calls for the given stream nameGetHLSStreamingSessionURL
API requests for a given stream1
being the value for every successful request, and 0
the value for every failureGetMP4InitFragment
API calls for the given stream nameGetMP4InitFragment
API requests for a given stream1
being the value for every successful request, and 0
the value for every failureGetMP4MediaFragment
API calls for the given stream nameGetMP4MediaFragment
API for a given streamGetMP4MediaFragment
API requests for a given stream1
being the value for every successful request, and 0
the value for every failureGetMediaForFragmentList
API for a given streamGetMediaForFragmentList
API for a given streamGetMediaForFragmentList
API for a given streamGetMediaForFragmentList
API requests for a given stream1
being the value for every successful request, and 0
the value for every failureGetMedia
API for a given streamGetMedia
for the streamGetMedia
on the given streamGetMedia
API requests for a given stream1
being the value for every successful request, and 0
the value for every failureListFragments
API calls for the given stream nameBuffering ACK
is sent for the fragmentPutMedia
connection for the streamPutMedia
for the streamPutMedia
for the streamPutMedia
for the streamPutMedia
for the streamInletService
while establishing the connectionPersisted ACK
is sent for the fragmentReceived ACK
is sent for the fragmentPutMedia
API requests for a given stream1
being the value for every successful request, and 0
the value for every failure