自定义指标配置#
Angie 可以在共享内存中收集自定义数值指标,并通过实时 统计 API 在 /status/http/metric_zones/ 公开它们。这由 Metric 模块提供。
备注
本指南介绍 HTTP 流量的指标。对于 TCP 和 UDP 流量,请参阅 Stream
Metric 模块,其区域在 /status/stream/metric_zones/ 公开。
配置步骤#
在
http块中定义指标区域:metric_zone 创建具有单个指标模式的区域。
metric_complex_zone 创建具有多个命名指标的区域。
使用 metric 指令在请求处理中更新指标。 使用
key=value对(两者都是 复杂值),并使用on=选择更新阶段(request、response或end)。使用
location公开 API:location /status/ { api /status/http/metric_zones/; }
示例#
统计每个主机的请求数并在 API 中公开指标:
http {
metric_zone requests:128k count;
server {
listen 80;
location / {
metric requests $host=1;
}
location /status/ {
api /status/http/metric_zones/;
}
}
}
注意事项#
如果在区域上设置了
expire=on且共享内存已满,则最近最少使用的条目将过期。如果设置了expire=off,新的更新将被丢弃,discarded计数器会增长。如果设置了
discard_key,过期条目的指标将在 API 输出中聚合到该键下。键和值限制为 255 字节;较长的键在 API 中会被截断。
空值被视为
0,没有前导数字的非空值被视为1。