共計 2198 個字符,預計需要花費 6 分鐘才能閱讀完成。
丸趣 TV 小編給大家分享一下如何搭建 rsyslog 日志服務器,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
環境配置
centos7 系統 client1:192.168.91.17
centos7 系統 master:192.168.91.18
rsyslog 客戶端配置
1、rsyslog 安裝
yum install rsyslog
2、啟用 UDP 進行傳輸
vim /etc/rsyslog.conf
# Provides UDP syslog reception # 若啟用 UDP 進行傳輸,則取消下面兩行的注釋
$ModLoad imudp
$UDPServerRun 514# Provides TCP syslog reception # 若啟用 TCP 進行傳輸,則取消下面兩行的注釋
#$ModLoad imtcp
#$InputTCPServerRun 514*.* @192.168.28.149:514 # 若啟用 TCP 傳輸則使用 @@,若是 UDP 則使用 @
3、重啟 rsyslog 服務
systemctl restart rsyslog
rsyslog 服務端配置
1、啟用 UDP/TCP 進行傳輸
vim /etc/rsyslog.conf
# Provides UDP syslog reception # 若啟用 UDP 進行傳輸,則取消下面兩行的注釋
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception # 若啟用 TCP 進行傳輸,則取消下面兩行的注釋
#$ModLoad imtcp
#$InputTCPServerRun 514
2、重啟 rsyslog 服務
systemctl restart rsyslog
測試服務是否能夠將客戶端的系統日志傳回服務端
1、在服務端不間斷輸出系統日志文件
tailf /var/log/messages
第二:在客戶端使用 logger 生成測試日志信息(并查看服務器端輸出,判斷是否通過網絡將日志收集到了)
logger rsyslog test
Rsyslog 搭建中心日志服務器
默認配置下,接收到的日志寫入服務端對應的日志文件里,如:如果涉及到了 secure 日志的記錄,就會寫到服務器端的 /var/log/secure 里面,也就是客戶端自己寫一份然后再往服務器端寫一份。
我們通過下面三個問題,對服務端日志配置進行優化。
優化問題 1:從客戶端發送過來的日志,在主機位置顯示自己的主機名,本地查看還是可以的,如果都匯聚到一個服務器了,如何去判斷此條消息是哪個服務器發過來的呢,顯然要以 IP 的形式更好一點,下面來設置一下。
需要在服務器端修改日志模板配置:
#### GLOBAL DIRECTIVES ####
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$template myFormat, %timestamp% %fromhost-ip% %syslogtag% %msg%\n $ActionFileDefaultTemplate myFormat
重啟 rsyslog 服務后,通過 IP 形式展示:
優化問題 2:服務端接收的日志過于分散,是否可疑將日志存放到一個指定的目錄里面,進行日志分類存儲。
打開 /etc/rsyslog.conf 文件,啟用 UDP 協議,盡量避免修改主配置文件,我們在 /etc/rsyslog.d/ 中新建 default.conf,追加如下模板:
#### GLOBAL DIRECTIVES ####
# Use default timestamp format # 使用自定義的格式
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$template myFormat, %timestamp% %fromhost-ip% %syslogtag% %msg%\n $ActionFileDefaultTemplate myFormat
# 根據客戶端的 IP 單獨存放主機日志在不同目錄,rsyslog 需要手動創建
$template RemoteLogs, /var/log/rsyslog/%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log # 排除本地主機 IP 日志記錄,只記錄遠程主機日志
:fromhost-ip, !isequal, 127.0.0.1 ?RemoteLogs
# 忽略之前所有的日志,遠程主機日志記錄完之后不再繼續往下記錄 ~
通過使用自定義格式,將不同客戶端 IP 的日志單獨存放在不同目錄。
優化問題 3:
rsyslog 寫日志自定義,比如 /data/rsyslog 目錄權限沒有問題,但是日志無法正常輸出?
只需要關閉 SELinux 即可實現日志文件路徑寫入的問題。
臨時關閉 SELinux
setenforce 0 永久關閉
vi /etc/selinux/config
SELINUX=disable
以上是“如何搭建 rsyslog 日志服務器”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道!