使用 StatsD 检索自定义指标
您可以将 CloudWatch 代理和 StatsD
协议结合使用从应用程序或服务中检索自定义指标。Linux 服务器和运行 Windows Server 的服务器支持 StatsD
。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 地址,则该代理将侦听所有可用接口。只有 UDP 格式受支持,因此您不需要指定 UDP 前缀。ip
:port
默认值为
:8125
。 -
metrics_collection_interval
–StatsD
插件运行和收集指标的频率(秒)。默认值为 10 秒。范围为 1–172,000。 -
metrics_aggregation_interval
– CloudWatch 将指标聚合为单个数据点的频率(秒)。默认值为 60 秒。例如,如果
metrics_collection_interval
为 10,并且metrics_aggregation_interval
为 60,则 CloudWatch 每 10 秒收集数据。在每分钟之后,来自该分钟的六个数据读数被聚合到单个数据点中,该数据点被发送到 CloudWatch。范围为 0–172,000。将
metrics_aggregation_interval
设置为 0 会禁用StatsD
指标的聚合。
下面是代理配置文件的 statsd 部分的示例,使用默认端口、自定义集合和聚合间隔。
{ "metrics":{ "metrics_collected":{ "statsd":{ "service_address":":8125", "metrics_collection_interval":60, "metrics_aggregation_interval":300 } } } }