第一步:配置rsyslog服务等接收远程日志

配置文件路径为/etc/sysconfig/rsyslog
把内容SYSLOGD_OPTIONS=”-m 0″ 修改为 SYSLOGD_OPTIONS=”-r “
(-r -m 0 设置能从远端设备写入日志 )

第二步:配置文件/etc/rsyslog.conf,在GLOBAL DIRECTIVE块前追加模板。

$template RemoteLogs, "/data/log/%HOSTNAME%/%$YEAR%-%$MONTH%-%$DAY%.log"
local6.* ?RemoteLogs
& ~
  • 设置模块名为RemoteLogs,并指向日志的保存路径。

    (以单个设备主机名为文件夹,然后以每天为单位生成子文件夹,并保存当天产生的所有日志)

  • 设置接受facility为local6,接受所有日志级别。
    (同时需在各个网络设备设置facility都为local6,方便该日志服务器识别)
  • 符号”& ~”表示了一个重定向规则,被用来告知rsyslog守护进程停止对日志消息的进一步处理,并且不要在本地写入

第三步:修改配置文件只需开启两个模块和协议支持的端口

$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog # provides kernel logging support (previously done by rklogd)
 
$ModLoad imudp #开启支持upd的模块
$UDPServerRun 514 #允许接收udp 514的端口传来的日志
 
$ModLoad imtcp #开启支持tcp的模块
$InputTCPServerRun 514 #允许接收tcp 514的端口传来的日志
 
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf

主要将以上内容前面的注释符(#)去掉即可。

第四步:改变SELinux策略

命令:

chcon -R -t var_log_t /data/
chcon -R -u system_u /data/

(方便日志信息写入自定义路径中,rsyslog服务默认路径为/var/log/*)

第五步:编辑iptables策略

配置文件路径为/etc/sysconfig/iptables
添加策略:

-A INPUT -p udp -m udp --dport 514 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 514 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 514 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 514 -j ACCEPT

注意策略的位置!!
保存iptables策略:

service iptables save

(需放通rsyslog的默认端口514,方便接收设备日志)

第六步:然后重启rsyslog服务

service rsyslog restart
service rsyslog reload(无需中断服务)

(读出rsyslog最新的配置信息)

第七步:在接收Cisco交换机的IP地址时需转换为设备主机名

编辑/etc/hosts文件

添加:

IP 主机名

192.168.3.12    switch_2

第八步:内部测试日志服务器是否正常运行

命令:

logger -i -t "test message" -p local6.notice " test text 1"

然后进入自定义的日志保存路径查看是否有日志出现。
如无日志产生可查看系统日志信息查找原因,
命令:

tail /var/log/messages

版权声明:本文为liangjingfu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/liangjingfu/p/9314922.html