使用 StatsD 检索自定义指标 - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 StatsD 检索自定义指标

您可以将 CloudWatch 代理和 StatsD 协议结合使用,以从应用程序或服务中检索附加的自定义指标。StatSD 是一种流行的开源解决方案,可以从各种应用程序中收集指标。StatSD 对于检测您自己的指标特别有用。有关将 CloudWatch 代理和 StatSD 结合使用的示例,请参阅如何使用 Amazon CloudWatch 代理更好地监控您的自定义应用程序指标

StatsD 在 Linux 服务器以及运行 Windows Server 的服务器上受支持。CloudWatch 支持以下 StatsD 格式:

MetricName:value|type|@sample_rate|#tag1: value,tag1...
  • MetricName – 一个没有冒号、竖线、# 字符或 @ 字符的字符串。

  • value – 它可以是整数或浮点数。

  • type – 指定 c 表示计数器,g 表示计量器,ms 表示计时器,h 表示直方图,s 表示集合。

  • sample_rate –(可选)一个介于 0 和 1 之间的浮点数(含)。仅用于计数器、直方图和计时器指标。默认值为 1(采样时间为 100%)。

  • tags –(可选)一个逗号分隔的标签列表。StatsD 标签类似于 CloudWatch 中的维度。对键/值标签使用冒号,例如 env:prod

您可以使用任何遵循此格式的 StatsD 客户端将指标发送到 CloudWatch 代理。有关一些可用 StatsD 客户端的更多信息,请参阅 GitHub 上的 StatsD 客户端页面

要收集这些自定义指标,请将 "statsd": {} 行添加到代理配置文件的 metrics_collected 部分。您可以手动添加此行。如果您使用向导创建配置文件,向导会为您完成此操作。有关更多信息,请参阅 创建 CloudWatch 代理配置文件

StatsD 默认配置适用于大多数用户。有一些可选字段,您可以根据需要将其添加到代理配置文件的 statsd 部分:

  • service_address – CloudWatch 代理应该侦听的服务地址。格式为 ip:port。如果您忽略了 IP 地址,则该代理将侦听所有可用接口。只有 UDP 格式受支持,因此您不需要指定 UDP 前缀。

    默认值为 :8125

  • metrics_collection_intervalStatsD 插件运行和收集指标的频率(秒)。默认值为 10 秒。范围为 1 – 172000。

  • metrics_aggregation_interval – CloudWatch 将指标聚合为单个数据点的频率(秒)。默认值为 60 秒。

    例如,如果 metrics_collection_interval 为 10,并且 metrics_aggregation_interval 为 60,则 CloudWatch 每 10 秒收集数据。在每分钟之后,来自该分钟的六个数据读数被聚合到单个数据点中,该数据点被发送到 CloudWatch。

    范围为 1 – 172000。将 metrics_aggregation_interval 设置为 0 会禁用 StatsD 指标的聚合。

  • allowed_pending_messages – 允许排队的 UDP 消息数量。当队列已满时,StatsD 服务器会开始丢弃数据包。默认值是 10000。

  • drop_original_metrics – 可选。如果您使用 metrics 部分中的 aggregation_dimensions 字段将指标以汇总为聚合结果,则默认情况下,代理会同时发送聚合指标和原始指标,原始指标是按维度的每个值分开的。如果您不希望将原始指标发送到 CloudWatch,则可以指定此参数和指标列表。同时指定了此参数的指标将不会将其各维度的指标报告给 CloudWatch,而只报告聚合指标。这可以减少代理要采集的指标数量,从而降低成本。

下面是代理配置文件的 statsd 部分的示例,使用默认端口、自定义集合和聚合间隔。

{ "metrics":{ "metrics_collected":{ "statsd":{ "service_address":":8125", "metrics_collection_interval":60, "metrics_aggregation_interval":300 } } } }

查看由 CloudWatch 代理导入的 StatsD 指标

将 StatsD 指标导入到 CloudWatch 后,您可以以时间序列图形的形式查看这些指标,并创建可监视这些指标的告警,并在它们超出指定的阈值时通知您。以下程序介绍了如何以时间序列图形的方式查看 StatsD 指标。有关设置告警的更多信息,请参阅 使用 Amazon CloudWatch 告警

在 CloudWatch 控制台中查看 StatsD 指标
  1. 通过 https://console.aws.amazon.com/cloudwatch/ 打开 CloudWatch 控制台。

  2. 在导航窗格中,选择指标

  3. 为该代理收集的指标选择命名空间。默认情况下,该命名空间为 CWAgent,但您可能已经在 CloudWatch 代理配置文件中指定了不同的命名空间。

  4. 选择指标维度(例如 Per-Instance Metrics(每个实例的指标))。

  5. All metrics 选项卡显示命名空间中该维度的所有指标。您可执行以下操作:

    1. 要为指标绘制图表,请选中该指标旁的复选框。要选择所有指标,请选中表的标题行中的复选框。

    2. 要对表进行排序,请使用列标题。

    3. 要按资源进行筛选,请选择资源 ID,然后选择 Add to search

    4. 要按指标进行筛选,请选择指标名称,然后选择 Add to search

  6. (可选)要将此图表添加到 CloudWatch 控制面板,请选择 Actions(操作),然后选择 Add to dashboard(添加到控制面板)