Linux系統中的日誌管理

一、

1.rsyslog的管理 :

  • 此服務是用來採集系統日誌的。他不產生日誌,只是起到採集作用

/var/log/messages : 服務信息日誌
/var/log/secure : 系統登陸日誌
/var/log/maillog : 郵件日誌
/var/log/boot.log : 系統啓動日誌

指定日誌採集路徑 :

什麼類型的日誌.什麼級別的日誌 /var/log/file #日誌
採集規則 :

日誌類型分爲:

日誌類型 含義
authpriv ssh,ftp等登錄信息的驗證信息
kern 內核
cron 時間任務相關
lpr 打印
auth pam產生的日誌
mail 郵件
mark(syslog)-rsyslg 服務內部的信息,時間標識
news 新聞組
user 用戶程序產生的相關信息
uucp unix to unix copy,unix主機之間相關
local 1~7 自定義的日誌設備
日誌級別分類 含義
debug 有調試信息的,日誌信息最多
info 一般信息的日誌,最常用
notice 最具有重要性的普通條件的信息
warning 警告級別
err 錯誤級別,阻止某個功能或者模塊不能正常工作的信息
crit 嚴重級別,組織某個系統或者整個軟件不能正常工作的信息
alert 需要立刻修改的信息
emerg 內核崩潰等嚴重信息
none 什麼都不記錄
注意: 從上到下,級別從低到高,記錄的信息越來越少,詳細可查看手冊:man 7 syslog

2.日誌的遠程同步

插件:實現功能的小程序(模塊)

在日誌發送方:

vim /etc/rsyslog.conf

編輯 : * . * @172.25.254.235
「@」表示udp協議發送, 「@@」 表示 tcp 協議發送

systemctl restart rsyslog   重啓日誌

在日誌接收方:

vim /etc/rsylog.conf

15 $ModLiad imudp : 日誌接收模塊
16 $UDPServerRun 514 : 開啓接收端口

systemctl restart rsyslog   重啓日誌

關閉火牆:

systemctl stop firewalld          ##關閉火牆

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

測試:
在發送方和接收方都清空日誌文件 :

> /var/log/messages
在日誌的發送方: logger test
日誌接收方:cat /var/log/messages

3.日誌採集格式的設定

vim /etc/rsyslog.conf
$template HELLO, "%timegenerated%  %FROMHOST-IP%  %syslogtag%  %msg%\n "
%timegenerated%    ## 顯示日誌時間

%FROMHOST-IP%      ## 顯示主機ip

 %syslogtag%       ## 顯示記錄目標

  %msg%            ## 日誌內容
   
  \n               ## 換行

*.info;mail.none;authpriv.none;cron.none

/var/log/messages;HELLO
cat /var/log/messages

二.時間同步服務

服務名稱:chronyd :設定時間源
local stratum 10 : 共享時間源
時間源的級別(優先級)

在這裏插入圖片描述

測試:

在客戶端

[[email protected]_ssh ~]# date 11111111 ##修改客戶端時間

Mon Nov 11 11:11:00 EST 2019

在這裏插入圖片描述

  • utc時間計算方式:世界時間+時區

6.timedatectl 命令

timedatectl                                    ##管理系統時間

timedatectl status                             ##顯示當前時間信息

timedatectl set-timezone "Asia/Shanghai"       ##設置當前時區

timedatectl set-time "2019-01-15 11:25:00"     ##設置當前時間

timedatectl set-local-rtc 0/1                  ##設置是否使用utc時間

timedatectl list-timezones                     ##查看支持的時區
vim /etc/adjtime

三、journalctl 內存中的日誌

1.journalctl : 日誌查看工具

journalctl -n 5              查看最近5條日誌

journalctl -p err            查看錯 誤日誌

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

journalctl _PID=84 _COMM=systemd-journal

journalctl --since "09:25"    查看從9:25開始的日誌
journalctl --until "09:28"    查看到9:28爲止的日誌

2.如何使用systemd-journald保存系統日誌 :

默認systemd-journald是不保存系統日誌到硬盤的,
那麼關機後再次開機只能看到本次開機之後的日誌
(上一次關機之前的日誌是無法查看的)

mkdir /var/log/journal
chgrp systemd-journal /var/log/journal
chmod g+s /var/log/journal
ls /var/log/journal               
killall -l systemd-journald
[[email protected]_sshd ~]# ls /var/log/journal
        946cb0e817ea4adb916183df8c4fc817