如何使 Syslog-ng 服务器在从客户端接收到的日志中显示设施、优先级?

Posted

技术标签:

【中文标题】如何使 Syslog-ng 服务器在从客户端接收到的日志中显示设施、优先级?【英文标题】:How to make Syslog-ng server show facility, priority in the logs it receives from the client? 【发布时间】:2017-08-29 09:13:22 【问题描述】:

我正在从使用 syslogd 的客户端 (Freebsd) 向使用 Syslog-NG (Ubuntu 16.04) 的 syslog 服务器发送 syslog。我正在将我在 local0 设施上收到的所有日志转发到系统日志服务器。

客户端显示的日志:

Aug 29 08:12:40 <local0.info> host-1 pidgin-process[38529]: 192.168.1.87

服务器中显示的日志:

Aug 29 08:12:40  host-1 pidgin-process[38529]: 192.168.1.87

从服务器日志中可以看出,消息中缺少设施和优先级。

客户端中的syslog.conf:

local0.*    /var/log/pidgin.log
local0.*    @192.168.1.122:514

服务器中的syslog-ng.conf:

# Version and options info...

source s_local  system(); internal(); ;

# Step1: Log source:
source s_network 
    udp(ip("0.0.0.0") port(514));
    ;
# So on and so forth

在服务器端日志中,如何让 syslog-ng 像客户端日志一样在日志中显示设备、优先级?

【问题讨论】:

【参考方案1】:

你需要重写specific format中的日志,你可以找到例子here。您可以了解此示例中如何使用宏来设置destination(d_format_test)。这也显示了输出的样子。

【讨论】:

以上是关于如何使 Syslog-ng 服务器在从客户端接收到的日志中显示设施、优先级?的主要内容,如果未能解决你的问题,请参考以下文章

从 websocket 中的客户端接收到的解码缓冲区

从客户端接收到第一个数据包后,C ++ UDP Socket无法从服务器发送回客户端

从 bcp 客户端接收到 colid 6 的无效列长度

java在线聊天项目0.8版 实现把服务端接收到的信息返回给每一个客户端窗口中显示功能

java在线聊天项目0.9版 实现把服务端接收到的信息返回给每一个客户端窗口中显示功能之客户端接收

在 Java Servlet 上启用了 CORS,但从前端接收到 CORS 错误