文档文档

Amazon CloudWatch Metric Streams 输入插件

此插件监听 Cloudwatch 指标流通过 HTTP 发送的指标,并实现所需的 响应规范

使用此插件可能会产生费用,请参阅 CloudWatch 定价中的指标流示例

引入于: Telegraf v1.24.0 标签: cloud 操作系统支持: all

服务输入

此插件是服务输入。普通插件收集由 interval 设置确定的指标。服务插件启动一个服务来监听并等待指标或事件发生。服务插件与普通插件的两个主要区别是:

  1. 全局或插件特定的 interval 设置可能不适用
  2. --test--test-wait--once 的 CLI 选项可能不会为此插件生成输出

全局配置选项

插件支持其他全局和插件配置设置,用于修改指标、标签和字段,创建别名以及配置插件顺序等任务。更多详情请参阅 CONFIGURATION.md

配置

# AWS Metric Streams listener
[[inputs.cloudwatch_metric_streams]]
  ## Address and port to host HTTP listener on
  service_address = ":443"

  ## Paths to listen to.
  # paths = ["/telegraf"]

  ## maximum duration before timing out read of the request
  # read_timeout = "10s"

  ## maximum duration before timing out write of the response
  # write_timeout = "10s"

  ## Maximum allowed http request body size in bytes.
  ## 0 means to use the default of 524,288,000 bytes (500 mebibytes)
  # max_body_size = "500MB"

  ## Optional access key for Firehose security.
  # access_key = "test-key"

  ## An optional flag to keep Metric Streams metrics compatible with
  ## CloudWatch's API naming
  # api_compatability = false

  ## Set one or more allowed client CA certificate file names to
  ## enable mutually authenticated TLS connections
  # tls_allowed_cacerts = ["/etc/telegraf/clientca.pem"]

  ## Add service certificate and key
  # tls_cert = "/etc/telegraf/cert.pem"
  # tls_key = "/etc/telegraf/key.pem"

故障排除

插件有自己的内部指标用于故障排除

  • 请求已收到
    • 监听器收到的请求数量。
  • 写入已处理
    • 监听器处理的写入数量。
  • 无效请求
    • 无效请求的数量,按错误代码作为标签进行分隔。
  • 请求时间
    • 以 ns 为单位测量的请求持续时间。
  • 最大年龄
    • 在此间隔内指标的最大年龄。这对于抵消基于时间戳的指标管道中的任何滞后或延迟测量非常有用。
  • 最小年龄
    • 此间隔内指标的最小年龄。

特定的错误将被记录,并且错误将返回给 AWS。

有关更多帮助,请查看 Firehose 故障排除页面。

Metrics

AWS 发送的指标是 Base64 编码的 JSON 数据块。下面的 JSON 块是 recorddata 字段中的 Base64 解码数据。每个 record 的每个 data 字段可以包含多个 JSON 块,并且每个 record 可以包含多个 record 字段。

解码后的指标可能如下所示

{
    "metric_stream_name": "sandbox-dev-cloudwatch-metric-stream",
    "account_id": "541737779709",
    "region": "us-west-2",
    "namespace": "AWS/EC2",
    "metric_name": "CPUUtilization",
    "dimensions": {
        "InstanceId": "i-0efc7ghy09c123428"
    },
    "timestamp": 1651679580000,
    "value": {
        "max": 10.011666666666667,
        "min": 10.011666666666667,
        "sum": 10.011666666666667,
        "count": 1
    },
    "unit": "Percent"
}

标签

dimensions 列表中的所有标签都将作为标签添加到指标中。

account_idregion 标签也会添加到每个指标中。

测量和字段

指标名称是 namespacemetric_name 的组合,用 _ 分隔并小写。

字段是 value 列表中的每个聚合。

这些字段可选地重命名,以匹配 CloudWatch API,从而更容易从 API 过渡到 Metric Streams。这依赖于在配置中设置 api_compatability 标志。

应用的戳是指标中的戳,由于 CloudWatch 延迟,通常比处理时间晚 3-5 分钟。

示例输出

基于上述 JSON 和兼容性标志的示例输出是

标准 Metric Streams 格式

aws_ec2_cpuutilization,accountId=541737779709,region=us-west-2,InstanceId=i-0efc7ghy09c123428 max=10.011666666666667,min=10.011666666666667,sum=10.011666666666667,count=1 1651679580000

API 兼容格式

aws_ec2_cpuutilization,accountId=541737779709,region=us-west-2,InstanceId=i-0efc7ghy09c123428 maximum=10.011666666666667,minimum=10.011666666666667,sum=10.011666666666667,samplecount=1 1651679580000

此页面是否有帮助?

感谢您的反馈!


InfluxDB 3.8 新特性

InfluxDB 3.8 和 InfluxDB 3 Explorer 1.6 的主要增强功能。

查看博客文章

InfluxDB 3.8 现已适用于 Core 和 Enterprise 版本,同时发布了 InfluxDB 3 Explorer UI 的 1.6 版本。本次发布着重于操作成熟度,以及如何更轻松地部署、管理和可靠地运行 InfluxDB。

更多信息,请查看

InfluxDB Docker 的 latest 标签将指向 InfluxDB 3 Core

在 **2026 年 2 月 3 日**,InfluxDB Docker 镜像的 latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。

如果使用 Docker 来安装和运行 InfluxDB,latest 标签将指向 InfluxDB 3 Core。为避免意外升级,请在您的 Docker 部署中使用特定的版本标签。例如,如果使用 Docker 运行 InfluxDB v2,请将 latest 版本标签替换为 Docker pull 命令中的特定版本标签 — 例如

docker pull influxdb:2