log_zmq_server

为 NGINX 配置用于日志记录的 ZeroMQ 服务器端点。

语法log_zmq_server
;
默认值none
上下文http
参数5

说明

log_zmq_server 指令用于配置一个服务器端点,NGINX 通过 ZeroMQ 使用它来记录日志,这使得 NGINX 与其他订阅者或服务之间能够高效地传递消息。该指令指定了诸如日志服务器实例的名称、ZeroMQ 端点的地址、传输类型(IPC 或 TCP)、用于处理消息的线程数以及消息队列的大小等细节。

log_zmq_server 指令的参数包括:
1. **definition_name**: 在 NGINX 配置中识别 ZeroMQ 日志记录器实例的唯一名称。
2. **address**: ZeroMQ 端点的地址,可为 TCP 地址(例如 127.0.0.1:5556)或 IPC 路径(例如 /tmp/main.ipc)。
3. **transport_type**: 指定要使用的传输层协议;可以是 ipctcp
4. **threads**: 用于处理日志操作的线程数,有助于在高负载时提高吞吐量。
5. **queue_size**: 当订阅者接收消息缓慢时,队列中可保存的最大消息数,有助于管理日志系统的背压。

正确配置后,该指令可提供一种具有弹性的异步日志记录机制,从而不会阻碍主 NGINX 进程的性能。

配置示例

http {
	log_zmq_server main "/tmp/main.ipc" ipc 4 1000;
	log_zmq_format main '...';
}

确保所定义的地址可达,并且对 IPC 路径所需的任何权限可用。

使用 TCP 可能需要配置防火墙以允许指定端口上的流量。

确保 ZeroMQ 库在您的环境中已正确安装并配置。

← 返回所有指令