Linux入門(10)——日志管理
1. journal 管理
- 預設日志檢視
記錄系統日志的服務名為:systemd-journald.service
存放日志的預設路徑為:/run/log
控制指令為: journalctl
[[email protected] Desktop]# journalctl -n 3 #日志的最新3條
[[email protected] Desktop]# journalctl --since "2020-05-01 11:00:00" #顯示11:00後的日志
[[email protected] Desktop]# journalctl --until "2020-05-01 11:05:00" #顯示日志到11:05
[[email protected] Desktop]# journalctl -o [options] #設定日志的顯示方式
[[email protected] Desktop]# journalctl -p [options] #設定日志的顯示方式
[[email protected] Desktop]# -F PRIORITY #檢視可控日志級别
[[email protected] Desktop]# -u sshd #指定檢視服務
[[email protected] Desktop]# --disk-usage #檢視日志大小
[[email protected] Desktop]# --vacuum-size=1G #設定日志存放大小
[[email protected] Desktop]# --vacuum-time=1w #日志在系統中最長存放時間
[[email protected] Desktop]# -f #監控日志
[[email protected] Desktop]# journalctl _PID=10924 _SYSTEMD_UNIT=sshd.service#顯示指定日志
日志顯示方式:
- -o [options] :
options | 作用 |
---|---|
short | 經典模式顯示日志 |
verbose | 顯示日志的全部位元組 |
export | 适合傳出和備份的二進制格式 |
json | js格式顯示輸出 |
- -p [options] :
options id | options name | 作用 |
---|---|---|
emerg | 系統的嚴重問題日志 | |
1 | alert | 系統中立即要更改的資訊 |
2 | crit | 嚴重級别會導緻系統軟體不能正常工作 |
3 | err | 程式報錯 |
4 | warning | 程式警告 |
5 | notice | 重要資訊的普通日志 |
6 | info | 普通資訊 |
7 | debug | 程式拍錯資訊 |
- 預設日志永久存放
預設方式在系統重新開機後日志會被清理,若要永久儲存日志資訊需要對日志進行重新定向。
[[email protected] Desktop]# mkdir /var/log/journal
[[email protected] Desktop]# chgrp systemd-journal /var/log/journal
[[email protected] Desktop]# chmod 2775 /var/log/journal
[[email protected] Desktop]# systemctl restart systemd-journald.service
當服務重新開機日志存放路徑會被指定至:/var/log/journal
2. rsyslog
服務名稱:rsyslog.service
配置檔案:/etc/rsyslog.conf
預設存放路徑:
/var/log/messages #系統服務日志,正常資訊,服務報錯
/var/log/secure #系統認證資訊日志
/var/log/maillog #系統郵件日志資訊
/var/log/cron #系統定時任務資訊
/var/log/boot.log #系統啟動日志資訊
- 自定義采集路徑
編輯配置檔案可以自定義日志的存放路徑。
#格式 日志類型.日志級别 日志存放路徑
*.* /var/log/journal #把系統中所有級别的日志存放到journal中
*.*;authpriv.none /var/log/journal #除authpriv不存放到journal中,其餘所有級别日志均存放到journal中
日志類型 | 說明 |
---|---|
auth | 使用者認證 |
authpriv | 服務認證 |
cron | 時間任務 |
kern | 核心類型 |
郵件 | |
news | 系統更新資訊 |
user | 使用者 |
日志級别 | 說明 |
---|---|
debug | 程式排錯資訊 |
info | 程式正常運作資訊 |
notice | 重要資訊的普通日志 |
waring | 程式警告 |
err | 程式報錯 |
crit | 嚴重級别會導緻系統軟體不能正常工作 |
alert | 系統中立即要更改的資訊 |
emerg | 系統的嚴重問題日志 |
none | 不采集 |
- 自定義采集格式
[[email protected] Desktop]# vim /etc/rsyslog.conf #編輯rsyslog配置檔案
# 定義采集格式
$template FORMAT, "%FROMHOST-IP% %timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
# 指定生效的日志範圍
*.*;authpriv.none FORMAT
# 設定預設生效
module(load="builtin:omfile" Template="FORMAT") #預設使用FORMAT格式
設定名 | 内容 |
---|---|
%FROMHOST-IP% | 日志來源主機IP |
%timegenerated% | 日志生成時間 |
%syslogtag% | 日志生成服務 |
%msg% | 日志内容 |
\n | 換行 |
- 日志的遠端同步
日志發送端為rhclient :192.168.158.128
日志接收端為rhserver:192.168.158.129
發送端操作:
[[email protected] Desktop]# vim /etc/rsyslog.conf #編輯rsyslog配置檔案
#将以下内容添加至rsyslog的配置檔案中
*.* @192.168.158.129
# @ 表示使用udp傳輸日志
# @@ 表示使用tcp傳輸日志
[[email protected] Desktop]# systemctl restart rsyslog #重新開機rsyslog服務
接收端操作:
[[email protected] Desktop]# csystemctl stop firewalld #關閉防火牆
[[email protected] Desktop]# vim /etc/rsyslog.conf #編輯編輯rsyslog配置檔案
# 修改配置檔案内容
19 module(load="imudp") #打開日志接受插件
20 input(type="imudp" port="514") #指定插件使用接口
[[email protected] Desktop]# systemctl restart rsyslog #重新開機rsyslog服務
[[email protected] Desktop]# netstat -antlupe | grep rsyslog #檢視端口
3. 時間同步服務
服務名稱: chronyd.service
配置檔案: /etc/chrony.conf
使用一台主機作為時間伺服器同步其他主機的時間。
服務端操作:
[[email protected] Desktop]# vim /etc/chrony.conf
26 allow 192.168.158.0/24 #允許192.168.158.0網段主機同步時間
29 local stratum 10 #開啟時間同步伺服器功能并設定級别為10
[[email protected] Desktop]# systemctl restart chronyd.service
[[email protected] Desktop]# systemctl stop firewalld
用戶端操作:
[[email protected] Desktop]# vim /etc/chrony.conf
pool 192.168.158.129 iburst
[[email protected] Desktop]# systemctl restart chronyd
用戶端檢驗:
用戶端時間已經與服務端時間同步
使用chronyc 指令檢視時間效果:
[[email protected] Desktop]# chronyc sources -v
210 Number of sources = 1