rsyslog 系統日誌服務 rsyslog服務是CentOS 6 以後版本的系統日誌管理服務。 特點: 性能高、安全性好、基於模塊化設計 官方網站: https://www.rsyslog.com/ rsyslog系統日誌術語 facility:設施,從功能或程式上對日誌進行歸類 Priority ...
rsyslog 系統日誌服務
rsyslog服務是CentOS 6 以後版本的系統日誌管理服務。
特點:
性能高、安全性好、基於模塊化設計
官方網站:
https://www.rsyslog.com/
rsyslog系統日誌術語
- facility:設施,從功能或程式上對日誌進行歸類
- Priority 優先順序別
日誌類別的分類:
- 內置內類:
auth, authpriv, cron, daemon,ftp,kern, lpr, mail, news, security(auth), user, uucp, syslog
- 自定義分類:
local0-local7
優先順序別:
從低到高分為是:
debug, info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic)
rsyslog服務的相關文件:
#可以通過 rpm -ql rsyslog查看程式包裡面的文件
程式包:rsyslog
主程式:/usr/sbin/rsyslogd
CentOS 6:/etc/rc.d/init.d/rsyslog {start|stop|restart|status}
CentOS 7,8:/usr/lib/systemd/system/rsyslog.service
配置文件:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf
庫文件: /lib64/rsyslog/*.so
rsyslog 配置文件
配置文件的組成:
由三部分組成:模塊配置、全局配置、日誌規則設置
#### MODULES #### 約定了載入那些模塊
#### GLOBAL DIRECTIVES #### 例如日誌的存儲目錄、模塊的載入路徑等
#### RULES #### 日誌的規則配置(不同類別的日誌存放位置)
日誌規則(RULES)格式設置:
格式:日誌類別.優先順序 ... 存儲日誌的文件或其他
例如:
#authpriv類別,任何級別的日誌都存放到/var/log/secure中
authpriv.* /var/log/secure
facility格式:
指定日誌的類別,多個類別之間用逗號隔開,*號表示所有類別
facility1,facility2,facility3,... #指定的facility列表
priority格式:
指定日誌的優先順序
*: 所有級別
none:沒有級別,即不記錄
PRIORITY:指定級別(含)以上的所有級別
=PRIORITY:僅記錄指定級別的日誌信息
target格式:
target可以出一個存儲日誌的文件路徑,也可以是指定的日誌伺服器等
文件路徑:通常在/var/log/,文件路徑前的-表示非同步寫入
用戶:將日誌事件通知給指定的用戶,* 表示登錄的所有用戶
日誌伺服器:@host,把日誌送往至指定的遠程UDP日誌伺服器 @@host 將日誌發送到遠程TCP日誌伺服器
管道: | COMMAND,轉發給其它命令處理
日誌的通用格式:
事件產生的日期時間 主機 進程(pid):事件內容
例如:
[root@centos8 ~]#tail /var/log/messages
Nov 12 08:34:18 centos8 dnf[14114]: Metadata cache created.
Nov 12 08:34:18 centos8 systemd[1]: Started dnf makecache.
Nov 12 09:35:14 centos8 systemd[1]: Starting dnf makecache...
Nov 12 09:35:14 centos8 dnf[14249]: Metadata cache refreshed recently.
Nov 12 09:35:14 centos8 systemd[1]: Started dnf makecache.
Nov 12 10:21:22 centos8 systemd[1]: Starting man-db-cache-update.service...
範例:將ssh服務的日誌記錄至自定義的local的日誌設備
#修改sshd服務的配置
Vim /etc/ssh/sshd_config
SyslogFacility local2 #調用rsyslog的local2這種日誌類別
Service sshd reload
#修改rsyslog的配置
Vim /etc/rsyslog.conf
Local2.* /var/log/sshd.log #loacl2表示自定義的日誌類別,*表示所有級別的日誌
Systemctl restart rsyslog
#測試
Ssh登錄後,查看/var/log/sshd.log有記錄
使用syslog管理日誌的前提:
服務支持rsyslog,調用了rsyslog的介面才可以使用。