『1-10』Linux之日志管理

Linux之日志管理

实验一、journalctl命令的用法

journalctl -n 3 日志的最新3条
journalctl --since "2000-01-11 12:12:12" 显示该时间后的日志
journalctl --until "2000-01-11 12:12:12" 显示日志直到该时间

journalctl -o 设定日志的显示方式
journalctl -o short 经典模式显示日志
journalctl -o verbose 显示日志的全部字节
journalctl -o export 适合传出和备份的二进制格式
journalctl -o json js格式显示输出
journal -p 显示制定级别的日志
journalctl -p 0journalctl -p emerg 系统的严重问题日志
journalctl -p 1journalctl -p alert 系统中立即要更改的信息
journalctl -p 2journalcrl -p crit 严重级别会导致系统软件不能正常工作
journalctl -p 3journalctl -p err 程序报错
journalctl -p 4journalctl -p warning 程序警告
journalctl -p 5journalctl -p notice 重要信息的普通日志
journalctl -p 6journalctl -p info 普通信息
journalctl -p 7journalctl -p debug 程序排错信息
journalctl -F PRIORITY 查看可控日志级别
journalctl -u sshd 指定查看服务
journalctl --disk-usage查看日志大小
journalctl --vacuum-size=1G设定日志存放大小
journalctl --vacuum-time=1W 日志在系统中最长存放时间
journalctl -f 监控日志
journalctl _PID=10924 _SYSTEMD_UNIT=sshd.service

journalctl -n 3 日志的最新3条在这里插入图片描述

journalctl --since "2000-01-11 12:12:12" 显示该时间后的日志

[root@node98 journal]# journalctl  --since  "2021-1-29 12:12:12"

在这里插入图片描述

journalctl --until "2000-01-11 12:12:12" 显示日志直到该时间

[root@node98 journal]# journalctl --until  "2021-1-30 18:25:25"

在这里插入图片描述

journalctl -o 设定日志的显示方式
journalctl -o short 经典模式显示日志
在这里插入图片描述

		`journalctl -o verbose` 显示日志的全部字节

在这里插入图片描述

		`journalctl -o export` 适合传出和备份的二进制格式

在这里插入图片描述

		`journalctl -o json` js格式显示输出

在这里插入图片描述

journal -p 显示制定级别的日志
journalctl -p 0journalctl -p emerg 系统的严重问题日志
在这里插入图片描述在这里插入图片描述

journalctl -p 1journalctl -p alert 系统中立即要更改的信息
在这里插入图片描述在这里插入图片描述

journalctl -p 2journalcrl -p crit 严重级别会导致系统软件不能正常工作
在这里插入图片描述在这里插入图片描述

journalctl -p 3journalctl -p err 程序报错
在这里插入图片描述在这里插入图片描述

journalctl -p 4journalctl -p warning 程序警告
在这里插入图片描述在这里插入图片描述

journalctl -p 5journalctl -p notice 重要信息的普通日志
在这里插入图片描述在这里插入图片描述

journalctl -p 6journalctl -p info 普通信息
在这里插入图片描述在这里插入图片描述

journalctl -p 7journalctl -p debug 程序排错信息
在这里插入图片描述在这里插入图片描述

journalctl -F PRIORITY 查看可控日志级别在这里插入图片描述

journalctl -u sshd 指定查看服务
在这里插入图片描述

journalctl --disk-usage查看日志大小在这里插入图片描述

journalctl --vacuum-size=1G设定日志存放大小
在这里插入图片描述

journalctl --vacuum-time=1W 日志在系统中最长存放时间

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

journalctl -f 监控日志 下拉实时更新
在这里插入图片描述
journalctl _PID=10924 _SYSTEMD_UNIT=sshd.service???
在这里插入图片描述

###############################

二、rsyslog

###############################
服务名称:rsyslog.service 默认开启
在这里插入图片描述日志存放:
/var/log/messages#系统服务日志,常规信息,服务报错
在这里插入图片描述

/var/log/secure#系统认证信息日志
在这里插入图片描述

/var/log/maillog#系统邮件日志信息
在这里插入图片描述

/var/log/cron#系统定时任务信息
在这里插入图片描述

/var/log/boot.log#系统启动日志信息
在这里插入图片描述

配置文件:/etc/rsyslog.conf
在这里插入图片描述

####实验1.自定义日志采集路径######
vim /etc/rsyslog.conf

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

在这里插入图片描述

[root@node98 log]# systemctl restart rsyslog.service 
[root@node98 ~]# watch -n 1 tail -n5  /var/log/westos

在这里插入图片描述
此处实验时有一个错误:
『错误』Linux之日志自定义接收之“日志打印的所有窗口都是”

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

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

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

[root@node98 ~]# ss -alntupe | grep rsyslog

1定义日志采集格式
$template WESTOS_FORMAT, "%FROMHOST-IP% %timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"

WESTOS_FORMAT: 格式名称
%FROMHOST-IP%: 日志来源主机IP
%timegenerated%:日志生成时间
%syslogtag%:日志生成服务
%msg%:日志内容
\n:换行
2设定日志采集格式应用


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

