Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@opentelemetry/resource-detector-aws

Package Overview
Dependencies
Maintainers
3
Versions
139
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@opentelemetry/resource-detector-aws

OpenTelemetry SDK resource detector for AWS

  • 1.6.0
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
842K
decreased by-1.3%
Maintainers
3
Weekly downloads
 
Created
Source

OpenTelemetry Resource Detector for AWS

NPM Published Version Apache License

component owners: @carolabadeer

Resource detector for Amazon Web Services.

Status

MaturityComponent OwnerCompatibility
Stable@carolabadeerAPI 1.0+
SDK 1.0+

Installation

npm install --save @opentelemetry/resource-detector-aws

Usage

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 AttributeDescription
cloud.platformThe cloud platform. In this context, it's always "aws_elastic_beanstalk"
cloud.providerThe cloud provider. In this context, it's always "aws"
service.instance.idValue of deployment_id from config file environment.conf
service.nameThe service name. In this context, it's always "aws_elastic_beanstalk"
service.namespaceValue of environment_name from config file environment.conf
service.versionValue 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 AttributeDescription
cloud.account.idValue of accountId from /latest/dynamic/instance-identity/document request
cloud.availability_zoneValue of availabilityZone from /latest/dynamic/instance-identity/document request
cloud.platformThe cloud platform. In this context, it's always "aws_ec2"
cloud.providerThe cloud provider. In this context, it's always "aws"
cloud.regionValue of region from /latest/dynamic/instance-identity/document request
host.idValue of instanceId from /latest/dynamic/instance-identity/document request
host.nameValue of hostname from /latest/dynamic/instance-identity/document request
host.typeValue of instanceType from /latest/dynamic/instance-identity/document request

AWS ECS Detector

Populates container for containers running on Amazon ECS.

Resource AttributeDescription
aws.ecs.container.arnValue 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.arnValue 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.launchtypeValue of LaunchType from ECS_CONTAINER_METADATA_URI_V4/task request
aws.ecs.task.arnValue of TaskARN from ECS_CONTAINER_METADATA_URI_V4/task request
aws.ecs.task.familyValue of Family from ECS_CONTAINER_METADATA_URI_V4/task request
aws.ecs.task.revisionValue of Revision from ECS_CONTAINER_METADATA_URI_V4/task request
aws.log.group.arnsValue 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.namesValue of awslogs-group from logs metadata. Logs metadata values come from LogOptions on ECS_CONTAINER_METADATA_URI_V4 request
aws.log.stream.arnsValue 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.namesValue of awslogs-stream from logs metadata
cloud.account.idParsed value from the TaskARN
cloud.availability_zoneValue of AvailabilityZone from ECS_CONTAINER_METADATA_URI_V4/task request. This value is not available in all Fargate runtimes
cloud.platformThe cloud platform. In this context, it's always "aws_ecs"
cloud.providerThe cloud provider. In this context, it's always "aws"
cloud.regionParsed value from the TaskARN
cloud.resource_idValue of ContainerARN from ECS_CONTAINER_METADATA_URI_V4/task request
container.idValue from file /proc/self/cgroup
container.nameThe 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 AttributeDescription
cloud.platformThe cloud platform. In this context, it's always "aws_eks"
cloud.providerThe cloud provider. In this context, it's always "aws"
container.idValue from config file /proc/self/cgroup
k8s.cluster.nameValue 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 AttributeDescription
cloud.platformThe cloud platform. In this context, it's always "aws_lambda"
cloud.providerThe cloud provider. In this context, it's always "aws"
cloud.regionValue of Process Environment Variable AWS_REGION
faas.nameValue of Process Environment Variable AWS_LAMBDA_FUNCTION_NAME
faas.versionValue of Process Environment Variable AWS_LAMBDA_FUNCTION_VERSION

License

Apache 2.0 - See LICENSE for more information.

Keywords

FAQs

Package last updated on 27 Aug 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc