log_zmq_server
Настраивает серверную конечную точку ZeroMQ для логирования в NGINX.
Описание
Директива log_zmq_server используется для настройки серверной конечной точки, которую NGINX применяет для логирования сообщений через ZeroMQ; это обеспечивает эффективную передачу сообщений между NGINX и другими подписчиками или сервисами. Эта директива задаёт такие параметры, как имя экземпляра сервера логирования, адрес конечной точки ZeroMQ, тип транспорта (IPC или TCP), количество потоков для обработки сообщений и размер очереди сообщений.
Параметры директивы log_zmq_server включают:
1. **definition_name**: Уникальное имя, идентифицирующее экземпляр логгера ZeroMQ в конфигурации NGINX.
2. **address**: Адрес конечной точки ZeroMQ, который может быть TCP-адресом (например, 127.0.0.1:5556) или IPC-путём (например, /tmp/main.ipc).
3. **transport_type**: Указывает протокол транспортного уровня; либо ipc, либо tcp.
4. **threads**: Количество потоков для обработки операций логирования, что повышает пропускную способность при высокой нагрузке.
5. **queue_size**: Максимальное число сообщений в очереди, которые могут накапливаться, когда подписчики медленно получают сообщения; это помогает управлять обратным давлением на систему логирования.
При правильной настройке эта директива обеспечивает отказоустойчивый механизм логирования, работающий асинхронно и не затрудняющий работу основных процессов NGINX.
Пример конфига
http {
log_zmq_server main "/tmp/main.ipc" ipc 4 1000;
log_zmq_format main '...';
}Убедитесь, что указанный адрес доступен и что имеются необходимые права доступа к IPC-путям.
Использование TCP может потребовать настройки брандмауэра, чтобы разрешить трафик на указанном порте.
Убедитесь, что библиотека ZeroMQ правильно установлена и настроена в вашей среде.