accounting_interval

Директива `accounting_interval` задаёт период времени для агрегирования метрик трафика в модуле учёта трафика NGINX.

Синтаксисaccounting_interval time;
По умолчаниюnone
Контекстstream
Аргументы1

Описание

Директива accounting_interval используется в модуле учёта трафика NGINX для определения периода времени, в пределах которого агрегируются метрики входящего и исходящего трафика. Она помогает при мониторинге и анализе трафика, генерируя события через заданные интервалы и позволяя системным администраторам эффективно отслеживать метрики в реальном времени без чрезмерного потребления ресурсов. Аргумент этой директивы — продолжительность, указанная в секундах, по истечении которой модуль может выполнять ротацию и экспортировать метрики в журналы или в удалённые системы логирования. Такая периодичность критически важна для приложений с переменной нагрузкой, поскольку позволяет своевременно собирать данные без создания значительной нагрузки.

Правильная настройка accounting_interval необходима для эффективного мониторинга. Например, более короткие интервалы дают более детализированные данные, но могут привести к увеличению операций логирования, тогда как более длинные интервалы снижают активность логирования, но могут пропускать кратковременные всплески трафика. Модуль бесшовно интегрируется с другими настройками NGINX, собирая данные на основе пользовательских переменных или характеристик HTTP-запросов, и обеспечивает актуальность статистики за счёт регулярных обновлений, задаваемых интервалом.

Чтобы использовать accounting_interval, её нужно указывать в HTTP-контексте конфигурации NGINX и одновременно включать функциональность учёта через директиву accounting. После задания accounting_interval NGINX использует этот параметр совместно с другими метриками для анализа трафика и формирования отчётов.

Пример конфига

http {
    # enable traffic accounting
    accounting on;
    accounting_interval 60s;  # aggregate metrics every 60 seconds
    accounting_log /var/log/nginx/accounting.log;
    
    server {
        server_name example.com;
        location / {
            accounting_id $http_host;
        }
    }
}

Убедитесь, что включили модуль accounting, задав accounting on;, иначе accounting_interval не будет иметь эффекта.

Не задавайте слишком короткие интервалы, так как это может привести к чрезмерной записи логов и повышенному потреблению ресурсов.

Интервал должен быть указан корректно; неверные форматы или отрицательные значения могут привести к ошибкам конфигурации.

← Ко всем директивам