(1) 系統的日誌一般存在於/var/log 目錄中
rsyslog服務 #此服務是用來採集系統日誌的,它不產生日誌,只是起到採集作用
rsyslog的管理:
/var/log/messages 大多數系統日誌信息記錄在此處
/var/log/secure 安全和身份認證相關的信息的日誌
/var/log/maillog 系統郵件服務信息的日誌
/var/log/cron 系統定時任務信息的日誌
/var/log/boot.log 系統啓動的日誌
(2) 指定日誌採集路徑
/var/log/file 根據日誌採集規則,可以指定日誌的類型,類別
日誌類型分爲:
auth pam 產生的日誌
authpriv ssh,ftp 等登錄信息的驗證信息
cron 時間任務相關
kern 內核
lpr 打印
mail 郵件
mark(syslog)-rsyslog 服務內部的信息,時間標識
news 新聞組
user 用戶程序產生的相關信息
uucp unix to unix copy,unix 主機之間相關的通訊
local 1~7 自定義的日誌設備
日誌級別分爲:
debug 有調試信息的,日誌信息最多
info 一般信息的日誌,最常用
notice 最具有重要性的普通條件的信息
warning 警告級別
err 錯誤級別,阻止某個功能或者模塊不能正常工作的信息
crit 嚴重級別,阻止整個系統或者整個軟件不能工作的信息
alert 需要立刻修改的信息
emerg 內核崩潰等嚴重信息
none 什麼都不記錄
注意:從上到下,級別從低到高,記錄的信息越來越少
(3)rsyslog 服務
rsyslog 是一個開源工具,被廣泛用於Linux系統以 TCP/UDP 協議轉發或接收日誌消息
此服務是用來採集系統日誌的,它不產生日誌,只是起到採集作用
主配置文件爲 /etc/rsyslog.conf ,指定日誌保存位置修改配置文件,修改後重啓 rsyslog 服務生效
日誌發送方:
vim /etc/rsyslog.conf
. @日誌接受方ip ##(「@」表示udp協議發送 「@@」表示tcp協議發送)
systemctl restart rsyslog ##重啓服務
日誌接收方:
vim /etc/rsylog.conf
15 $ModLoad imudp ##加載日誌接收功能模塊
16 $UDPServerRun 514 ##加載日誌接收接口
systemctl restsrt rsyslog ##重啓服務
systemctl stop firewalld ##關閉火牆
測試:
在發送方和接受方都清空日誌文件
/var/log/messages
[[email protected] Desktop]# > /var/log/messages
[[email protected] Desktop]#
[[email protected] ~]# > /var/log/messages
[[email protected] ~]#
在日誌發送方:
logger test
cat /var/log/messages ##查看日誌已經生成
[[email protected] Desktop]# logger test
[[email protected] Desktop]# cat /var/log/messages
Oct 16 03:19:47 client root: test
[[email protected] Desktop]#
在日誌接受方查看
cat /var/log/messages
Oct 16 03:19:47 client root: test
Oct 16 03:19:50 server rc.local: /etc/rc.d/rc.local: connect: No route to host
Oct 16 03:19:50 server rc.local: /etc/rc.d/rc.local: line 18: /dev/tcp/content.e
vim /etc/rsyslog.conf
$template WESTOS, 「%FROMHOST-IP% %timegenerated% %syslogtag% %msg%\n」
備註:在哪裏看日誌就在哪裏設定格式
%timegenerated% 顯示日誌時間
%FROMHOST-IP% 顯示主機IP
%syslogtag% 日誌記錄目標
%msg% 日誌內容
\n 換行
在指定的日誌中採用WESTOS格式
重啓服務 並進行查看
讓所有的日誌都用此採集格式
$ActionFileDefaultTemplate WESTOS
之前已經採集的日誌格式不會發生變化
用ssh登陸後新採集的日誌格式發生變化
cat /var/log/secure
rsyslog採集日誌,從磁盤讀取,速度慢,reboot 重啓系統之後系統之前的日誌會被清除
journal 不採集日誌,直接從內存查看日誌 ,速度更快,reboot 重啓系統之後系統之前的日誌會被清除
(1) journalctl
(2) journalctl -n 查看最近10條日誌
(3) journalctl -n 3 查看最近的三條日誌
(4)journalctl --since 11:30 --until 15:00 查看11:30至15:00之間的日誌
(5) journalctl -o verbose 查看日誌的詳細參數
可以指定id和進程名稱精確查看
(6) journalctl -p err 查看錯誤日誌
(1) 建立日誌採集路徑 並且將目錄的組修改爲systemd-journal
(2)保證journal目錄下新建的文件都屬於systemd-journal組
chmod g+s /var/log/journal/
在進程不關閉的情況下刷新進程 killall -1 systemd-journald
(3) 查看journal目錄中是否有主機的機器碼(該文件生成後纔可以採集日誌)
(4)reboot 查看是否可以採集該時間點之前的日誌 若能查看到說明採集成功