如何使用ulogd2向远程主机发送JSON格式syslog消息
方案1:无本地落盘直接发送JSON到远程主机(推荐)
ulogd2原生支持直接将格式化后的JSON数据通过网络输出,不需要写入本地磁盘,具体配置步骤如下:
- 首先安装对应依赖插件,Debian/Ubuntu系执行
apt install ulogd2 ulogd2-output-http ulogd2-output-json,RHEL/CentOS系执行dnf install ulogd ulogd-json ulogd-http - 编辑ulogd2主配置文件
/etc/ulogd2.conf,按如下规则修改:- 启用对应功能插件,确保以下配置行存在:
plugin="/usr/lib/x86_64-linux-gnu/ulogd/ulogd_output_JSON.so" plugin="/usr/lib/x86_64-linux-gnu/ulogd/ulogd_output_HTTP.so" - 配置JSON输出格式适配网络传输:
[json1] sync = 1 timestamp = 1 event_id = 1 - 配置HTTP输出插件指向远程接收地址:
[http1] url = "http://你的远程主机IP:端口/接收接口路径" content_type = "application/json" method = "POST" buffer_size = 4096 retry = 3 retry_delay = 1 - 配置流处理规则,将连接跟踪事件直接转发到JSON格式化+HTTP输出链:
stack=ct1:BASE,ip2str:IP2STR,json1:JSON,http1:HTTP
- 启用对应功能插件,确保以下配置行存在:
- 重启ulogd2服务生效:
systemctl restart ulogd2
该方案全程不会在本地产生任何持久化存储文件,所有JSON数据直接通过HTTP发送到远程主机。
方案2:本地文件中转+发送后自动删除
如果受场景限制必须先写本地文件再发送,可以采用内存文件系统临时存储+发送后自动删除的方案:
- 原有ulogd2配置保持不变,将JSON输出路径指定为内存文件系统路径,比如
/run/ulogd_temp.json(该路径默认挂载在tmpfs下,写入内容不会落到物理磁盘) - 安装inotify监控工具:
apt install inotify-tools或dnf install inotify-tools - 编写监控发送脚本
/usr/local/bin/ulogd_send.sh,内容如下:#!/bin/bash TEMP_FILE="/run/ulogd_temp.json" REMOTE_URL="http://你的远程主机IP:端口/接收接口路径" inotifywait -m -e close_write "$TEMP_FILE" | while read -r directory events filename; do # 发送文件内容到远程 curl -X POST -H "Content-Type: application/json" --data-binary @"$TEMP_FILE" "$REMOTE_URL" # 发送成功后清空/删除文件 if [ $? -eq 0 ]; then > "$TEMP_FILE" # 如需完全删除文件可替换为 rm -f "$TEMP_FILE" fi done - 给脚本添加执行权限:
chmod +x /usr/local/bin/ulogd_send.sh - 配置systemd服务实现开机自启,创建
/etc/systemd/system/ulogd-send.service文件:[Unit] Description=Ulogd JSON send service After=ulogd2.service [Service] ExecStart=/usr/local/bin/ulogd_send.sh Restart=always User=root [Install] WantedBy=multi-user.target - 启动服务并设置开机自启:
systemctl daemon-reload systemctl enable --now ulogd-send.service
排查参考
发送失败可先检查远程主机端口放通情况,ulogd2运行日志可通过journalctl -u ulogd2查看;如果需要用UDP/TCP裸协议发送而不是HTTP,可以将om_http插件替换为om_udp/om_tcp插件,配置逻辑一致。
内容的提问来源于stack exchange,提问作者sebastian montes
相关产品推荐
相关产品推荐

