系統日誌
1.系統日誌默認分類
/var/log/messages 系統服務及日誌,包括服務的信息,報錯等等
/var/log/secure 系統認證信息日誌
/var/log/maillog 系統郵件服務信息
/var/log/cron 系統定時任務信息
/var/log/boot.log 系統啓動信息
2.日誌管理服務 rsyslog.service
(1).rsyslog 負責採集日誌和分類存放日誌
(2).rsyslog 日誌分類
vim /etc/rsyslog.conf 主配置文件
格式: 日誌設備(類型).(連接符號)日誌級別 日誌處理方式(action)
日誌設備(可以理解爲日誌類型):
———————————————————————-
auth pam產生的日誌
authpriv ssh,ftp等登錄信息的驗證信息
cron 時間任務相關
kern 內核
lpr 打印
mail 郵件
mark(syslog)–rsyslog 服務內部的信息,時間標識
news 新聞組
user 用戶程序產生的相關信息
uucp unix to unix copy, unix主機之間相關的通訊
日誌級別
———————————————————————-
debug 有調式信息的,日誌信息最多
info 一般信息的日誌,最常用
notice 最具有重要性的普通條件的信息
warning 警告級別
err 錯誤級別,阻止某個功能或者模塊不能正常工作的信息
crit 嚴重級別,阻止整個系統或者整個軟件不能正常工作的信息
alert 需要立刻修改的信息
emerg 內核崩潰等嚴重信息
none 什麼都不記錄
服務.日誌級別 /存放文件
*.* /var/log/freya
表示將系統任何類型、任何級別的日誌信息存放在/var/log/westos下,上圖用cat /var/log/freya來查看日誌信息
注意:從上到下,級別從低到高,記錄的信息越來越少詳細的可以查看手冊: man 3 syslog
連接符號
———————————————————————-
.xxx: 表示大於等於xxx級別的信息
.=xxx:表示等於xxx級別的信息
.!xxx:表示在xxx之外的等級的信息
#####實例####
1. 記錄到普通文件或設備文件::
*.* /var/log/file.log
*.* /dev/pts/0
測試: logger -p local3.info ‘KadeFor is testing thersyslog and logger ‘ logger命令用於產生日誌
2. 發送給用戶(需要在線才能收到)
*.* root
*.* root,kadefor,up01 使用,號分隔多個用戶
*.* * *號表示所有在線用戶
3. 忽略,丟棄
local3.* ~ 忽略所有local3類型的所有級別的日誌
4. 執行腳本::
local3.* ^/tmp/a.sh ^號後跟可執行腳本或程序的絕對路徑
日誌內容可以作爲腳本的第一個參數.
可用來觸發報警
3.日誌同步
(1)步驟
①systemctl stop firewalld 關閉兩臺主機的火牆
②配置日誌發送方 (vim /etc/rsyslog.conf)
*.* @172.25.0.11 通過udp協議把日誌發送到11主機
注意@:udp,@@:tcp,當需要同步到外部的主機時,用tcp協議(@@)更加安全
重啓服務:systemctl restart rsyslog.service
③配置日誌接受方 (vim /etc/rsyslog.conf)
15 $ModLoad imudp 日誌接收插件
16 $UDPServerRun 514 日誌接收插件使用端口
重啓服務:systemctl restart rsyslog.service
④測試
> /var/log/messages 兩邊都做
logger test message 日誌發送方
⑤watch -n 1 ' /var/log/messages' 日誌接收方
當規定日誌採集格式 ,在上述步驟的基礎上,在發送方的/etc/rsyslog.conf 配置文件下做如下更改
$template freya, "%timegenerated% %FROMHOST-IP% %syslogtag%%msg%\n"
%timegenerated% 顯示日誌時間
%FROMHOST-IP% 顯示主機ip
%syslogtag% 日誌記錄目標%msg% 日誌內容
\n 換行
$ActionfileDefaultTemplate freya
*.info;mail.none;authpriv.none;cron.none /var/log/messages;<<freya>>
改完配置文件後,一定要記得重啓服務
4.日誌分析工具journal(systemd-journald是該進程名稱)
journalctl 直接執行,瀏覽系統日誌
-n 3 顯示最新3條
-p err 顯示報錯
-f 監控日誌
--since --until --since "[YYYY-MM-DD] [hh:mm:ss]"從什麼時間到什麼時間的日誌
-o verbose 顯示日誌能夠使用的詳細進程參數
_PID=(進程pid)+ _SYSTEMD_UNIT=(服務名稱)
對systemd-journald管理
默認情況下此程序會忽略重啓前的日誌信息,如不忽略:
①mkdir /var/log/journal
②chown root:systemd-journal /var/log/journal
③chmod 2755 /var/log/journal
④killall -1 systemd-journald
⑤ls /var/log/journal/
system.journal user-1000.journal
5.時間同步
1.服務端
yum install chrony -y 安裝服務
vim /etc/chrony.conf 主配置文件
22 allow 172.25.0.0/24 允許誰去同步我的時間
29 local stratum 10 不去同步任何人的時間,時間同步服務器級別
systemctl restart chronyd
systemctl stop firewalld
2.客戶端
更改時間以及把時間同步到硬盤和系統上
vim /etc/chrony.conf
3 server 0.rhel.pool.ntp.orgiburst====>刪掉
4 server 1.rhel.pool.ntp.orgiburst====> 刪掉 ====> server 客戶IP iburst
5 server 2.rhel.pool.ntp.orgiburst====>刪掉
6 server 3.rhel.pool.ntp.orgiburst====>刪掉
systemctl restart chronyd
測試結果:
兩邊>/var/log/messages清空日誌
兩邊watch -n 1 date監控
5.timedatectl命令
timedatectl status 顯示當前時間信息
set-time 設定當前時間
set-timezone 設定當前時區
set-local-rtc 0|1 設定是否使用utc時間