搭建rsyslog日誌服務器

環境配置linux

centos7系統 client1:192.168.91.17vim

centos7系統 master:192.168.91.18centos

rsyslog客戶端配置服務器

一、rsyslog安裝網絡

yum install rsyslog  

二、啓用UDP進行傳輸tcp

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則使用@

三、重啓rsyslog服務ide

systemctl restart rsyslog

rsyslog服務端配置測試

一、啓用UDP/TCP進行傳輸優化

vim /etc/rsyslog.conf # Provides UDP syslog reception #若啓用UDP進行傳輸,則取消下面兩行的註釋 $ModLoad imudp $UDPServerRun 514 ​ # Provides TCP syslog reception #若啓用TCP進行傳輸,則取消下面兩行的註釋 #$ModLoad imtcp #$InputTCPServerRun 514

二、重啓rsyslog服務centos7

systemctl restart rsyslog

測試服務是否可以將客戶端的系統日誌傳回服務端

一、在服務端不間斷輸出系統日誌文件

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
相關文章
相關標籤/搜索