Linux系統中對日誌的管理

首先,這個章節主要是對於日誌的採集和管理,對日誌進行遠程同步並且進行監控,以保證服務器的安全。在進行日誌管理的開始,爲了試驗的順利進行,對虛擬機重新命名進行區分命令如下

hostnamectl set-hostname 主機名.example.com   表示更改主機名稱

1.《日誌類型》

auth                   #用戶登錄日誌(pam產生的日誌)

authpriv             #服務產生日誌

kern                   #內核日誌

cron                  #定時打印任務日誌

lpr                     #打印機日誌

mail                   #郵件日誌

news                   #新聞日誌

user                    #用戶相關程序日誌

local 1-7              #用戶自定義日誌

《日誌級別》

debug                 #系統調試信息

info                     #常規信息

warning               #警告信息

err                       #報錯(級別較低,阻止了這個功能能不能正常工作)

crit                       #報錯(級別高,阻止整個軟件或者系統不能正常工作)

alert                     #需要立即修改的信息

emerg                  #內核崩潰

none                     #不採集任何日誌信息

日誌採集格式  

*.*     表示所有類型的所有級別的日誌信息

日誌類型.日誌級別         文件名稱

eg:   auth.debug     /var/log/westos      將用戶登錄的調試信息採集到/var/log/westos文件中

系統常用日誌類型

/var/log/messages       所有日誌級別的常規信息()

/var/log/maillog         郵件日誌

/var/log/secure          服務認證日誌

vim /etc/rsyslog.conf         更改日誌的配置文件  將服務產生的信息採集到內存裏,保存在日誌文件

> /var/log/westos            刪除日誌文件

修改日誌配置文件,修改完成後,需要重啓日誌服務

2.日誌遠程同步

UDP    速度快,不需要對方迴應,例如短信  @對方ip地址

TCP     信息穩定性高,需要對方主機迴應,速度較高,速度較慢, @@對方ip地址

具體信息使用 man 5 rsyslog.conf 進行查看

w -f    查看其它用戶登錄信息

 在日誌發送方操作:

vim /etc/rsyslog.conf

*.*   @172.25.254.199  (日誌接受方地址)

systemctl restart rsyslog

在日誌接受方操作:

vim /etc/rsyslog.conf 

15 $Modload imudp

16 $UDPServerRun 514


systemctl restart rsyslog

systemctl stop firewalld (systemctl restart sshd重啓服務)

systemctl disable firewalld

定義日誌採集格式:

vim /etc/log/rsyslog.conf

$templayed 格式名稱(自己設定),「日誌採集格式」$

$template 格式名稱,「%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n」

*.info;mail.none;authpriv.none;cron.none            /var/log/messages;格式名稱

註釋:

%timegenerated%           #日誌生成時間

%FROMHOST-IP%           #日誌來源ip

%syslogtag%                    #日誌生成程序

%msg%                            #日誌內容

\n                                    #換行


####強調修改完成配置文件一定需要重啓服務####

3.查看日誌

journalctl                      #日誌查看工具,直接查看內存中的日誌

journalctl -n 3               #查看最近3行的日誌

journalctl -p err             #查看錯誤日誌

journalctl -f 用戶 ctrl c    #結束監控

journalctl -o verbose       #查看日誌詳細參數

journalctl pid=651          #查看pid參數

journalctl status sshd      #查看ssh狀態

4.對systemd-journald管理

默認以上程序程序對日誌進行查看,而不對日誌進行保存和採集,那麼關機後對日誌進行查看,只能查看到開機後的日誌,系統之前的日誌因爲保存在內存中,所以關機後被清空,所以開機後journalctl查看不到

如何讓systemd-journaald保存在硬盤中

mkdir /var/log/journal

chgrp systemd-journal /var/log/journal

chmod g+s /var/log/journal

killall -1 systemd-journald 重新加載服務

 試驗示例:

journal -n 3

date(查看關機時間)

reboot(退出用戶)

journalctl(重新登錄用戶進行日誌查看)

第一張圖是不能查看關機前的日誌,在進行相應操作後,可以對關機前的日誌進行查看,結果示意圖如2圖



5.時間同步

在服務端共享時間

vim /etc/chrony.conf

29行 local stratum 10   開啓時間共享功能並設定共享級別爲10

22行 allow 172.25.254.0/24  允許同一網絡區域的客戶端訪問本機的共享時間

systemctl restart chronyd

客戶端操作

vim /etc/chronyd.conf

server 172.25.254.108 inburst 

systemctl restart shronyd

chronyd sources -v