日誌管理服務
1.rsyslog #此服務是用來採集系統日誌的,其本身不產生日誌
2.rsyslog的管理
/etc/rsyslog.conf | ##rsyslog服務配置文件 |
---|---|
/var/log/messages | ##服務信息日誌 |
/var/log/secure | ##系統登陸日誌 |
/var/log/cron | ##定時任務日誌 |
/var/log/maillog | ##郵件日誌 |
/var/log/boot.log | ##系統啓動日誌 |
指定日誌採集路徑: 在/etc/rsyslog.conf下設置
什麼類型的日誌.什麼級別的日誌 /var/log/file ##日誌採集規則
##日誌類型分爲:
auth | ##pam產生的日誌 |
---|---|
authpriv | ##ssh,ftp等登陸信息的驗證信息 |
cron | ##時間任務相關 |
kern | ##內核 |
lpr | ##打印 |
##郵件 | |
mark(syslog)-rsyslog | ##服務內部的信息,時間標識 |
news | ##新聞組 |
user | ##用戶程序產生的相關信息 |
uucp | ##unix to unix copy,unix 主機之間相關的通訊 |
local 1~7 | ##自定義的日誌設備 |
##日誌的級別分爲
debug | ##有調式信息的,日誌信息最多 |
---|---|
info | ##般信息的日誌,最常用 |
notice | ##最具有重要性的普通條件的信息 |
warning | ##警告級別 |
err | ##錯誤級別,阻止某個功能或者模塊不能正常工作的信息 |
crit | #嚴重級別,阻止整個系統或者整個軟件不能正常工作的信息 |
alert | ##需要立刻修改的信息 |
emerg | ##內核崩潰等嚴重信息 |
none | ##什麼都不記錄 |
##注意:從上到下,級別從低到高,記錄的信息越來越少
##詳細的可以查看手冊:man 3 syslog
3.日誌的遠程同步
在日誌發送方:
vim /etc/rsyslog.conf
. @172.25.254.216 ##"@“表示udp協議發送,”@@"表示tcp協議發送
systemctl restart rsyslog.service
在日誌接收方:
vim /etc/rsyslog.conf
15 $ModLoad imudp #日誌接受模塊
16 $UDPServerRun 514 #開啓接收端口
systemctl restart rsyslog.service
systemctl stop firewalld #關閉防火牆
測試:
在發送方和接收方都清空日誌文件
> /var/log/messages
在日誌的發送方
logger test #發送測試日誌
cat /var/log/messages #查看日誌已經生成
在日誌接收方查看
cat /var/log/messages
###日誌採集格式的設定######
(1)在vim /etc/rsyslog.conf下添加
$template WESTOS, “%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n” (WESTOS爲自己設定的規則名)
%timegenerated% | #顯示日誌時間 |
---|---|
%FROMHOST-IP% | #顯示主機ip |
%syslogtag% | #日誌記錄目標 |
%msg% | #日誌內容 |
\n | #換行 |
(2)在想要使用該規則的日誌採集路徑後加上“;WESTOS“
*.info;mail.none;authpriv.none;cron.none /var/log/messages;WESTOS(注意這中間加的是分號)
cat /var/log/messages
時間同步服務
服務名稱
chronyd
##在服務端
vim /etc/chrony.conf
22 allow 172.25.254/24 #允許網絡區域爲172.25.254的客戶端來同步本機時間
29 local stratum 10 #本機不同步任何主機的時間,本機作爲時間源
systemctl restart chronyd.service
date 11111111 #更改當前時間爲11月11號11點11分
##在客戶端:
date 查看自己的時間
vim /etc/chrony.conf
server 172.25.254.216 iburst #本機立即同步216主機的時間 inburst表示立即同步
systemctl restart chronyd.service
##測試
#在客戶端:
chronyc sources -v
timedatectl命令
timedatectl | #管理系統時間 |
---|---|
timedatectl status | #顯示當前時間信息 |
timedatectl set-time | #設定當前時間 |
timedatectl set-timezone | #設定當前時區 |
timedatectl set-local-rtc 0/1 | #設定是否使用utc時間 0使用utc時間(世界時間) 1使用本機時間,可通過vim /etc/adjtime 查看 |
timedatectl list-timezones | #查看支持的所有時區 /***搜索 |
journal
1.journalctl ##日誌查看工具
journalctl -n 3 | ##查看最近3條日誌 |
---|---|
journalctl -p err | ##查看錯誤日誌 |
journalctl -o vebose | #查看日誌的詳細參數 |
journalctl --since | ##查看從什麼時間開始的日誌 |
journalctl --until | ##查看到什麼時間爲止的日誌 |
2.如何使用systemd-journald保存系統日誌
默認systemd-journald是不保存系統日誌到硬盤的
那麼關機後再次開機只能看到本次開機之後的日誌
上一次關機之前的日誌是無法查看的
mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod g+s /var/log/journal
killall -1 systemd-journald
ls /var/log/journal
然後reboot重啓虛擬機
再次通過journalctl我們可以看到上一次關機前的日誌仍然可以顯示