log_zmq_server

Настраивает серверную конечную точку ZeroMQ для логирования в NGINX.

Синтаксисlog_zmq_server
;
По умолчаниюnone
Контекстhttp
Аргументы5

Описание

Директива 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 правильно установлена и настроена в вашей среде.

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