目录
1.简介
syslog服务器可以用作一个网络中的日志监控中心,
所有能够通过网络来发送日志的设施(包含了Linux或Windows服务器,路由器,
交换机以及其他主机)都可以把日志发送给它。
通过设置一个syslog服务器,可以将不同设施/主机发送的日志,
过滤和合并到一个独立的位置,这样使得你更容易地查看和获取重要的日志消息。
rsyslog 作为标准的syslog守护进程,预装在了大多数的Linux发行版中。
在客户端/服务器架构的配置下,
rsyslog同时扮演了两种角色:
1.作为一个syslog服务器,rsyslog可以收集来自其他设施的日志信息;
2.作为一个syslog客户端,rsyslog可以将其内部的日志信息传输到远程的syslog服务器。
2.常见的系统日志
日志格式:文本日志/二进制日志/数据日志
默认相关日志文件:
/var/log/dmesg #核心启动日志:
/var/log/messages #系统报错日志,系统启动时的状态信息,运行时的状态信息。比如某个人的身份切换为 root等。如果服务正在运行,比如 DHCP 服务器,您可以在 messages 文件中观察它的活动。
/var/log/maillog #邮件系统日志:
/var/log/xferlog #FTP系统日志:
/var/log/secure #安全信息和系统登录与网络连接的信息:
/var/log/wtmp #记录所有的登录和退出登录,二进制文件,须用last来读取内容
/var/log/spooler #News日志
/var/log/rpmpkgs #RPM软件包
/var/log/XFree86.0.log #记录 Xfree86 Xwindows 服务器最后一次执行的结果。如果进系统图形界面失败就找他。
/var/log/boot.log #引导日志 记录开机启动讯息,dmesg | more
/var/log/cron #cron(定制任务日志)日志
3.将本地邮件服务的日志记录到/var/log/test_mail.log里
cat /var/log/maillog
1 安装rsyslog
yum -y install rsyslog
2 备份/etc/rsyslog.conf 文件
cp /etc/rsyslog.conf /etc/rsyslog.conf.bak
ll /etc | grep rsyslog
3 修改配置文件
vim /etc/rsyslog.conf
4 注释掉mail.*并创建自己的修改内容
#mail.* -/var/log/maillog
mail.info /var/log/test_mail.log
5 启动服务(自动创建文件)
systemctl start rsyslog
6 测试
logger -t "loggertest" -p mail.info "测试信息"
选项:
-t 指定标记记录
-p 指定输入信息的优先级
-i 逐行记录每一次logger的进程ID
案例:
cat /var/log/maillog //查看信息
vim /etc/rsyslog.conf //编辑配置信息
mail.* /var/log/test.log //修改配置
systemctl restart rsyslog //重新启动一下服务
systemctl status rsyslog //查看是否在运行
logger -t "loggertest" -p mail.info "测试信息"
cat /var/log/test.log //查看测试信息
cat /var/log/maillog //查看测试信息
vim /etc/rstslog.conf //编辑配置信息
4.日志级别
命令:
man syslog
级别解释:
none 表示不记录服务的所有信息
0 emerg 系统不可用
1 alert 特别留意的报警信息
2 crit 非常严重的状况
3 err 错误信息
4 warning 警告信息
5 notice 稍微需要注意的信息
6 info 正常信息
7 debug 调试信息,开发人员使用
特殊符号:
. 用来分隔服务和级别
* 任何服务,任何级别
= 等于某一级别,没有等号表示大于或者等于某一级别
! 排除操作
; 分割不同的 服务。级别 组合
, 用于分割不同的服务
- 用于指定目标文件时,代表异步写入
5.将ssh服务的日志指定记录到/var/log/sshd.log
查看系统帮助
man sshd_config
安装rsyslog
yum -y install rsyslog
1 修改配置文件信息(B机器上)
vim /etc/ssh/sshd_config
将SyslogFacility AUTHPRIV改为SyslogFacility LOCAL5
2 修改日志程序(B机器上)
vim /etc/rsyslog.conf
/sys //快速查找
图一
cp /etc/rsyslog.conf /etc/rsyslog.conf.bak
vim /etc/rsyslog.conf
增加内容:
图二
#save sshd messages also to sshd.log
local5.* /var/log/sshd.log
3 重新启动ssh服务
systemctl restart rsyslog
systemctl restart sshd
systemctl status rsyslog.service
systemctl status sshd
4 A机器登录B机器
ssh B机器IP地址
ssh 192.168.163.111
5 B机器查看日志信息
cat /var/log/sshd.log
如果没有文件
就如下操作
案例:
在A机器中登录
vim /etc/rsyslog.conf
检查配置路径
local5.* /var/log/sshd.log
systemctl restart sshd
exit
ssh (B机器ip地址)
cat /var/log/sshd.log
图一
图二
6.远程日志服务器(B机器日志传输到A机器上)
1 A机器编辑文件
vim /etc/rsyslog.conf
图三
修改内容:图四
# Provides UDP syslog reception --UDP传输形式
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception --TCP传输形式
$ModLoad imtcp
$InputTCPServerRun 514
2 重启服务
systemctl restart rsyslog
3 查看端口是否打开(关闭防火墙和漏盒)
netstat -nltp|grep 514
4 B机器修改文件
vim /etc/rsyslog.conf
修改内容:(文件末尾追加内容)
*.* @@192.168.47.130:514 --@ 表示使用UDP @@ 表示使用TCP
图五
5 重启服务(B机器,关闭防火墙和漏盒)
systemctl restart rsyslog
6 B机上进行测试代码执行
logger -t "loggertest" -p mail.info "测试信息"
7 在A,B机器上查看信息
cat /var/log/maillog
8 在B机器上不记录mail信息(/etc/rsyslog.conf)
# Log all the mail messages in one place.
#mail.* -/var/log/maillog
图三
图四
图五