Настройка пользовательских метрик#
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).Откройте API через
location: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.