module(load="builtin:omfile" Template="WESTOS_FORMAT" ##默认采用WESTOS_FORMAT格式##写在40行rule下面

%FROMHOST-IP%: 日志来源主机IP

$template WESTOS_FORMAT,"%FROMHOST-IP%\n"

在这里插入图片描述

[root@node98 log]# systemctl restart rsyslog.service 

在这里插入图片描述

%timegenerated%:日志生成时间

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

在这里插入图片描述

[root@node98 log]# systemctl restart rsyslog.service 

在这里插入图片描述

%syslogtag%:日志生成服务

 40 $template WESTOS_FORMAT,"%FROMHOST-IP% %timegenerated%%syslogtag%\n"
 ##这里面的空格就是显示中的空格

在这里插入图片描述

[root@node98 log]# systemctl restart rsyslog.service 

在这里插入图片描述

%msg%:日志内容

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

在这里插入图片描述

[root@node98 log]# systemctl restart rsyslog.service 

在这里插入图片描述

\n:换行
看下不加换行的效果

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

在这里插入图片描述

[root@node98 log]# systemctl restart rsyslog.service 

在这里插入图片描述

##############实验3.日志的远程同步###############
『接收端』node198:192.168.1.198 存放日志作为日志接受端,所有人日志都存放到此台主机
node98:192.168.1.98 发送日志到node198主机中
1.在node198中设定接受所有人的日志
systemctl stop firewalld
vim /etc/rsyslog.conf


19 module(load="imudp")  ##打开日志接受插件
20 input(type="imudp" port="514") ##指定插件使用接口

在这里插入图片描述

systemctl restart rsyslog
查询端口:

[root@node198 ~]# netstat -antlupe |grep rsyslog
udp        0      0 0.0.0.0:514             0.0.0.0:*                           0          49987      1960/rsyslogd       
udp6       0      0 :::514                  :::*                                0          49988      1960/rsyslogd       
[root@node198 ~]# 
[root@node198 ~]# netstat -antlupe |grep rsyslog

在这里插入图片描述
2.node98中设定发送日志到node198中
vim /etc/rsyslog.conf

*.*					@172.25.254.20

在这里插入图片描述

systemctl restart rsyslog
@表示使用udp传输日志
@@ 表示使用tcp传输日志
@172.25.254.20把本机日志用udp的传输方式发送到172.25.254.20主机
测试:
在node98和node198中

> /var/log/messages

在node98中
logger westos test message

在这里插入图片描述

在node198中可以看到node98中生成的日志!!

在这里插入图片描述

二、用journald服务永久存放日志

系统中默认日志在:/run/log/journal

[root@node98 e0be87bb226243b8ae2762ba7730f0ea]# pwd
/run/log/journal/e0be87bb226243b8ae2762ba7730f0ea

在这里插入图片描述
cat后乱码,不能cat

在这里插入图片描述
默认方式在系统重启后日志会被清理,要永久保存日志请完成以下操作:
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
在这里插入图片描述

chmod 2775 /var/log/journal
在这里插入图片描述

systemctl restart systemd-journald.service
当服务重启日志存放路径会被制定到:/var/log/journal
在这里插入图片描述

测试:
1.在操以上步骤之前查看日志
2.重启系统
3.再次查看日志
4.可以看到日志是不会被保存下来的,只能看到重启之后的日志
5.完成以上操作后再次重启系统可以看到日志是被保存下来的

三、timedatectl

timedatectl #显示时区信息
timedatectl set-time "2021-01-21 13:15:00" ##设定系统时间
timedatectl set-local-rtc 0|1 #设定系统时间计算方式,0表示使用utc时间计算方式
timedatectl list-timezones ##显示系统的所有时区
timedatectl set-timezone "Europe/Amsterdam" #设定系统时区

设定日志存放大

以下是我们自定义的命令行,新建一个虚拟机2,
你们可以在virt-manager里新建。

[root@westos_student26 .ssh]# westos-vmctl create westos_node2

在这里插入图片描述
然后按进程管理里的网卡配置方法再配置一遍

[root@node126 .ssh]# timedatectl  #显示时区信息

在这里插入图片描述

[root@node126 .ssh]# timedatectl set-time "2021-01-21 13:15:00" ##设定系统时间

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

[root@node126 .ssh]# timedatectl set-local-rtc 0
 #设定系统时间计算方式,0表示使用utc时间计算方式
[root@node126 .ssh]# vim /etc/adjtime 

在这里插入图片描述

[root@node126 .ssh]# timedatectl set-local-rtc 1
[root@node126 .ssh]# vim /etc/adjtime 

在这里插入图片描述

[root@node126 .ssh]# timedatectl list-timezones ##显示系统的所有时区

在这里插入图片描述

[root@node126 .ssh]# timedatectl set-timezone "Europe/Amsterdam" #设定系统时区

在这里插入图片描述

[root@node126 .ssh]# timedatectl set-timezone "Asia/Shanghai"

在这里插入图片描述

四、时间同步服务

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

[root@node98 ~]# systemctl status chronyd

在这里插入图片描述

在node40作为时间源node98同步node40时间
在time_server中
vim /etc/chrony.conf

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

在这里插入图片描述

[root@node40 ~]# systemctl status chronyd

在这里插入图片描述

systemctl restart chronyd.service

[root@node40 ~]# systemctl restart chronyd
[root@node40 ~]# systemctl status chronyd

在这里插入图片描述

systemctl stop firewalld

[root@node40 ~]# systemctl disable --now firewalld

在这里插入图片描述

在node98中

vim /etc/chrony.conf

pool 192.168.1.40 iburst

在这里插入图片描述

[root@node98 ~]# timedatectl 

在这里插入图片描述

systemctl restart chronyd
在这里插入图片描述

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

[root@node98 ~]# 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               
===============================================================================
^* 192.168.1.40                 10   6    17    64  +5559ns[  +29us] +/-  109us
[root@node98 ~]# 

『node126』

[root@node126 ~]# systemctl enable --now chronyd

[root@node126 ~]# hostnamectl 

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_39679699/article/details/112860792