天天看點

Linux系統中對日志的同步及管理

1.系統日至預設分類

指令 功能
/var/log/messages 系統服務及日志,包括服務的資訊,報錯等等
/var/log/secure 系統認證資訊日志
/var/log/maillog 系統郵件服務資訊
/var/log/cron 系統定時任務資訊
/var/log/boot.log 系統啟動資訊

2.日志管理服務rsyslog

1.rsyslog負責采集日志和分類存放日志

2.rsyslog日志分類

vim /etc/rsyslog.conf	     ##主配置檔案
           

格式:

日志裝置(類型).日志級别		/存放檔案
*.*			/var/log/westos

systemctl restart rsyslog     ##重起服務
           
Linux系統中對日志的同步及管理
Linux系統中對日志的同步及管理

日志裝置(日志類型):

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 什麼都不記錄

注意:從上到下,級别從低到高,記錄的資訊越來越少

詳細的可以檢視手冊: man 3 syslog

Linux系統中對日志的同步及管理

連結符号

.xxx: 表示大于等于xxx級别的資訊
.=xxx:表示等于xxx級别的資訊
.!xxx:表示在xxx之外的等級的資訊
           

3.日志同步

systemctl stop firewalld 		##關閉兩台主機的火牆
           

配置日志發送方

*.*             @172.25.254.136		##通過udp協定把日志發送到136主機,@udp,@@tcp
           

配置日志接受方

$ModLoad imudp		        ##日志接收插件
 $UDPServerRun 514			##日志接收插件使用端口
           
Linux系統中對日志的同步及管理

因為在服務端使用的是一個@符号,故使用戶端的UDP日志接收插件等的注釋去掉,即收發兩方的協定必須相同

Linux系統中對日志的同步及管理

測試

> /var/log/messages			   ##兩邊都作
logger test messages           ##日志發送方
cat /var/log/messages          ##檢視日志

tail -f /var/log/message       ##日志接收方
           

若在使用檢視日志時出現某一行出錯,則将其檔案删掉後重起

如50行出錯

Linux系統中對日志的同步及管理

服務端清空日志,測試日志

Linux系統中對日志的同步及管理

用戶端可以檢視服務端日志

Linux系統中對日志的同步及管理

4.日志采集格式

$template WESTOS, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"
           
%timegenerated% 顯示日志時間
%FROMHOST-IP% 顯示主機ip
%syslogtag% 日志記錄目标
%msg% 日志内容
\n 換行

注:格式名稱必須是大寫, “參數”參數兩邊都有% 參數寫在什麼位置生成的日志對應參數就在相應的位置 不加換行不會自動換行

參數中間加的分隔符會顯示到日志中 出現invalid property name報錯是參數寫錯 在使用該格式的日志檔案後加;和格式名稱

如果是給别的主機發送就在接收方的/etc/rsyslog.conf下設定同樣的格式即可, 否則發送的會以接收方的格式顯示

即在哪檢視以哪的标準顯示

編輯服務端主檔案

Linux系統中對日志的同步及管理

重起使用test2測試

Linux系統中對日志的同步及管理

用戶端檢視

Linux系統中對日志的同步及管理

發現檔案的格式沒有改變,因為隻在服務端做了格式修改而在用戶端沒有修改

用戶端做同樣修改

Linux系統中對日志的同步及管理
Linux系統中對日志的同步及管理

再次檢視發現格式改變

Linux系統中對日志的同步及管理

5.時間同步

編輯服務,設定時間源

重起服務

服務端關閉防火牆,防火牆不允許别的主機通路或向本機發送資料包

Linux系統中對日志的同步及管理
23行 把時間共享出去,允許誰去同步我的時間,allow 172.25.136/24 隻要前三個數字相同就可以通路
30行 local stratum 10 表示時間源的級别,本機不同步任何主機的時間,本機作為時間源
           
Linux系統中對日志的同步及管理

用戶端

vim /etc/chrony.conf
           
Linux系統中對日志的同步及管理

删掉原有的網址,設定服務端ip

Linux系統中對日志的同步及管理

通路端 隻保留一行 server 後的是ip位址,iburst是指讓更改立即生效

用戶端測試:

<1>為了差別時間可以在用戶端設定一個别的時間

Linux系統中對日志的同步及管理

<2>在未重新開機服務之前

chronyc sources -v檢視目前的設定

Linux系統中對日志的同步及管理

<3>重新開機服務,再次檢視,時間與服務端同步

Linux系統中對日志的同步及管理

timedatectl指令

指令 功能
timedatectl status 顯示目前時間資訊
timedatectl set-time " " 設定目前時間
timedatectl set-timezone 設定時區
timedatectl set-local-rtc 0/1 設定是否使用utc時間
Linux系統中對日志的同步及管理
Linux系統中對日志的同步及管理

設定本地時間

Linux系統中對日志的同步及管理
Linux系統中對日志的同步及管理

檢視時區

Linux系統中對日志的同步及管理

設定時間

Linux系統中對日志的同步及管理

設定時區‘

Linux系統中對日志的同步及管理

6.journal

journalctl  ##日志檢視工具
           

journalctl主要保證日志的時效性和詳細性,儲存,備份,以及定時删除日志不是他的特長,但是,他也可以實作

注:journalctl查到的是系統目前生成的日志;系統重新開機之後,記憶體斷過電,儲存的日志就會丢失,用journalct就檢視不到日志;

而/var/log/messages檔案裡記錄的是被采集過的日志,系統重新開機不影響其對日志的記錄

指令 功能
journalctl -n 3 檢視最近3條日志
journalctl -p err 檢視錯誤日志
journalctl -o verbose 檢視日志的詳細參數
journalctl --since “時間點” 檢視從什麼時間開始的日志
journalctl --until “時間點” 檢視到什麼時間為止的日志
journalctl --since “時間點1” --until “時間點2” 檢視從時間點1到時間點2為止的所有日志
journalctl _HOSTNAME=localhost 檢視主機名為localhost的主機的日志

使用systemd-journald儲存系統日志

預設systemd-journald是不儲存系統日志到硬碟的

那麼關機後再次開機隻能看到本次開機之後的日志

上次關機之前的日志是無法檢視的

想要檢視關機之前的日志,首先:

建立日志檔案,改變其組,給特殊權限

Linux系統中對日志的同步及管理

重新加載systemd-journald程序配置

檢視日志内容

Linux系統中對日志的同步及管理

發現檔案中的内容是目前機器的機器id

重起虛拟機

檢視曆史記錄

就可以儲存08:24:59以前的内容

Linux系統中對日志的同步及管理

繼續閱讀