Linux系统日志的认识与管理

一、rsyslog服务

此服务只是用来采集日志的,它不会产生日志,只是起到把日志采集到一起的作用。

二、rsyslog服务的管理

系统日志的配置文件 vim /etc/rsyslog.conf
什么类型的日至.什么级别的日至 保存文件的绝对路径 ##日志采集规则

*.*就表示任何类型的任何级别的日志

日至类型分为  
auth    pam                           ##产生的日志
authpriv  ssh.ftp                     ##等登陆信息的验证信息
cron                                  ##时间人物相关
kern                                  ##内核
lpr                                   ##打印
mail                                  ##邮件
mark(syslog)-rsyslog                ##服务内部的信息,时间标识
news                                  ##新闻组
user                                  ##用户程序产生的相关信息
uucp   unix to unix copy, unix        ##主机之间相关的通讯
local 1-7                             ##自定义的日志设备

日志的级别分为:
debug                                 ##有调试信息的,日志信息最多
info                                  ##一般信息的日志,最常用
notice                                ##最具有重要性的普通条件的信息
warning 							  ##警告级别
err   							      ##错误级别,阻止某个功能或者模块不能正常工作的信息
crit                                  ##严重级别,阻止整个系统或者整个软件不能正常工作的信息
alert                                 ##需要立刻修改的信息
emerg                                 ##内核崩溃修改的信息
none                                  ##什么都不记录

注意: 从上到下,级别从低到高,记录的信息越来越少
详细查看手册: man 3 syslog

在这里插入图片描述

 *.*  /var/log/file             把任何类型的任何级别日志存放在file文件里

在这里插入图片描述

在这里插入图片描述

重起服务,然后用另一台主机登陆本机,可以看到登陆记录被存放在日志里。

三、日志的远程同步

首先确定服务机,也就是日志发送方。

vim /etc/rsyslog.conf

在文件中写入,你需要将什么类型的什么级别的日志发送到哪一台主机去。

UDP远程同步日志的书写格式为:

*.*		@172.25.254.209	 ##把任意类型的任意级别日志,发送到ip192.168.0.1的主机。

TCP远程同步日志的格式为:

*.*	    @@172.25.254.209 ##把任意类型的任意级别日志,发送到ip192.168.0.1的主机。

在这里插入图片描述

在这里插入图片描述

在服务端,也就是日志接受方:

vim /etc/rsyslog.conf

打开15,16行的UDP接受模块:

15 $ModLoad imudp
16 $UDPServerRun 514

接下来:重启rsyslog服务,关闭接受方防火墙

systemctl restart rsyslog		##重启rsyslog服务
systemctl stop firewalld		##关闭防火墙
systemctl disable firewalld		##设置防火墙开机不启动

在这里插入图片描述

在这里插入图片描述

四、日志采集格式的设定

更改配置文件rsyslog.conf

vim /etc/rsyslog.conf
$template RULES,"%FROMHOST-IP% %timegenerated% %syslogtag% %msg%\n"
 					显示主机ip	显示日志时间 		日志记录目标 日志内容 换行

在这里插入图片描述

五、时间同步服务

服务名称chronyd

在服务端

vim /etc/chrony.conf
更改以下内容:

allow 172.25.254.109/24 	##允许哪些客户端来同步本机时间
local stratum 10		##本机不同步任何主机时间,本机作为时间源
systemctl restart chronyd	            ##重启服务
systemctl stop firewalld				##关闭防火墙

在这里插入图片描述

在这里插入图片描述

在客户端:

vim /etc/chrony.conf
server 172.25.254.209 iburst	##本机立即同步233主机时间
systemctl restart chronyd
systemctl stop firewalld

在这里插入图片描述

在这里插入图片描述

测试:

客户端

chronyc sources -v

在这里插入图片描述

在这里插入图片描述

六、timedatectl命令

timedatectl ##管理系统时间

timedatectl	status		##显示当前时间信息
			set-time	##设定当前时间
			set-timezone	##设定当前时区
			set-local-rtc 0|1 ##设定是否使用utc时间
			list-timezones	##查看支持的所有时区

timedatectl status

在这里插入图片描述

[root@server_sshd ~]# timedatectl status
      Local time: Mon 2019-11-11 11:17:22 CST      	    ##本地时间=伦敦时间+时区
      Universal time: Mon 2019-11-11 11:17:22 UTC		##世界协调时间:伦敦时间
      RTC time: Thu 2019-01-17 03:03:19			        ##主板时间
      Timezone:America/New_York (EST, -0500)
      NTP enabled: yes
      NTP synchronized: no
      RTC in local TZ: no
      DST active: no

在这里插入图片描述

timedatectl list-timezones

在这里插入图片描述

七、journal

1、journalctl

  journalctl				##日志查看工具
				-n 3		##查看最近3条日志
				-p err		##查看错误日志
				-o verbose	##查看日志详细参数
				--since		##查看从什么时间开始的日志
				--until		##查看到什么时间为止的日志

在这里插入图片描述

journalctl -n 3

在这里插入图片描述

journalctl -p err在这里插入图片描述

journalctl --since 21:40 --until 22:40在这里插入图片描述
查看21:40之后,22:40之前的日志信息

如何使用systemd-journald保存系统日志
默认systemd-journald是不能保存到系统日志到硬盘的,那么关机后再次开机只能看到本次开机后的日志,上次关机之前的日志是无法查看到的。
如何把存储在内存里的日志信息保存到本地

mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod g+s /var/log/journal
killall -1 systemd-journald

在这里插入图片描述

在这里插入图片描述
重启后用journalctl查看日志,有22:43:23之前的日志,说明systemd-journald保存到系统日志到硬盘了。

猜你喜欢

转载自blog.csdn.net/weixin_44313519/article/details/86518095