第一步:配置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