一、配置安裝環境
linux centOS 7.4
配置網絡,具體見http://www.lxweimin.com/p/cb8d0e6758ab
二、安裝配置rsyslog
1)安裝rsyslog
[root@localhost ~]#yum -y install rsyslog
2)更新下系統的其他包
[root@localhost ~]#yum update
(說明:
配置文件/etc/rsyslog.conf大概分為三個部分
####MODULES####
這個部分是針對接收配置的,主要是指定接收日志的協議和端口。若要配置日志服務器,則需要將相應的配置項去掉注釋。
####GLOBAL DIRECTIVES####
這個部分主要用來配置模板,模板的作用是指定你希望在日志文件中保存的日志格式。
#### RULES ####
這一部分是規則文件,每行配置分兩個字段,第一字段是說明要記錄哪類日志(包括消息類型和等級),第二字段是說明日志存放位置(action),可以是本地文件,也可以是遠程服務器。)
3)[root@localhost ~]#vi /etc/rsyslog.conf
4):set nu顯示行號
5)允許rsyslog后臺進程在TCP/UDP協議的514端口上接收日志信息,rsyslog后臺進程是可以同時監聽TCP/UDP連接的。
15,16,19,20前面的#去掉
6)在#### GLOBAL DIRECTIVES ####前添加下面的內容:
#將所有從遠程客戶端接受到的消息寫入到一個以它們的IP地址命名的單個文件中
$template RemoteLogs,"/var/log/devicelog/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?RemoteLogs
& ~
#排除本地主機IP日志記錄,只記錄遠程主機日志
fromhost-ip, !isequal, "127.0.0.1"
?Remote
& ~
(說明:
第一行$template 定義模板名稱RemoteLogs(“RemoteLogs” 可以為其它名字),日志存入到/var/log/devicelog路徑下。而日志文件名則依據發送遠程日志的機器名及應用程序名來定義。
第二行*.*? ?RemoteLogs暗含運行用模板RemoteLogs于所有的接收日志。
第三行& ~則告訴rsyslog后臺進程停止進一步去處理日志信息,即不對它們進行本地化寫入,它是代表一個重定向規則。如果沒有這一行,則意味著接收到的日志會寫入兩次,一次如前兩行寫的方式寫,第二次則以本地日志記錄的方式寫入。運行這個規則的另一個結論則是日志服務器自己的日志信息只會寫入到依照機器主機名命名的文件中。)
7)重啟下服務,并加入開機啟動
[root@localhost ~]#systemctl restart rsyslog
[root@localhost ~]#systemctl enable rsyslog
8)驗證下端口
[root@localhost ~]#netstat -antup | grep 514
9)配置防火墻規則
[root@localhost ~]#firewall-cmd --permanent --zone=public --add-port=514/tcp
[root@localhost ~]#firewall-cmd --permanent --zone=public --add-port=514/udp
[root@localhost ~]#firewall-cmd --reload
10)將要連接syslog的設備設置好syslog環境的ip和端口,然后在本機查看日志
[root@localhost ~]#mkdir /var/log/devicelog/
[root@localhost ~]#cd /var/log/devicelog/