RHEL之(二)Red Hat Linux 日志管理


日志管理

一、概念

1)在RHEL系統中,日志是通過什么協議記錄的呢? Syslog

2)記錄服務有關、開機引導有關的日志,服務在運行時候才有有關的日志:Systemd-journald.service

3)如何保存:以二進制文件的形式保存在內存,如果系統被重啟以后,systemd-journald.service保存的日志就沒有了。

4)把systemd-journald.service 保存的二進制內容,轉換成文本文檔,並且會保存在/var/log中:rsyslog.service

 

二、日志分類

 

/var/log/secure: 一般和登陸有關,例如SSH遠程連接,本地登陸等。

/var/log/boot.log: 系統啟動時啟動的服務和組件等。

 

 

 

三、日志的格式:

Jul  4 05:14:36 : 時間。指記錄/產生這條日志的時間

Servera:產生這天日志的對象(rsyslog可以記錄遠程主機的日志)

sshd[22895]:這個日志是通過哪個服務產生的

Accepted…… : 具體的日志事件

 

服務類型的日志(如httpd服務的日志)

對於特定的服務日志格式,在服務的配置文件會定義好保存的日志

格式:。例如在/etc/httpd/conf.d/httpd.conf中有格式定義:

 

 

 

Tips在配置文件中輸入/LogFormat”可以快速定位到該行,日志格式的定義以通配符表示。

 

Tips當使用Linux查看日志時,可以根據以下兩種情況:

A、當需要查看某種具體的服務時:

   了解該服務的配置文件中,關於日志的定義路徑,以及日志格式。

B、當需要查看普通的系統相關日志以及服務的簡略日志:

   方法一:查看/var/log路徑下的日志(以上已給出)

   方法二:使用命令systemctl status xxx(服務名)

C、更多的場景下是通過專門的記錄日志的方式: ELK (不進行詳細的介紹) 

 

四、日志的級別:

日志中的告警信息是分級別的,分為8個等級:

 

Tips:告警的級別數值越小,說明優先級越高,緊急的程度也越高。當出現emerg的告警信息時,系統基本會死機狀態。一般來說,我們只重點處理0~3的告警

 

rsyslog.conf中,可以配置將不同的告警信息放在指定的文件中(分門別類的存放):/etc/rsyslog.conf

 

 

 

 

 

 

解讀:

A、

authpriv.*        /var/log/secure

凡是與登陸驗證相關的告警信息都存放在var/log/secure中。

 

B、

*.info;mail.none;authpriv.none;cron.none  /var/log/messages

所有的信息,除了與郵件,登陸驗證,作業調度相關的告警外,都存放在/var/log/messages中。

 

C、

*.emerg              :omusrmsg:*

針對所有的emerge信息,都會立即顯示在所有的終端上。

:omusrmsg:*   所有的終端(屏幕上)

 

日志的級別:日志的文件內容及日志的定義方式

 

 

 

local7.* :日志設備

首先有服務記錄日志到特定的local設備,然后在通過rsyslog存

儲到特定的文件

local0 ~ local7 保留給本機用戶使用

local7:日志的最高級別為7。


舉幾個例子:
(1)在/etc/rsyslog.conf中增加如下配置后重啟rsyslog服務
local2.info           /var/log/test.log
執行命令
[root@localhost ~]# logger -p local2.info "hello world"
查看 /var/log/test.log
[root@localhost ~]# tail /var/log/test.log             
Nov 18 22:36:30 localhost root: hello world
Tips: logger命令-p參數含義:  -p, --priority priority_level
     指定輸入消息的優先級,優先級可以是數字或者指定為 " facility.level" 的格式。比如:" -p local3.info " local3 這個設備的消息級別為 info。默認級別是 "user.notice"

(2)如果是使用rsyslog開源代碼進行開發,可以設置日志的facility類型為local0,對應的rsyslog服務器配置local0日志類型的處理

(3)另外如果是路由設備,比如華為設備,可以對log進行配置:
info-center loghost 192.168.1.1 facility local4
這樣,在192.168.1.1的rsyslog服務器上配置local4日志類型的處理方式,就可以存儲來自路由設備的日志了

 

五、日志的輪替(logrotate)

日志輪替的定義:使用者定義一種日志規則,每當日志滿足條件時(日志文件大小,周期等),將會產生(替換)一個新的文件記錄日志。

 

  1. 日志的輪替規則

(1)以周期為規則。如每周的周五執行一次輪替

(2)以大小為規則。以日志文件的大小進行輪替,如文件大小達到5M時執行一次輪替。

(3)以上兩種方式混合使用來輪替。

 

 

 

日志輪替的配置文件:/etc/logrotate.conf

 

 

 

 

 

 

六、systemd-journald服務

  1. 查看內存日志命令:journalctl

各個常用參數的含義:

-f follow):實時滾動顯示最新的日志

 

 

 

-n  查看后面n行的日志

 

 

 

-p  查看指定告警級別的日志

 

 

 

--since --until  指定一個時間段內產生的日志

 

 

 

Tips:如何設置日志的永久存儲

1)編輯/etc/systemd/journald.conf

 

 

 

2)設置Storage=persistent

 

 

 

3)重啟systemd-journald服務即可生效

systemctl restart systemd-journald

 

 

 

七、時間與時區(timedatectl)

 

 

 

設置時區 set-timezone

 

 

Tips這里是CST是指China Standard Time(中國標准時間)

CST不總是代表中國標准時間

 

配置Chrony(NTP)服務

如果直接使用timedatectl設置時間

 

系統會報錯,因為默認使用了NTP(網絡時間協議,一種用於使計算機時間同步的協議),所以不可以自行修改時間。

 

所以,要先將NTP功能關閉,然后才可以手動修改時間,操作如下:

 

 

 

NTP功能開啟

 

 

 

遠程服務器設置(chronyd/ntp)

需求:

配置一台客戶端B與另一台服務器A的時間同步(chronyd)

Step 1:在服務器和客戶端安裝chronyd服務

1)使用dnf在包管理器下載安裝chronyd服務

 

 

 

2)安裝完成后,啟動並啟用chrongyd服務,並查看一下服務狀態是否顯示正在運行:

 

 

 

Step 2:配置chronyd服務器

1)chrony安裝完成后,可以在chrony主配置文件/etc/chrony.conf上進行更改配置,配置你想要同步時間的服務器。

   

TipsRHEL7版本及之前,配置文件為ntp.conf 

 

設置最接近你的時間服務器:注釋掉第一個pool行並添加NTP服務器列表:

 

 

 

你還可以指定允許訪問NTP服務器的IP地址或網絡地址block:

 

 

 

更改后重新啟動chronyd服務

 

 

 

2)如果有活動的firewalld服務,請允許ntp端口:

firewall-cmd --add-service=ntp --permanent 

firewall-cmd --reload

 

 

 

3)檢查NTP服務器是否正常工作:

 

 

 

Step 3:配置chronyd客戶端

(1)編輯配置文件以將NTP服務器設置為指向新配置的NTP服務器:

 

更改后重新啟動chronyd服務

 

 

 

2)檢查NTP服務器是否正常工作:

 

 

 

 

Step 4:驗證

配置到了這里,NTP服務器已經在RHEL 8服務器上運行了

 

 

 

 

參考鏈接

RHEL 8系統上使用Chrony配置NTP服務器

https://ywnz.com/linuxyffq/3920.html

國內常用的NTP服務器地址

https://www.cnblogs.com/jins-note/p/9513385.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM