Linux下的系統日誌管理

##1.rsyslog  此服務是用來採集和分類系統日誌的,

     它不產生日誌,只是起到採集的做用##
##2.日誌管理服務rsyslog##

##系統日誌默認分類##
  /var/log/messages      ##系統服務及日誌,包括服務的信息,報錯等等
  /var/log/secure          ##系統登錄日誌(系統認證信息日誌)
  /var/log/cron            ##系統定時任務日誌
  /var/log//maillog     ##系統郵件日誌
  /var/log//boot.log  ##系統啓動日誌   
##日誌類型##
vim /etc/rsyslog.conf  ##主配置文件
*.*  什麼類型的日誌.什麼級別的日誌  日誌處理方式(action)
systemctl restart rsyslog
##日誌設備(能夠理解爲日誌類型)##
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
##鏈接符號##
.xxx: 表示大於等於xxx級別的信息
.=xxx:表示等於xxx級別的信息
.!xxx:表示在xxx以外的等級的信息

##3.日誌的遠程同步##
在日誌發送方:
vim /etc/rsyslog.conf
*.*      @172.25.254.200 @符號表示udp協議發送 兩個@是tcp協議

systemctl restart rsyslog

在日誌接受方
 vim  /etc/rsyslog.conf
15 $ ModLoad imudp            #日誌接受模塊(去掉#)
16 $ UDPServerRun 514         #開啓接受端口


systemctl  restart rsyslog
systemctl  stop firewalld     #關閉火牆
systemctl  disable firewalld  #設定火牆開機關閉

測試:

在兩方都清空messages
> /var/log/messages

##在日誌發送方##
logger test

cat /var/log/messages

在日誌接受方
cat /var/log/messages

##日誌採集格式的設定

vim /etc/rsyslog.conf
加入$template LOGFMT, "%timegenerated% %FROMHOST-IP% %syslogtag% %msg%\n"

加入*.*  /var/log/westos;LOGFMT

%timegenerated%            ##顯示日誌時間
%FROMHOST-IP%          ##顯示主機ip
%syslogtag%                  ##日誌記錄目標
%msg%                          ##日誌內容
\n                                   ##換行

cat /var/log/westos

##4.時間同步服務##
服務名稱 chronyd
 
在服務端
vim  /etc/chrony.conf                   ##主配置文件

22 改成allow 172.25.254.0/24             容許哪些客戶端來同步本機的時間
29 local stratum 10                     本機不一樣步任何主機的時間,本機做爲時間源
systemctl restart chronyd
timedatectl set-timezone Asia/Shanghai  更改當前時區爲東8區

在客戶端
vim  /etc/chrony.conf
  3 server 0.rhel.pool.ntp.org iburst
  4 server 1.rhel.pool.ntp.org iburst====> server ntpserverip iburst        

 本機當即同步225主機的時間    

systemctl restart chronyd
timedatectl  set-timezone Asia/Shanghai 更改當前時區爲東8區

測試:

客戶端
chronyc sources -v
測試:
[root@localhost ~]# chronyc sources -v

##5.timedatectl命令##
timedatectl    status                ##顯示當前時間信息


        set-time        ##設定當前時間


        set-timezone        ##設定當前時區


        set-local-rtc 0|1    ##設定是否使用utc時間

##6.journalctl#

1.journalctl        ##日誌查看工具(不能查看關機以前的時間)

      -n  3         查看最近三條


      -p  err       查看錯誤日誌


      -o verbose    查看日誌的詳細參數


      --since       查看從什麼時間開始的日誌
      --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
...