如何对linux机器进行syslog转发配置

  • A+
所属分类:系统文档

    在测试系统时涉及到syslog转发的问题,按照syslog服务相关的配置进行配置后,始终在接收服务器上没有收到转发过来的syslog信息。经过查找资料及自己核查定位,发现还是少配置了一个参数(-h),配置完此参数后,问题得以解决。现将配置的整个过程记录如下:

情景模拟:计划将A服务器上所有接收到的syslog信息转发到B服务器的syslogd上

1)确认A服务上的/etc/syslog.conf相关配置信息【在配置文件中增加红色部分内容】

# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
*.info;mail.none;authpriv.none;cron.none        @B_hostname

注:@后面可以跟B服务器的主机名或者B服务器的IP地址,当配置为主机名时,应该在A服务器的/etc/hosts文件里面配置对应的主机名与IP地址的映射(通过hosts进行解析)

2)修改A服务器的/etc/sysconfig/syslog中SYSLOGD_OPTIONS="-m 0"为SYSLOGD_OPTIONS="-f /etc/syslog.conf -r -h -m 0" ;KLOGD_OPTIONS="-x"为KLOGD_OPTIONS="-2"

注:SYSLOGD_OPTIONS="-f /etc/syslog.conf -r -h -m 0"中的-h参数一定要添加,因为默认情况下,syslog不会发送从远端接受过来的消息到其他主机,而使用该选项,则把该开关打开,所有接受到的信息都可根据syslog.conf中定义的@主机转发过去。(此点尤其要注意,开始我就是没加这个参数,导致信息一直不转发的)

3)修改A服务器的/etc/init.d/syslog中SYSLOGD_OPTIONS="-m 0"为SYSLOGD_OPTIONS="-f /etc/syslog.conf -r -h -m 0";KLOGD_OPTIONS="-x"为KLOGD_OPTIONS="-2"

注:说明同2)中叙述

4)修改B服务器的/etc/sysconfig/syslog中SYSLOGD_OPTIONS="-m 0"为SYSLOGD_OPTIONS="-f /etc/syslog.conf -r -m 0" ;KLOGD_OPTIONS="-x"为KLOGD_OPTIONS="-2";以及/etc/init.d/syslog中SYSLOGD_OPTIONS="-m 0"为SYSLOGD_OPTIONS="-f /etc/syslog.conf -r -m 0";KLOGD_OPTIONS="-x"为KLOGD_OPTIONS="-2"

注:这里因为不需要再转发就不用加-h参数了,但一定要加-r参数(即:打开接受外来日志消息的功能,其监控514 UDP端口)

5)确认/etc/services中“syslog          514/udp”没有注释调
more /etc/services | grep syslog

6)重启syslog(A服务器和B服务器的syslog服务最要重启,因为都修改了各自的相关配置),重启命令如下:
/etc/init.d/syslog restart

# /etc/init.d/syslog restart
关闭内核日志记录器:[  确定  ]
关闭系统日志记录器:[  确定  ]
启动系统日志记录器:[  确定  ]
启动内核日志记录器:[  确定  ]

注:最好不要用syslogd restart来启动,可以用/sbin/syslogd -rm 0手工启动

 

如此配置后,转发信息问题迎刃而解。

  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: