Linux-日志采集与查看
Linux系统中,拥有非常强大的日志功能,可以保存几乎所有的记录,我们可以从中检索出我们所需要的信息。一般日志存放的目录:/var/log/系统常见日志:/var/log/wtmp ##系统登陆日志/var/log/messages ##所有日志级别的常规信息(不包含邮件,服务认证,定时任务)/var/log/maillog ##系统邮
Linux系统中,拥有非常强大的日志功能,可以保存几乎所有的记录,我们可以从中检索出我们所需要的信息。
一般日志存放的目录:/var/log/
系统常见日志:
/var/log/wtmp ##系统登陆日志
/var/log/messages ##所有日志级别的常规信息(不包含邮件,服务认证,定时任务)
/var/log/maillog ##系统邮件服务日志
/var/log/secure ##系统认证日志
/var/log/crom ##系统定时任务日志
rsyslog:用于日志采集的服务
配置文件:
/etc/rsyslog.conf
日志的类型:
auth ##安全授权信息
authpriv ##服务认证信息
cron ##定时任务信息
ftp ##FTP进程信息
kern ##内核日志
lpr ##打印机日志
mail ##邮件日志
news ##新闻
local0-7 ##本地自定义日志
日志级别(递减)
emerg ##系统崩溃
alert ##必须立刻处理的问题
crit ##报错(高级别)
err ##报错(低级别)
warning ##警告信息
notice ##重大信息
info ##常规信息
debug ##调试信息
测试:
新增一个日志文件,收集所有日志信息
[root@desktop ~]# vim /etc/rsyslog.conf ##编辑配置文件
52 # Log anything (except mail) of level info or higher.
53 # Don't log private authentication messages!
54 *.info;mail.none;authpriv.none;cron.none /var/log/messages
55 *.* /tmp/jinx ##新增保存所有级别所有日志信息到/tmp/jinx
[root@desktop ~]# systemctl restart rsyslog.service ##重启服务
[root@desktop ~]# systemctl restart sshd.service ##重启一个服务生成日志
[root@desktop ~]# cat /tmp/jinx ##查看系统日志是否生成
Apr 20 09:08:26 desktop rsyslogd: [origin software="rsyslogd" swVersion="7.4.7" x-pid="3904" x-info="http://www.rsyslog.com"] start
Apr 20 09:08:26 desktop rsyslogd-2307: warning: ~ action is deprecated, consider using the 'stop' statement instead [try http://www.rsyslog.com/e/2307 ]
Apr 20 09:08:26 desktop systemd: Stopping System Logging Service...
Apr 20 09:08:26 desktop systemd: Starting System Logging Service...
Apr 20 09:08:26 desktop systemd: Started System Logging Service.
Apr 20 09:08:38 desktop systemd: Stopping OpenSSH server daemon...
Apr 20 09:08:38 desktop sshd[1243]: Received signal 15; terminating.
Apr 20 09:08:38 desktop systemd: Starting OpenSSH server daemon...
Apr 20 09:08:38 desktop systemd: Started OpenSSH server daemon.
Apr 20 09:08:38 desktop sshd[3922]: Server listening on 0.0.0.0 port 22.
Apr 20 09:08:38 desktop sshd[3922]: Server listening on :: port 22.
远程记录日志信息
[root@desktop ~]# vim /etc/rsyslog.conf ##编辑配置文件
52 # Log anything (except mail) of level info or higher.
53 # Don't log private authentication messages!
54 *.info;mail.none;authpriv.none;cron.none /var/log/messages
55 *.* @172.25.80.100
## 55 *.* 所有日志所有级别 @172.25.80.100 通过udp协议发送至172.25.80.100 @通过udp传输,@@通过tcp传输
[root@desktop ~]# systemctl restart rsyslog.service ##重启服务
日志接收端
[root@server ~]# vim /etc/rsyslog.conf ##编辑配置文件
14 # Provides UDP syslog reception
15 $ModLoad imudp ##删除#符,开启udp系统日志接收
16 $UDPServerRun 514 ##使用端口:514
17
18 # Provides TCP syslog reception
19 #$ModLoad imtcp ##这里设置开启tcp系统日志接收
20 #$InputTCPServerRun 514
[root@server ~]# systemctl restart rsyslog.service ##重启rsyslog服务
[root@server ~]# systemctl stop firewalld.service ##关闭防火墙,防止防火墙拦截日志信息
[root@server ~]# systemctl disable firewalld.service ##禁止防火墙自动启动
rm '/etc/systemd/system/basic.target.wants/firewalld.service'
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
[root@server ~]# > /var/log/messages ##清空日志,以便查看新日志
[root@server ~]# cat /var/log/messages ##查看日志
Apr 20 09:37:30 localhost rc.local: /etc/rc.d/rc.local: connect: No route to host
Apr 20 09:37:30 localhost rc.local: /etc/rc.d/rc.local: line 18: /dev/tcp/content.example.com/80: No route to host
[root@server ~]# > /etc/rc.d/rc.local ##rc.local有自动运行脚本,清空
[root@server ~]# reboot
[root@server ~]# > /var/log/messages ##清空日志
[root@server ~]# cat /vat/log/messages
[root@server ~]# vim /etc/rsyslog.conf
51 $template jinx,"%timegenerated% %FORMHOST-IP% %syslogtag% %msg%\n" ##新建格式
52 # Log anything (except mail) of level info or higher.
53 # Don't log private authentication messages!
54 *.info;mail.none;authpriv.none;cron.none /var/log/messages;jinx ##日志选用格式
[root@server ~]# systemctl restart rsyslog.service
##查看是否清空
日志发送端
[root@desktop ~]# systemctl restart sshd ##重启服务产生日志
日志接收端
[root@server ~]# cat /var/log/messages ##查看生成的日志
Apr 20 10:13:07 desktop systemd: Stopping OpenSSH server daemon...
Apr 20 10:13:07 desktop systemd: Starting OpenSSH server daemon...
Apr 20 10:13:07 desktop systemd: Started OpenSSH server daemon.
自定义日志采集格式
$template 格式名称,"日志采集格式"
%timegenerated% ##日志生成时间
%FORMHOST-IP% ##日志来源主机的IP
%syslogtag% ##日志生成的程序
%msg% ##日志内容
\n ##换行
journalctl ##用于日志查看(内存中的),rhel7以后的版本新增
-f ##监控
-n 10 ##十条
-p err ##报错 emerg\alert\crit\err\warning\notice\info\debug
--since 时间 ##开始时间
--until 时间 ##结束时间
-o verbose ##详细信息
verbose ##查看详细信息相关日志
journalctl默认只负责对日志进行查看而不对日志进行保存和采集让systemd-journald保存日志到硬盘中
[root@desktop ~]# mkdir /var/log/journal ##创建日志保存目录
[root@desktop ~]# chown root.systemd-journal /var/log/journal ##设置目录所属族
[root@desktop ~]# chmod g+s /var/log/journal ##目录中新建文件所属族继承父目录
[root@desktop ~]# killall -1 systemd-journald ##重新家在journald服务
更多推荐
所有评论(0)