Настройка пользовательских метрик#

Angie может собирать пользовательские числовые метрики в разделяемой памяти и выводить их через API статистики по адресу /status/http/metric_zones/. Это обеспечивает модуль Metric.

Шаги настройки#

  1. Создайте зону метрик в блоке http:

    • metric_zone создает зону с одной метрикой.

    • metric_complex_zone создает зону с несколькими именованными метриками.

  2. Обновляйте метрики при обработке запросов директивой metric. Используйте пару key=value (оба — комплексные значения), и выберите этап обновления параметром on= (request, response или end).

  3. Откройте 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.