生活中的日誌是記錄你生活的點點滴滴,讓它把你內心的世界表露出來,更好的詮釋自己的內心世界。
而電腦裏的日誌可以是有價值的信息寶庫,也可以是毫無價值的數據泥潭。對於運維技術人員來說,日誌毫
無疑問起着至關重要的作用。
1.查看系統中的日誌 rsyslog
此服務是用來採集系統日誌的,他不生產日誌,只是起到採集作用
2.rsyslog的日誌文件目錄
/var/log/messages | ## 服務信息日誌 |
/var/log/secure | ## 系統登陸日誌 |
/var/log/cron | ## 定時任務日誌 |
/var/log/maillog | ## 郵件日誌 |
/var/log/boot.log | ## 系統啓動日誌 |
3.日誌管理服務
1) rsyslog
## 負責採集日誌和分類存放日誌
2) 日誌分類
vim /etc/rsyslog.conf ##配置文件
什麼類型的日誌.什麼級別的日誌 /存放文件
*.* /var/log/westos
服務類型有:
auth | pam產生的日誌 |
authpriv | ssh.ftp等登錄信息的驗證信息 |
cron | 時間任務相關 |
kren | 內核 |
lpr | 打印 |
郵件 | |
mark(syslog)-re=rsyslog | 服務內部的信息,時間標識 |
news | 新聞組 |
user | 用戶程序產生的相關信息 |
uucp | unix to unix copy,unix主機之間相關的通訊 |
local 1~7 | 自定義的日誌設備 |
日誌的級別有:
debug | 有調試信息的,日誌信息最多 |
info | 一般信息的日誌,最常用 |
notice | 最具有重要性的普通條件的信息 |
warning | 警告級別 |
err | 錯誤級別,阻止某個功能或者模塊不能正常工作的信息 |
crit | 嚴重級別,阻止整個系統或者整個軟件不能正常工作的信息 |
alert | 需要立刻修改的信息 |
emerg | 內核崩潰等嚴重信息 |
none | 什麼都不記錄 |
注意:1.每次配置完文件後,一定要重啓服務才能生效!!
systemctl restart rsyslog.service ##重啓日誌服務
2.從上到下,級別從低到高,記錄的信息越來越少
3.詳細的可以查看手冊:man 3 syslog
e.g.我們查看配置文件中原有的日誌項目
3)日誌的遠程同步
日誌的同步要在發送和接收兩端同時設定
a.發送端配置
vim /etc/rsyslog.conf ##配置日誌採集文件
將所有類型所有級別的日誌同步到ip地址爲172.25.254.222的主機中,
@ip表示採用UDP的傳輸協議同步,@@表示採用TCP的方式傳輸協議進行同步
b.接收端配置
vim /etc/rsyslog.conf ##配置日誌採集文件
去掉15、16行的註釋符
如果採用TCP傳輸協議同步,需要去掉19、20行的註釋符
重啓日誌服務,關閉防火牆,使配置生效
systemctl restart rsyslog.service ##重啓日誌服務
systemctl stop firewalld.service ##關閉防火牆
systemctl disable firewalld.service ##關閉防火牆開機自啓
爲了讓我們實驗結果更爲清晰,我們清空日誌內容,並指定日誌內容,分別在接收端額發送端查看
> /var/log/messages ##清空日誌文件
logger test ##指定文件test到日誌中
4.日誌採集格式的設定
配置的文件還是 /etc/rsyslog.conf
vim /etc/rsyslog.conf ##打開配置文件,設定採集格式
可以設定的格式內容有:
%timegenerated% | 顯示日誌時間 |
%FROMHOST-IP% | 顯示主機ip |
%syslogtag% | 顯示記錄目標 |
%msg% | 日誌內容 |
\n | 換行 |
例如:
$template LOCFMT,"%timegenerated% %FROMHOST-IP% %syslogtag% %msg% \n"
## LOGFMT可以自定義,但必須是大寫字母
*.info;mail.none;authpriv.none;cron.none /var/log/messages;LOCFMT
##定義之後要在相應的採集文件後面添加指定的文件採集格式
systemctl restart rsyslog.service
##重啓日誌服務,使配置文件生效
測試:
發送端:
接收端:
5.時間同步服務
服務名稱 : chronyd
服務端:
配置文件 /etc/chrony.conf
vim /etc/chrony.conf ##打開時間同步配置文件,配置相關參數
1)允許指定ip或者網絡位相同的的客戶端來同步本機時間
2)設定服務端的時間優先級爲10(本機不同步任何主機的時間,本機作爲時間源)
客戶端:
配置文件 /etc/chrony.conf
配置內容爲:
server 172.25.254.222 iburst ##本機立即同步222主機的時間
配置完畢後,重啓服務
systemctl restart chronyd.service ##重啓時間同步服務
測試:
1)更改服務端的時間,發現客戶端的時間被同步更改
2)查看時間源,可以看到同步的時間來源
##可以看到時間源中Source mode=server;IP爲所同步的服務器的IP
6.timedatectl 命令
timedatectl ##管理系統時間
timedatectl status ##顯示當前時間信息
timedatectl set-timezone "Asia/Shanghai" ##設置當前時區,更改當前時區分爲東8區
timedatectl set-time "2016-08-08 12:12" ## 設置當前時間
timedatectl set-local-rtc 0/1 ##設置是否使用utc時間
timedatectl list-timezones ##查看支持的時區
timedatectl ##管理系統時間
1) timedatectl status ##顯示當前時間信息
2) timedatectl set-timezone "Asia/Hong_Kong" ##設置當前時區,更改當前時區爲香港的時區
3) timedatectl set-time "2019-02-07 12:12" ## 設置當前時間
4)timedatectl set-local-rtc 0/1 ##設置是否使用utc時間
5)timedatectl list-timezones ##查看支持的時區
7.查看內存中的日誌 journalctl
journalctl -n 5 ##查看最近5條日誌
journalctl -p err ##查看錯誤日誌
journalctl -o verbose ##查看日誌的詳細參數
journalctl --since "**:**" ##查看從**:**開始的日誌
journalctl --until "**:**" ##查看到**:**爲止的日誌
1)journalctl -n 5 ##查看最近5條日誌
2) journalctl -p err ##查看錯誤日誌
3) journalctl -o verbose ##查看日誌的詳細參數
4) journalctl --since "00:00" ##查看從00:00開始的日誌
5) journalctl --until "00:02" ##查看到00:02爲止的日誌
需要注意的是,默認systemd-journald(內存中的日誌)不保存到硬盤中,
所以關機後再次開機只能看到本次開機之後的日誌,上一次關機之前的日誌是無法查看的
那麼如何使用systemd-journald保存系統日誌?
使用下列命令可以保存系統日誌(一般情況下不建議使用):
mkdir /var/log/journal ##新建一個存放目錄
chgrp systemd-journal /var/log/journal ##指定目錄的所有組爲systemd-journal
chmod g+s /var/log/journal ##給用戶所有組權限
killall -l systemd-journald
ls /var/log/journal
stat /var/log/journal/946cb0e817ea4adb916183df8c4fc817
reboot ##重啓虛擬機
ls /var/log/journal
stat /var/log/journal/946cb0e817ea4adb916183df8c4fc817
重啓:
查看日誌:
可以看到重啓前的日誌依然存在
注意:這種方法不建議使用的原因是:當你把大量的日誌信息保存到硬盤中,日積月累,你的硬盤會被不斷填充,最後導致系統不能正常運行。