linux下系统日志管理

1.什么是系统日志?
日志的生成–由服务本身生成:进程和操作系统内核需要能够为发生的事件记录日志,这些日志可用于系统审核和问题的故障排除,一般这些日志永久存储于/var/log目录中。
2.设置实验环境
建立两台虚拟机并保证相互通信
rhel7_node1 IP:192.168.1.6
rhel8_node1 IP: 192.168.1.5
3.日志的查看(journald)
系统日志默认是不会保存到硬盘的,这意味着当系统重新启后,只能看到开机后的日志,开启电脑前的日志无法查看。下面使用systemd来保存日志即可以看到上次关机前的日志件。
日志默认存放在/run/log中
服务名称:systemd-journald.service 不产生日志,只采集日志
3.1 journalctl命令的用法:(1)

命令 效果
journalctl -n 3 查看最新的3条日志
journalctl --sinze “2020-02-14 19:38:00” 显示19:38点后的日志
journalctl --until “2020-02-14 19:50:00” 显示19:50点之前的日志
journalctl -o short 经典模式显示日志
journalctl -o verbose 显示日志的全部字符
journactl -o export 适合传出和备份二进制格式
journalctl -o json js格式显示输出

命令演示效果如下:

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

journalctl命令的用法:(2)

 参数-p      显示制定级别的日志
 0           emerg   系统的严重问题日志 
 1           alert   系统中立即要更改的信息
 2           crit    严重级别会导致系统软件不能正常工作
 3           err     程序报错
 4           warning 程序警告
 5           notice  重要信息的普通日志
 6           info     普通信息
 7           debug   程序拍错信息 
 -F          PRIORITY 查看可控日志级别
 -u          sshd     指定查看服务 
 -f                   监控日志 
--disk-usage        查看日志大小
--vacuum-size=1G    设定日志存放大小
--vacumm-time=1W    日志在系统中最长存放时间
 journalctl  _PID=10924 _SYSTEMD_UNIT=sshd.service   按照指定格式查找日志

命令演示效果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
永久设置日志存放环境需更改配置文件:vim /etc/systemd/journald.conf
在这里插入图片描述
在这里插入图片描述
按照指定参数查找服务日志,首先查看日志详细内容:

[root@rhel7_node1 ~]# journalctl -o verbose 查看详细内容


在这里插入图片描述
3.2使用systemd服务来永久保存日志
默认情况下日志会在下一次主机关闭启动后自动清除
如何永久保存日志操作如下图所示:
当重启服务后日志存放路径会被指定存放到:/var/log/journal

在这里插入图片描述

在这里插入图片描述
4.日志的采集(rsyslog)
rsyslog是一个开源工具,被广泛用于linux系统以通TCP/UDP协议转发或接收日志消息
服务名称:rsyslog.service
配置文件:/etc/rsyslog.conf
日志默认存放:

/var/log/messages     系统服务日志,常规信息,服务报错 
/var/log/secure      系统认证信息日志
/var/log/maillog    系统邮件日志信息
/var/log/cron        系统定时任务信息
/var/log/boot.log    系统启动日志信息 

日志类型                                                       
 auth       用户认证 
 authpriv   服务认证 
 cron       时间任务 
 kern       内核类型 
 mail       邮件 
 news       系统更新信息
 user       用户
 

日志级别

debug    程序排错日志
info     普通信息
notice   重要信息的普通日志
waring   程序警告
err      程序报错日志
crit     严重级别日志会导致系统不能正常工作
alert    系统中要立即更改的信息
emerg    系统严重问题日志 
none     不记录    

4.1 自定义日志采集路径:
设置格式
日志类型.日志级别 日志存放路径

 [root@rhel7_node1 ~]# > /var/log/messages     清空文件内日志
[root@rhel7_node1 ~]# cat /var/log/messages    
[root@rhel7_node1 ~]# vim /etc/rsyslog.conf    进入配置文件编辑
[root@rhel7_node1 ~]# systemctl restart rsyslog.service   重启服务时间

在这里插入图片描述
查看/var/log/messages和/var/log/westos日志内容相同
在这里插入图片描述
在这里插入图片描述

4.2自定义采集日志
格式:引号内的内容可以按需要更换位置

$template  WESTOS, "%FROMHOST-IP%  %timegenerated%  %FROMHOST-IP%  %syslogtag%  %msg%\n"
WESTOS                格式名称 
%FROMHOST-IP%         日志来源主机IP
 %timegenerated%      日志生成时间 
 %syslogtag%          日志生成服务
  %msg%               日志内容 
  \n                          换行

设定日志采集格式:

 [root@rhel7_node1 ~]# vim /etc/rsyslog.conf 

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

5.日志的远程同步
实验条件:两台虚拟机相互通信
rhel7_node1 IP:192.168.1.6 作为日志接受端,所有人日志都存放到此台 主机
rhel8_node1 IP: 192.168.1.5 发送日志到rhel7_node1主机中

在这里插入图片描述
5.1.1rhel7中设置如下在这里插入图片描述
5.1.2在rhel7_node1中:
在这里插入图片描述
5.1.3重启服务并查看日志接收端口是否开启
在这里插入图片描述
5.2rhel8_node1设置如下:
在这里插入图片描述
重启服务
在这里插入图片描述
5.3测试日志是否可以传输
在这里插入图片描述
6.时间设定
timedatectl 命令的方法

命令 效果
timedatectl 显示当前时间
timedatectl set-time “2020-02-13 15:00:00” 设置当前时间为2020-02-13 15:00:00
timedatectl list-timeznoes 查看所有时间
timedatectl set- time " America/New_york" 设置为纽约时间
timedatectl set-loct-nrtc 0或1 0:使用UTC时间 1:关闭UTC时间

如下:
在这里插入图片描述
在这里插入图片描述
7.时间同步服务
在rhel7作为时间源rhel8同步rhel7时间

 服务名称: chronyd.service 
 配置文件: /etc/chrony.conf

rhel7_node1作为时间源
rhel8_node1同步rhel7_node1的时间

在这里插入图片描述

在这里插入图片描述

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

发布了46 篇原创文章 · 获赞 6 · 访问量 1340

猜你喜欢

转载自blog.csdn.net/qq_46089299/article/details/104295214