0
点赞
收藏
分享

微信扫一扫

LINUX系统中的日志管理

辰鑫chenxin 2022-02-19 阅读 71

实验环境

systemctl stop firewalld

1.journald

服务名称:systemd-journald.service
journalctl
默认日志存放路径: /run/log

实验1 journalctl命令的用法

journalctl
请添加图片描述
-n 3 ##日志的最新3条
--since "2020-05-01 11:00:00"##显示11:00后的日志
--until "2020-05-01 11:05:00" ##显示日志到11:05
-o##设定日志的显示方式

请添加图片描述

请添加图片描述

short经典模式显示日志
请添加图片描述
verbose 显示日志的全部字节
请添加图片描述
export适合传出和备份的二进制格式
请添加图片描述
json js格式显示输出
请添加图片描述

-p ##显示制定级别的日志
#0 emerg 系统的严重问题日志
#1 alert 系统中立即要更改的信息
#2 crit 严重级别会导致系统软件不能正常工作
#3 err 程序报错
#4 warning 程序警告
#5 notice 重要信息的普通日志
#6 info 普通信息
#7 debug 程序拍错信息

请添加图片描述
请添加图片描述

-F PRIORITY ##查看可控日志级别
-u sshd ##指定查看服务
–disk-usage ##查看日志大小
–vacuum-size=1G ##设定日志存放大小
–vacuum-time=1W ##日志在系统中最长存放时间
-f ##监控日志
journalctl _PID=10924 _SYSTEMD_UNIT=sshd.service
请添加图片描述

实验2 用journald服务永久存放日志

系统中默认日志在:/run/log/journal中
默认方式在系统重启后日志会被清理要永久保存日志请完成以下操作:

mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod 2775 /var/log/journal
systemctl restart systemd-journald.service

当服务重启日志存放路径会被指定到:/var/log/journal

请添加图片描述
如果不作处理,日志不保存,节点号11473在下次重启时会改变

请添加图片描述
请添加图片描述

在下次重启时,节点号2514500不会改变。

2.rsyslog

服务名称:rsyslog.service

系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息,这些信息对用户了解系统的运行状态是非常有用的,所以需要把它们保存到对应的日志文件中,以便后续进行分析和监控系统或软件的状态。Linux 系统拥有非常灵活和强大的日志功能,几乎可以保存所有的操作记录,并可以从中检索出我们需要的信息,完成这个工作的守护进程就是 rsyslog。

在配置文件:/etc/rsyslog.conf 中定义了将系统日志分门别类采集到指定位置,具体如下:

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

实验1.自定义日志采集路径

vim /etc/rsyslog.conf

日志类型.日志级别 日志存放路径
*.* /var/log/westos ##把系统中所有级别的日志存放到westos中
*.*;authpriv.none /var/log/westos ##把系统中所有级别的日志存放到westos中,除了authpriv不存放到westos中

实验中,配置文件修改部分。
请添加图片描述
实验前,请添加图片描述
远程登录。
请添加图片描述
登录后,查看日志。
请添加图片描述
实验时,修改的配置文件。请添加图片描述
实验结果。

请添加图片描述

日志类型
auth #用户认证
authpriv #服务认证
cron #时间任务
kern #内核类型
mail #邮件
news #系统更新信息
user #用户
日志级别
debug #程序排错信息
info #程序常规运行信息
notice #重要信息的普通日志
waring #程序警告
err #程序报错
crit #严重级别会导致系统软件不能正常工作
alert #系统中立即要更改的信息
emerg #系统的严重问题日志
none #不采集

实验2.如何更改日志采集格式

1定义日志采集格式

$template WESTOS_FORMAT, "%FROMHOST-IP% %timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"

#WESTOS_FORMAT: 格式名称
#%FROMHOST-IP%: 日志来源主机IP
#%timegenerated%: 日志生成时间
#%syslogtag%: 日志生成服务
#%msg%: 日志内容
#\n: 换行

实验步骤:
注意:修改配置文件的操作是在接收方进行的
在日志接收方westosa中修改配置文件 /etc/rsyslog.conf,定义日志采集格式WESTOS,/var/log/westos;WESTOS表示只对/var/log/messages路径下的日志使用定义格式采集
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

2设定日志采集格式应用

*.*;authpriv.none /var/log/westos;WESTOS

module(load="builtin:omfile" Template="WESTOS_FORMAT") ##默认采用WESTOS_FORMAT格式

请添加图片描述
请添加图片描述
请添加图片描述

实验3.日志的远程同步

1).westos_node1:172.25.254.20 存放日志作为日志接受端,所有人日志都存放到此台主机
2).westos_linux:172.25.254.10 发送日志到westos_node1主机中

1.第一步,在westos_node1中设定接受所有人的日志

systemctl stop firewalld 
vim /etc/rsyslog.conf
19 module(load="imudp") ##打开日志接受插件
20 input(type="imudp" port="514") ##指定插件使用接口
systemctl restart rsyslog

查询端口:

root@rhel7_node1 ~]# netstat -antlupe | grep rsyslog
udp 
0 0 0.0.0.0:514 0.0.0.0:* 0 
67600 11115/rsyslogd 
udp6 0 0 :::514 :::* 0 
67601 11115/rsyslogd 

请添加图片描述
查询接收方端口是否成功开启
请添加图片描述

2.第二步,westos_linux中设定发送日志到westos_node1中

vim /etc/rsyslog.conf

*.* @172.25.254.20
systemctl restart rsyslog
@ 表示使用udp传输日志
@@ 表示使用tcp传输日志
@172.25.254.20 把本机日志用udp的传输方式发送到172.25.254.20主机

请添加图片描述
请添加图片描述

测试:

在westos_linux和westos_node1中
> /var/log/messages
在westos_linux中
logger westos test message
在westos_node1中可以看到westos_linux中生成的日志!!

请添加图片描述
请添加图片描述

3.timedatectl

timedatectl set-time "2020-02-13 10:41:55" ##设定系统时间
timedatectl list-timezones ##显示系统的所有时区
timedatectl set-timezone "Asia/Shanghai" ##设定系统时区
timedatectl set-local-rtc 0|1 ##设定系统时间计算方式
##0表示使用utc时间计算方式

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
上图实验没成功,需要关闭chronyd。
请添加图片描述
请添加图片描述

4.时间同步服务

#服务名称: chronyd.service
#配置文件: /etc/chrony.conf
在rhel7作为时间源rhel8同步rhel7时间
在time_server中
vim /etc/chrony.conf

26 allow 172.25.254.0/24 ##允许172.25.254.0网段主机同步时间
29 local stratum 10 ##开启时间同步服务器功能并设定级别为10
systemctl restart chronyd.service
systemctl stop firewalld 

在time_clinet中
vim /etc/chrony.conf

pool 172.25.254.100 iburst
systemctl restart chronyd

查看:

在time_client中查看时间:
现实已经变成time_server中时间
使用chronyc 命令查看时间效果:

[root@rhel8_node1 ~]# chronyc sources -v

210 Number of sources = 1
 .-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample 
===============================================================================
^* 172.25.254.11 10 6 17 15 -6970ns[+8437ns] +/- 180u

在time-server中
请添加图片描述
请添加图片描述
在time-client中
请添加图片描述
请添加图片描述
结果:
请添加图片描述

举报

相关推荐

0 条评论