Syslog是一种标准的日志记录协议,广泛应用于网络设备和服务器中,是IT故障排查的重要工具。以下是利用Syslog进行故障排查的详细方法:
# 在Linux上配置rsyslog作为中央服务器
vi /etc/rsyslog.conf
# 取消注释以下行启用UDP接收
$ModLoad imudp
$UDPServerRun 514
# 或启用TCP接收
$ModLoad imtcp
$InputTCPServerRun 514
# 重启服务
systemctl restart rsyslog
# 在客户端设备上配置转发日志
*.* @192.168.1.100:514 # UDP转发
*.* @@192.168.1.100:514 # TCP转发
# 实时查看日志
tail -f /var/log/syslog
# 过滤特定设施的日志
grep "cron" /var/log/syslog
# 查看特定时间段的日志
sed -n '/May 15 10:00:00/,/May 15 10:30:00/p' /var/log/syslog
grep -i "connection" /var/log/syslog
grep -i "timeout" /var/log/syslog
grep -i "failed" /var/log/syslog
journalctl -u servicename --no-pager
grep -i "authentication failure" /var/log/auth.log
grep -i "invalid user" /var/log/auth.log
# 在rsyslog.conf中添加
$template MyTemplate,"%timestamp% %hostname% %syslogtag% %msg%\n"
*.* /var/log/all.log;MyTemplate
vi /etc/logrotate.d/rsyslog
# 示例配置
/var/log/syslog {
daily
missingok
rotate 7
compress
delaycompress
notifempty
create 640 syslog adm
sharedscripts
postrotate
/usr/lib/rsyslog/rsyslog-rotate
endscript
}
# 查找所有错误级别的日志
grep -E "<[0-3]>" /var/log/syslog
通过系统性地收集和分析Syslog日志,可以快速定位和解决IT系统中的各类问题,提高故障排查效率。