@opentelemetry/resource-detector-aws v2.2.0
OpenTelemetry Resource Detector for AWS
component owners: N/A
Resource detector for Amazon Web Services.
Status
| Maturity | Component Owner | Compatibility |
|---|---|---|
| Unmaintained | N/A | API 1.0+SDK 1.0+ |
Installation
npm install --save @opentelemetry/resource-detector-awsUsage
import { detectResources } from '@opentelemetry/resources';
import { awsEc2Detector } from '@opentelemetry/resource-detector-aws'
const resource = await detectResources({
detectors: [awsEc2Detector],
})
const tracerProvider = new NodeTracerProvider({ resource });Available detectors
This package uses @opentelemetry/semantic-conventions version 1.22+, which implements Semantic Convention Version 1.7.0
AWS Beanstalk Detector
Populates service for processes running on AWS Elastic Beanstalk
| Resource Attribute | Description |
|---|---|
| cloud.platform | The cloud platform. In this context, it's always "aws_elastic_beanstalk" |
| cloud.provider | The cloud provider. In this context, it's always "aws" |
| service.instance.id | Value of deployment_id from config file environment.conf |
| service.name | The service name. In this context, it's always "aws_elastic_beanstalk" |
| service.namespace | Value of environment_name from config file environment.conf |
| service.version | Value of version_label from config file environment.conf |
AWS EC2 Detector
Populates cloud and host for processes running on Amazon EC2, including abstractions such as ECS on EC2. Notably, it does not populate anything on AWS Fargate.
| Resource Attribute | Description |
|---|---|
| cloud.account.id | Value of accountId from /latest/dynamic/instance-identity/document request |
| cloud.availability_zone | Value of availabilityZone from /latest/dynamic/instance-identity/document request |
| cloud.platform | The cloud platform. In this context, it's always "aws_ec2" |
| cloud.provider | The cloud provider. In this context, it's always "aws" |
| cloud.region | Value of region from /latest/dynamic/instance-identity/document request |
| host.id | Value of instanceId from /latest/dynamic/instance-identity/document request |
| host.name | Value of hostname from /latest/dynamic/instance-identity/document request |
| host.type | Value of instanceType from /latest/dynamic/instance-identity/document request |
AWS ECS Detector
Populates container for containers running on Amazon ECS.
| Resource Attribute | Description |
|---|---|
| aws.ecs.container.arn | Value of ContainerARN from the request to the metadata Uri. The Metadata Uri is stored on the Environment Variable ECS_CONTAINER_METADATA_URI_V4 |
| aws.ecs.cluster.arn | Value in the format ${baseArn}:cluster/${cluster}, with baseArn and cluster from a ECS_CONTAINER_METADATA_URI_V4/task request, with values from TaskARN and Cluster respectively |
| aws.ecs.launchtype | Value of LaunchType from ECS_CONTAINER_METADATA_URI_V4/task request |
| aws.ecs.task.arn | Value of TaskARN from ECS_CONTAINER_METADATA_URI_V4/task request |
| aws.ecs.task.family | Value of Family from ECS_CONTAINER_METADATA_URI_V4/task request |
| aws.ecs.task.revision | Value of Revision from ECS_CONTAINER_METADATA_URI_V4/task request |
| aws.log.group.arns | Value on format arn:aws:logs:${logsRegion}:${awsAccount}:log-group:${logsGroupName}, with logsRegions and logsGroupName from logs metadata, values of awslogs-region and awslogs-group respectively, and awsAccount parsed value from the TaskARN. Logs metadata values come from LogOptions on ECS_CONTAINER_METADATA_URI_V4 request |
| aws.log.group.names | Value of awslogs-group from logs metadata. Logs metadata values come from LogOptions on ECS_CONTAINER_METADATA_URI_V4 request |
| aws.log.stream.arns | Value on format arn:aws:logs:${logsRegion}:${awsAccount}:log-group:${logsGroupName}:log-stream:${logsStreamName}, with logsRegions, logsGroupName and logsStreamName from logs metadata, values of awslogs-region, awslogs-group and awslogs-stream respectively, and awsAccount parsed value from the TaskARN |
| aws.log.stream.names | Value of awslogs-stream from logs metadata |
| cloud.account.id | Parsed value from the TaskARN |
| cloud.availability_zone | Value of AvailabilityZone from ECS_CONTAINER_METADATA_URI_V4/task request. This value is not available in all Fargate runtimes |
| cloud.platform | The cloud platform. In this context, it's always "aws_ecs" |
| cloud.provider | The cloud provider. In this context, it's always "aws" |
| cloud.region | Parsed value from the TaskARN |
| cloud.resource_id | Value of ContainerARN from ECS_CONTAINER_METADATA_URI_V4/task request |
| container.id | Value from file /proc/self/cgroup |
| container.name | The hostname of the operating system |
AWS EKS Detector
Populates container and k8s.cluster_name for containers running on Amazon EKS.
k8s.cluster_name is not always available depending on the configuration of CloudWatch monitoring for the EKS cluster.
| Resource Attribute | Description |
|---|---|
| cloud.platform | The cloud platform. In this context, it's always "aws_eks" |
| cloud.provider | The cloud provider. In this context, it's always "aws" |
| container.id | Value from config file /proc/self/cgroup |
| k8s.cluster.name | Value of cluster.name from /api/v1/namespaces/amazon-cloudwatch/configmaps/cluster-info request |
AWS Lambda Detector
Populates faas and cloud for functions running on AWS Lambda.
faas.id is currently not populated as it is not provided by the runtime at startup.
| Resource Attribute | Description |
|---|---|
| cloud.platform | The cloud platform. In this context, it's always "aws_lambda" |
| cloud.provider | The cloud provider. In this context, it's always "aws" |
| cloud.region | Value of Process Environment Variable AWS_REGION |
| faas.name | Value of Process Environment Variable AWS_LAMBDA_FUNCTION_NAME |
| faas.version | Value of Process Environment Variable AWS_LAMBDA_FUNCTION_VERSION |
Useful links
- For more information on OpenTelemetry, visit: https://opentelemetry.io/
- For more about OpenTelemetry JavaScript: https://github.com/open-telemetry/opentelemetry-js
- For help or feedback on this project, join us in GitHub Discussions
License
Apache 2.0 - See LICENSE for more information.
8 months ago
11 months ago
11 months ago
9 months ago
12 months ago
5 months ago
10 months ago
6 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
4 years ago
5 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago