Linux中内建了一个基于Syslog协议的标准日志记录
1.systemd-journald.service: 记录与服务、开机引导有关的日志,服务在运行的时候才有相关的日志,它以二进制文件的形式保存在内存中,如果系统被重启或关机之后,systemd-journald.service保存的日志就没有了。
2.rsyslog.service:就是把 systemd-journald.service 保存的二进制日志内容,整理转换成文本文档,并且会保存在 /var/log 中。
服务名称:systemd-journald.service
journalctl 查询命令
默认日志存放路径: /run/log(默认系统重启后会被清理)
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
1 journalctl -n 5 查看最近5条日志
2 journalctl --since "19:00:02" --until "19:02:10"
3 journalctl -o short
4 journalctl -o verbose
5 journalctl -o export
6 journalctl -o json
7 journalctl -p err
8 journalctl -p 3
9 journalctl -F UNIT
10 journalctl -F PRIORITY
11 journalctl -u sshd 指定查看服务
12 journalctl --disk-usage 查看日志大小
13 journalctl --vacuum-size=1G 设置日志总存储
14 journalctl --vacuum-time=1w 设置日志存储时间为1周
系统中默认日志位置:/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
测试:
1.在操作以上步骤之前查看日志
2.重启系统
3.再次查看日志
4.可以看到日志是不会被保存下来的只能看到重启之后的日志
5.完成以上操作后再次重启系统可以看到日志是被保存下来的
服务名称:rsyslog.service
日志存放:
/var/log/messages #系统服务日志,常规信息,服务报错
/var/log/secure #系统认证信息日志
/var/log/maillog #系统邮件日志信息
/var/log/cron #系统定时任务信息
/var/log/boot.log #系统启动日志信息
配置文件:/etc/rsyslog.conf
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 #不采集
1.定义日志采集格式
$template WESTOS_FORMAT, “%FROMHOST-IP% %timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n”
#WESTOS_FORMAT: ##格式名称
#%FROMHOST-IP%: #日志来源主机IP
#%timegenerated%: #日志生成时间
#%syslogtag%: #日志生成服务
#%msg%: #日志内容
#\n: #换行
2.设定日志采集格式应用
在vim /etc/rsyslog.conf中进行以下修改
# Use default timestamp format
#module(load="builtin:omfile" Template="RSYSLOG_TraditionalFileFormat")
module(load="builtin:omfile" Template="MOUY")
# Include all config files in /etc/rsyslog.d/
include(file="/etc/rsyslog.d/*.conf" mode="optional")
$template MOUY, "%FROMHOST-IP% %timegenerated%\n"
设定后:systemctl restart rsyslog
或如下图:
3.更改为默认
westos_node1:172.25.254.20 ##存放日志作为日志接受端,所有人日志都存放到此台主机
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 ##46行左右处添加
*.* @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中生成的日志!!
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时间计算方式
在time_server中(时间共享主机)
vim /etc/chrony.conf (23、27行左右)
allow 172.25.254.0/24 ##允许172.25.254.0网段主机同步时间
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] +/- 180us