dt-obs-aws
AWS cloud resource monitoring including EC2, RDS, Lambda, ECS/EKS, VPC networking, load balancers, S3, DynamoDB, SQS/SNS, and cost optimization. Use when analyzing AWS infrastructure, resource inventory, security compliance, capacity planning, or cost savings. Trigger: "show EC2 instances", "find RD
By dynatrace · 1,904 installs
npx skills add dynatrace/dynatrace-for-ai --skill dt-obs-aws
Source repository · Upstream listing
AWS Cloud Infrastructure
Monitor and analyze AWS resources using Dynatrace Smartscape and DQL. Query AWS services, optimize costs, manage security, and plan capacity across your AWS infrastructure.
When to Use This Skill
Use this skill when the user needs to work with AWS resources in Dynatrace. Load the reference file for the task type:
Inventory: "Show me all EC2 instances in us east 1"
Network: "Find all resources in VPC vpc abc123"
Database: "List all RDS instances with Multi AZ enabled"
Serverless: "Show Lambda functions with VPC access"
Cost: "Find unattached EBS volumes for cost savings"
Security: "Identify publicly accessible databases"
Compliance: "Find resources missing Environment tags"
Capacity: "Analyze subnet IP utilization"
Troubleshoot: "Map load balancer to instances through target groups"
Problem Analysis: "What changed before this AWS problem?" / "What events affected this resource?"
Workload Context: "Is this instance behind a load balancer, in an EKS cluster, or managed by ECS?"
Events: "Have there been any recent events in AWS affecting this resource?"
Core Concepts
Entity Types
AWS resources use the AWS prefix and can be queried using the smartscapeNodes function. All AWS entities are automatically discovered and modeled in Dynatrace Smartscape.
Compute: AWS EC2 INSTANCE , AWS LAMBDA FUNCTION , AWS ECS CLUSTER , AWS ECS SERVICE , AWS EKS CLUSTER
Networking: AWS EC2 VPC , AWS EC2 SUBNET , AWS EC2 SECURITYGROUP , AWS EC2 NATGATEWAY , AWS EC2 VPCENDPOINT
Database: AWS RDS DBINSTANCE , AWS RDS DBCLUSTER , AWS DYNAMODB TABLE , AWS ELASTICACHE CACHECLUSTER
Storage: AWS S3 BUCKET , AWS EC2 VOLUME , AWS EFS FILESYSTEM
Load Balancing: AWS ELASTICLOADBALANCINGV2 LOADBALANCER , AWS ELASTICLOADBALANCINGV2 TARGETGROUP
Messaging: AWS SQS QUEUE , AWS SNS TOPIC , AWS EVENTS EVENTBUS , AWS MSK CLUSTER
Common AWS Fields
All AWS entities include:
aws.account.id AWS account identifier
aws.region AWS region (e.g., us east 1)
aws.resource.id Unique resource identifier
aws.resource.name Resource name
aws.arn Amazon Resource Name
aws.vpc.id VPC identifier (for VPC attached resources)
aws.subnet.id Subnet identifier
aws.availability zone Availability zone
aws.security group.id Security group IDs (array)
tags Resource tags (use tags[TagName] )
AWS Fields on Logs and Bizevents
AWS originated logs ( fetch logs ) carry these fields — no exploration needed:
aws.region , aws.account.id , aws.service , aws.log group , aws.log stream
Plus standard log fields: content , loglevel , timestamp , k8s. , dt.smartscape.
AWS originated bizevents ( fetch bizevents ) carry:
aws.region , aws.account.id , event.type , event.provider
Use filter isNotNull(aws.region) to scope to AWS originated records.
Relationship Types
AWS entities use these relationship types:
is attached to Exclusive attachment (e.g., volume to instance)
uses Dependency relationship (e.g., instance uses security group)
runs on Vertical relationship (e.g., instance runs on AZ)
is part of Composition (e.g., instance in cluster)
belongs to Aggregation (e.g., service belongs to cluster)
balances Load balancing (e.g., target group balances instances)
balanced by Inverse load balancing relationship (e.g., load balancer balanced by target group)
AWS Metric Key Naming Convention
Dynatrace ingests AWS CloudWatch metrics using this pattern:
The <service is the lowercase AWS service name, <MetricName is the CloudWatch metric name (case preserved), and <DimensionName is the CloudWatch dimension.
Examples: cloud.aws.ec2.CPUUtilization.By.InstanceId , cloud.aws.lambda.Invocations.By.FunctionName , cloud.aws.rds.CPUUtilization.By.DBInstanceIdentifier
Use timeseries , not fetch , for these metrics. Group by dt.smartscape source.id to split by entity.
→ See [references/metrics performance.md](references/metrics performance.md) for the complete metric catalog by service with DQL query templates.
Key Workflows
1. AWS Resource Discovery
Get all AWS resources by type:
Filter by account and region:
Using tags for filtering:
→ For complete resource inventory patterns, see [references/resource management.md](references/resource management.md)
2. VPC Networking Analysis
List all VPCs:
Find resources in a VPC:
Analyze security group usage:
→ For VPC networking, see [references/vpc networking security.md](references/vpc networking security.md)
→ For security group patterns, see [references/security compliance.md](references/security compliance.md)
3. Database Monitoring
List all RDS instances:
Find Multi AZ databases:
Group by engine type:
→ For database monitoring, see [references/database monitoring.md](references/database monitoring.md)
4. Serverless and Container Workloads
List Lambda functions:
Find ECS services in a cluster:
List EKS clusters:
→ For serverless, see [references/serverless containers.md](references/serverless containers.md)
→ For containers, see [references/serverless containers.md](references/serverless containers.md)
5. Load Balancer Topology
Complete load balancer to instance mapping:
→ For load balancing, see [references/load balancing api.md](references/load balancing api.md)
6. Cost Optimization
Find unattached EBS volumes:
Analyze EBS costs by type:
→ For cost optimization, see [references/cost optimization.md](references/cost optimization.md)
7. Security and Compliance
Find publicly accessible databases:
Security group blast radius:
→ For security, see [references/security compliance.md](references/security compliance.md)
8. Resource Ownership and Tagging
Find untagged resources:
Cost allocation by cost center:
→ For resource ownership, see [references/resource ownership.md](references/resource ownership.md)
Common Query Patterns
Pattern Template
Discovery smartscapeNodes "AWS " \ fieldsAdd <attrs \ filter <cond \ summarize <agg
Config parsing smartscapeNodes "AWS <T " \ parse aws.object, "JSON:awsjson" \ fieldsAdd f = awsjson[configuration][field]
Traversal smartscapeNodes "AWS <SRC " \ traverse "<rel ", "AWS <TGT "
Multi type smartscapeNodes "AWS T1", "AWS T2" \ filter <cond \ summarize count(), by: {type}
Best Practices
Query Optimization
1. Filter early by account and region
2. Use specific entity types (avoid "AWS " wildcards when possible)
3. Limit results with limit N for exploration
4. Use isNotNull() checks before accessing nested fields
Configuration Parsing
1. Always parse aws.object with JSON parser: parse aws.object, "JSON:awsjson"
2. Use consistent field naming: fieldsAdd configField = awsjson[configuration][field]
3. Check for null values after parsing
4. Use toString() for complex nested objects
Security Fields
1. Security group IDs are arrays use contains() or expand
2. Parse aws.object for detailed security context
3. Check publiclyAccessible , storageEncrypted , and similar flags
4. Validate IAM role assumptions
Tagging Strategy
1. Use tags[TagName] for filtering by specific tag value
2. tags is a JSON object, not an array — use isNull(tags) for untagged resources, never arraySize(tags)
3. Use isNull(tags[TagName]) to find resources missing a specific tag
4. Implement consistent tag naming conventions
5. Track tag coverage with summarize operations
Limitations and Notes
Smartscape Limitations
AWS object configuration requires parsing with parse aws.object, "JSON:awsjson"
AWS metrics are available as Dynatrace metrics using the cloud.aws. naming convention (see [AWS Metric Naming Convention]( aws metric naming convention))
Resource discovery depends on AWS integration configuration
Tag synchronization may have slight delays
Relationship Traversal
Use direction:backward for reverse relationships (e.g., target group → load balancer)
Use fieldsKeep to maintain important fields through traversal
Access traversal history with dt.traverse.history[ N]
Complex topologies may require multiple traverse operations
General Tips
Use getNodeName() for human readable resource names
Handle null values gracefully with isNotNull() and isNull()
Combine region and account filters for large environments
Use countDistinct() for unique resource counts
When to Load References
This skill uses progressive disclosure . Start here for 80% of use cases. Load reference files for detailed specifications when needed.
Load vpc networking security.md when:
Analyzing VPC topology and connectivity
Investigating security group configurations
Finding resources by security group
Troubleshooting network interface issues
Load database monitoring.md when:
Managing RDS instances and clusters
Analyzing database engine distributions
Checking Multi AZ configurations
Monitoring cache clusters
Load serverless containers.md when:
Working with Lambda functions
Analyzing ECS/EKS deployments
Investigating container networking
Planning serverless migrations
Load load balancing api.md when:
Mapping load balancer topologies
Analyzing target group health
Working with API Gateway
Configuring CloudFront
Load messaging event streaming.md when:
Managing SQS queues and SNS topics
Analyzing EventBridge event buses
Working with Kinesis or MSK
Monitoring Step Functions
Load resource management.md when:
Conducting resource audits
Analyzing tag compliance
Finding unattached resources
Planning regional distribution
Load cost optimization.md when:
Identifying cost savings opportunities
Analyzing storage costs
Finding unused resources
Optimizing instance types
Load capacity planning.md when:
Planning capacity expansions
Analyzing resource utilization
Monitoring subnet IP usage
Sizing auto scaling groups
Load security compliance.md when:
Conducting security audits
Checking encryption status
Analyzing IAM roles
Finding public resources
Load resource ownership.md when:
Implementing chargeback
Tracking resource ownership
Allocating costs by team
Managing multi account environments
Load events.md when:
Investigating what changed before or during a problem
Checking for recent CloudFormation stack deployments
Reviewing AWS Auto Scaling activity (scale in/scale out)
Checking AWS Health service events affecting a resource
Load workload detection.md when:
Determining how an EC2 instance is orchestrated (ECS, EKS, Batch, ASG, standalone)
Following a resolution path that depends on the workload pattern
Understanding the blast radius of an instance failure
References
[vpc networking security.md](references/vpc networking security.md) VPC infrastructure, security groups, and network connectivity
[database monitoring.md](references/database monitoring.md) RDS, DynamoDB, ElastiCache, and Redshift monitoring
[serverless containers.md](references/serverless containers.md) Lambda, ECS, EKS, and App Runner workloads
[load balancing api.md](references/load balancing api.md) Load balancers, API Gateway, and CloudFront
[messaging event streaming.md](references/messaging event streaming.md) SQS, SNS, EventBridge, Kinesis, and MSK
[resource management.md](references/resource management.md) Resource inventory and lifecycle management
[cost optimization.md](references/cost optimization.md) Cost savings and spending optimization
[capacity planning.md](references/capacity planning.md) Capacity analysis and growth planning
[security compliance.md](references/security compliance.md) Security configurations and compliance monitoring
[resource ownership.