Linux学习笔记—系统日志

28 篇文章 1 订阅
16 篇文章 0 订阅
进程和操作系统内核需要能够为发生的事件记录日志 , 这些日志可用于系统审核和问题的故障排除 , 一般这些日志永久存储 /var/log 目录中。

一、系统日志默认分类

日志文件用途
/var/log/messages系统服务及日志,包括服务的信息,报错等(大多数系统日志信息)
/var/log/secure安全和身份认证相关的消息和错误的日志文件
/var/log/maillog系统邮件服务信息
/var/log/cron系统定时任务信息
/var/log/boot.log系统启动信息

二、日志管理服务rsyslog

rsyslog 是一个开源工具 , 被广泛用于 Linux 以通过TCP/UDP 协议转发或接收日志消息。
rsyslog 负责采集日志和分类存放日志

  • rsyslog 服务的主配置文件为 /etc/rsyslog.conf
  • 指定日志保存位置修改配置文件 , 修改后重启 rsyslog 服务生效。
服务.日志级别	/存放文件
*.*             /var/log/linux.log                        
  • 利用 tail -f 日志文件名 输出日志文件的后 10 行 , 并实时更新。
1、格式
日志设备(类型).(连接符号)日志级别   日志处理方式(action)
2、日志设备(类型)
auth        		##pam产生的日志
authpriv    		##ssh,ftp等登录信息的验证信息
cron        		##时间任务相关
kern        		##内核
lpr         		##打印
mail        		##邮件
mark(syslog)–rsyslog	##服务内部的信息,时间标识
news        		##新闻组
user        		##用户程序产生的相关信息
uucp        		##unix to unix copy, unix主机之间相关的通讯
local 1~7   		##自定义的日志设备
3、日志级别
debug       		##有调式信息的,日志信息最多
info        		##般信息的日志,最常用
notice      		##最具有重要性的普通条件的信息
warning     		##警告级别
err         		##错误级别,阻止某个功能或者模块不能正常工作的信息
crit        		##严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert       		##需要立刻修改的信息
emerg       		##内核崩溃等严重信息
none        		##什么都不记录
注意:从上到下,级别从低到高,记录的信息越来越少
详细的可以查看手册: man 3 syslog
实例:
1)记录到普通文件或设备文件
*.*     /var/log/file.log   	# 绝对路径
*.*     /dev/pts/0
测试:
logger -p local3.info ‘KadeFor is testing the rsyslog and logger ‘   ##logger 命令用于产生日志
2)发送给用户(需要在线才能收到)
*.*   root
*.*   root,kadefor,up01     	# 使用,号分隔多个用户
*.*   *     		    	# *号表示所有在线用户
3)忽略、丢弃
local3.*   ~    	    	# 忽略所有local3类型的所有级别的日志
4)执行脚本
local3.*    ^/tmp/a.sh      	# ^号后跟可执行脚本或程序的绝对路径
				# 日志内容可以作为脚本的第一个参数.
				#  可用来触发报警
4、日志同步
1)关闭两台主机防火墙
systemctl stop firewalld 
2)配置日志发送方
[root@server11 ~]# vim /etc/rsyslog.conf 
 51 *.*                                                     @172.25.51.12
[root@server11 ~]# systemctl restart rsyslog
示图:通过udp协议把日志发送到11主机,@udp,@@tcp

在这里插入图片描述

3)配置日志接受方
[root@server12 ~]# vim /etc/rsyslog.conf
 15 $ModLoad imudp             ##日志接收插件
 16 $UDPServerRun 514          ##日志接收插件使用端口
[root@server12 ~]# systemctl restart rsyslog

在这里插入图片描述

4)测试
  • 日志发送、接受方全部清空日志
[root@server11 ~]# > /var/log/messages
[root@server12 ~]# > /var/log/messages
  • 日志发送方
[root@server11 ~]# logger test messages
  • 日志接受方
[root@server12 ~]# tail -f /var/log/messages

示图:日志接受方查看到同步日志
在这里插入图片描述

5、日志采集格式
$template TEST, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"

日志采集格式参数说明:

%timegenerated%			##显示日志时间
%FROMHOST-IP%			##显示主机ip
%syslogtag%			##日志记录目标
%msg%				##日志内容
\n				##换行
示例:日志采集格式(TEST)
[root@server11 ~]# vim /etc/rsyslog.conf 
 47 $template TEST, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
 54 *.info;mail.none;authpriv.none;cron.none                /var/log/messages;TEST
[root@server11 ~]# systemctl restart rsyslog
示图:rsyslog配置文件,47、54行

在这里插入图片描述

测试:根据格式所采集的日志

在这里插入图片描述

三、日志分析工具journal

journal 在进程中名称 systemd-journald
1、journalctl命令
journalctl	           ##直接执行,浏览系统日志
           -n 3	  	   ##显示最新3条				
           -p err          ##显示报错
           -f		   ##监控日志
           --since --until ## --since "[YYYY-MM-DD] [hh:mm:ss]" 从什么时间到什么时间的日志
           -o verbose	   ##显示日志能够使用的详细进程参数  
  • 查看最新的5条日志(按时间排序)
[root@server11 ~]# journalctl -n 5    ##查看最新的5条日志
示图:查看最新的5条日志

在这里插入图片描述

  • 查看某时间节点的日志
[root@server11 ~]# journalctl --since 20:00   ##查看某时间节点后的日志
[root@server11 ~]# journalctl --since 19:50 --until 19:52  ##查看某时间段的日志

在这里插入图片描述
在这里插入图片描述

  • 查看错误日志
[root@server11 ~]# journalctl -p err

在这里插入图片描述

  • 显示日志能够使用的详细进程参数
journalctl -o verbose
例如:
journalctl _PID=30053
journalctl _COMM=sshd

在这里插入图片描述

2、对systemd-journald管理
默认情况下此程序会忽略重启前的日志信息,如不忽略:
[root@server11 ~]# mkdir /var/log/journal
[root@server11 ~]# chgrp systemd-journal /var/log/journal/  ##更改组名
[root@server11 ~]# chmod 2755 /var/log/journal  ##sgid权限,目录中新建的所有文件的所有组都自动归属到目录的所有组之中,和文件建立者所在的组无关
示图:查看目录权限、属性

在这里插入图片描述

测试:
[root@server11 ~]# killall -1 systemd-journald    ##重启
  • bootctl查看机器码
    在这里插入图片描述
  • 重启后,查看日志
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值