ec2

package
v1.19.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 19, 2021 License: MIT Imports: 15 Imported by: 0

README

AWS EC2 Metadata Processor Plugin

AWS EC2 Metadata processor plugin appends metadata gathered from AWS IMDS to metrics associated with EC2 instances.

Configuration

[[processors.aws_ec2]]
  ## Available tags:
  ## * accountId
  ## * architecture
  ## * availabilityZone
  ## * billingProducts
  ## * imageId
  ## * instanceId
  ## * instanceType
  ## * kernelId
  ## * pendingTime
  ## * privateIp
  ## * ramdiskId
  ## * region
  ## * version
  imds_tags = []

  ## EC2 instance tags retrieved with DescribeTags action.
  ## In case tag is empty upon retrieval it's omitted when tagging metrics.
  ## Note that in order for this to work, role attached to EC2 instance or AWS
  ## credentials available from the environment must have a policy attached, that
  ## allows ec2:DescribeTags.
  ##
  ## For more information see:
  ## https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeTags.html
  ec2_tags = []

  ## Timeout for http requests made by against aws ec2 metadata endpoint.
  timeout = "10s"

  ## ordered controls whether or not the metrics need to stay in the same order
  ## this plugin received them in. If false, this plugin will change the order
  ## with requests hitting cached results moving through immediately and not
  ## waiting on slower lookups. This may cause issues for you if you are
  ## depending on the order of metrics staying the same. If so, set this to true.
  ## Keeping the metrics ordered may be slightly slower.
  ordered = false

  ## max_parallel_calls is the maximum number of AWS API calls to be in flight
  ## at the same time.
  ## It's probably best to keep this number fairly low.
  max_parallel_calls = 10

Example

Append accountId and instanceId to metrics tags:

[[processors.aws_ec2]]
  tags = [ "accountId", "instanceId"]
- cpu,hostname=localhost time_idle=42
+ cpu,hostname=localhost,accountId=123456789,instanceId=i-123456789123 time_idle=42

Documentation

Index

Constants

View Source
const (
	DefaultMaxOrderedQueueSize = 10_000
	DefaultMaxParallelCalls    = 10
	DefaultTimeout             = 10 * time.Second
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AwsEc2Processor

type AwsEc2Processor struct {
	ImdsTags         []string        `toml:"imds_tags"`
	EC2Tags          []string        `toml:"ec2_tags"`
	Timeout          config.Duration `toml:"timeout"`
	Ordered          bool            `toml:"ordered"`
	MaxParallelCalls int             `toml:"max_parallel_calls"`

	Log telegraf.Logger `toml:"-"`
	// contains filtered or unexported fields
}

func (*AwsEc2Processor) Add

func (*AwsEc2Processor) Description

func (r *AwsEc2Processor) Description() string

func (*AwsEc2Processor) Init

func (r *AwsEc2Processor) Init() error

func (*AwsEc2Processor) SampleConfig

func (r *AwsEc2Processor) SampleConfig() string

func (*AwsEc2Processor) Start

func (r *AwsEc2Processor) Start(acc telegraf.Accumulator) error

func (*AwsEc2Processor) Stop

func (r *AwsEc2Processor) Stop() error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL