目录
linux系统的日志管理
1、journalctl 日志查看工具
程序本身生成日志 --> systemd-journald服务收集日志 --> 存放在system.journal文件中
默认存放日志文件路径:/run/log/
systemctl disable firewalld 做实验前关闭防火墙
1)、journalctl命令用法
journalctl -n 3 #日志的最新3条
--since "2021-07-20 11:00:00" #显示11:00后的日志
--until "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 #日志在系统中最长存放时间为1星期(week)
-f #监控日志
2)、用journald服务存放日志
系统默认日志存放 /run/log/journal/ 中: 8bf8757aa7ac4d73b173c9970462643f/system.journal
mkdir /var/log/journal #在/var/log/中创建存放日志的文件夹
chgrp systemd-journal /var/log/journal/ #将新文件夹的组改为systemd-journal
(因为日志获取程序只能识别有systemd-journal组的文件夹)
chmod 2775 /var/log/journal/ #更改文件权限 2:目录中新建的文件自动归属到目录的所属组中
ls -ld /var/log/journal/ #查看文件信息
systemctl restart systemd-journald #重新加载systemd-journald
服务重启后日志存放路径会被指定到: /var/log/journal
2、rsyslog 日志查看工具 (企业常用)
日志存放:
/var/log/ messages #系统服务日志,常规信息,服务报错
sercure #系统认证信息
maillog #系统邮件日志
cron #系统定时任务
boot.log #系统启动日志
配置文件:/etc/rsyslog.conf
1)、实验:自定义日志采集路径
vim /etc/rsyslog.conf
日志类型.日志级别 日志存放路径
*.* /var/log/westos #把系统中所有级别的日志存放到wests中
*.*;authpriv.none /var/log/westos #除了authpriv 外的所有日志存放到westos中
systemctl restart rsyslog.service #更改保存后 重启日志获取服务
>/var/log/westos #清空westos 后 另一台主机ssh连接主机a
cat /var/log/westos #查看westos
日志类型 | 日志级别 | |||
auth | #用户认证 | debug | #程序排错信息 | |
authpriv | #服务认证 | info | #程序常规运行信息 | |
cron | #时间任务 | notice | #重要信息的普通日志 | |
kern | #内核类型 | waring | #程序警告 | |
#邮件 | err | #程序报错 | ||
news | #系统更新信息 | crit | #严重级别会导致系统软件不能正常工作 | |
user | #用户 | alert | #系统中立即要更改的信息 | |
emerg | #系统的严重问题日志 | |||
none | #不采集 |
2)、更改日志采集格式
1.定义日志采集格式
$template WESTOS, "%FROMHOST-IP% %timegenerated% %syslogtag% %msg%\n"
#WESTOS: 格式名称
#%FROMHOST-IP%: 日志来源主机IP
#%timegenerated%: 日志生成时间
#%syslogtag%: 日志生成服务
#%msg%: 日志内容
#\n: 换行
2.设定日志采集格式应用
接收端:(关火墙)
19 module(load="imudp") #打开日志接受插件
20 input(type="imudp" port="514") #指定插件使用接口
35 module(load="builtin:omfile" Template="WESTOS_FORMAT") #设置所有日志文件都采用WESTOS格式(设置系统默认日志采集格式)
47 *.*;authpriv.none /var/log/westos;WESTOS #设置/var/log/westos日志文件采用WESTOS的日志采集格式命令格式下按2下Y复制整行,P粘贴
systemctl restart rsyslog #重启日志采集服务
netstat -antlupe | grep rsyslog #查看端口
发送端:(关火墙)
vim /etc/rsyslog.conf
*.* @172.25.254.120 #设置发送日志到172.25.254.120主机
@ 表示使用udp传输
@@ 表示使用tcp传输
systemctl restart rsyslog #重启服务
结果测试:
logger hello #可以在接收端看到传输的 "hello" 日志
3、 timedatectl 时间查看工具
时间查看:
[root@westosa ~]# timedatectl
Local time: Sun 2021-07-25 11:35:01 CST #当地时间
Universal time: Sun 2021-07-25 03:35:01 UTC #伦敦时间
RTC time: Sun 2021-07-25 03:35:02 #硬件时间
Time zone: Asia/Shanghai (CST, +0800) #时区:亚洲上海(东8区)UTC时间加上8等于当前时间
System clock synchronized: no #是否同步系统时钟
NTP service: active #网络同步时间
RTC in local TZ: no #本地时间写到硬件
[root@westosa ~]#
时间管理命令:
timedatectl set-time "12:30:00" 设定系统时间
timedatectl list-timezones #显示系统的所有时区
timedatectl set-timezone "XXX" #设置系统时区
timedatectl set-local-rtc 0 #设定系统时间的计算方式
0 表示用utc时间计算法方式
4、同步时间服务
服务名: chronyd.service
配置文件: /etc/chrony.conf
实验: 首先关闭火墙
时间发送端(时间源)
vim /etc/chrony.conf #打开配置文件
23 allow 0.0.0.0/0 #设置允许所有人同步时间
(172.25.254.0/24 允许172.25.254.0网段主机同步时间)
......
26 local stratum 10 #开启时间同步服务器功能并设定级别为10
systemctl restart chronyd #重启时间同步服务接收端
vim /etc/chrony.conf #打开时间同步配置文件
3 pool 172.25.254.220 iburst #设置同步172.25.254.220主机的时间
systemctl restart chronyd.service #重启服务
在time_client中查看时间:
现实已经变成time_server中时间
使用chronyc 命令查看时间效果:
[root@westosa ~]# 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.20 10 6 17 15 -6970ns[+8437ns] +/- 180us