目錄
- 配置發(fā)送端:從server發(fā)送到syslog
- 配置接收端:配置協(xié)議,端口號(hào),接收條件,存儲(chǔ)位置
- 取消注釋如下代碼:
- 接收條件配置
- 創(chuàng)建日志接收模板
- 結(jié)語(yǔ)
配置發(fā)送端:從server發(fā)送到syslog
打開以下文件
在第90行(附近也行)輸入以下代碼,authpriv代表所有級(jí)別的登錄日志,@@代表tcp,172.168.2.100代表目標(biāo)ip,514代表目標(biāo)端口號(hào),保存退出
authpriv.* @@10.99.8.6:514
配置接收端:配置協(xié)議,端口號(hào),接收條件,存儲(chǔ)位置
輸入以下代碼設(shè)置協(xié)議和端口號(hào)
取消注釋如下代碼:
接收條件配置
:fromhost- ip,iseuql,"10.99.8.6" /var/log/client_secure/10_3.log :fromhost- ip,iseuql,"10.99.8.2" /var/log/client_secure/10_12.log
:fromhost-ip,iseuql,”172.16.2.100”是設(shè)置條件:ip是172.16.2.100,后面是設(shè)置位置
保存退出
重啟日志服務(wù)并查看端口514
systemctl restart rsyslog.service
進(jìn)入/var/log下查看文件夾是否創(chuàng)建
在接收端輸入 tail -f /var/log/client_secure/10_3.log監(jiān)控此文件的內(nèi)容
觸發(fā)日志,在發(fā)送端切換用戶
接收端成功收到日志
配置完成
方式2:模板
創(chuàng)建日志接收模板
接下來(lái)的這步,需要我們來(lái)為遠(yuǎn)程消息創(chuàng)建模板,并告知rsyslog守護(hù)進(jìn)程如何記錄從其他客戶端機(jī)器所接受到的消息。
使用文本編輯器來(lái)打開 /etc/rsyslog.conf,然后在GLOBAL DIRECTIVE塊前追加以下的模板。
$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" **.* ?RemoteLogs& ~
在此對(duì)該模板進(jìn)行簡(jiǎn)單解釋,$template RemoteLogs(這里“RemoteLogs” 字符串可以為任何其他的描述性的名稱)指令使rsyslog后臺(tái)進(jìn)程將日志消息寫到/var/log下的單獨(dú)的本地日志文件中,其中日志文件的名稱是基于遠(yuǎn)程日志發(fā)送機(jī)器的主機(jī)名以及生成該日志的應(yīng)用程序名進(jìn)行定義的。其中第二行暗示了我們將RemoteLogs模板應(yīng)用到所有接收到的日志上。
符號(hào)”& ~”表示了一個(gè)重定向規(guī)則,被用來(lái)告知rsyslog守護(hù)進(jìn)程停止對(duì)日志消息的進(jìn)一步處理,并且不要在本地寫入。如果沒(méi)有使用該重定向規(guī)則,那么所有的遠(yuǎn)程消息都會(huì)在寫入上述描述的日志文件之外同時(shí)被寫入到本地日志文件,這就意味著日志消息實(shí)際上被寫了兩次。使用該規(guī)則的另外一個(gè)結(jié)果就是syslog服務(wù)器本身的日志消息只會(huì)被以該機(jī)器主機(jī)名命名的專有文件中。
如果你想要的話,也可以使用下面的模式對(duì)特定的設(shè)備或嚴(yán)重性級(jí)別使用新的模板直接來(lái)記錄日志消息。
[facility-level].[severity-level] ?RemoteLogs
例如:
將全部?jī)?yōu)先級(jí)別的所有內(nèi)部用戶驗(yàn)證消息指定為RemoteLogs模板:
authpriv.* ?RemoteLogs
將所有系統(tǒng)進(jìn)程中除開mail、用戶驗(yàn)證和cron消息之外的進(jìn)程產(chǎn)生的消息級(jí)別的日志指定為RemoteLogs模板:
*.info,mail.none,authpriv.none,cron.none ?RemoteLogs
如果我們想要將所有從遠(yuǎn)程客戶端接受到的消息寫入到一個(gè)以它們的IP地址命名的單個(gè)文件中,可以使用以下的模板。在此我們?yōu)樵撃0遒x予了“IpTemplate”名稱。
$template IpTemplate,"/var/log/%FROMHOST-IP%.log" *.* ?IpTemplate & ~
在我們啟用rsyslog守護(hù)進(jìn)程并編輯好配置文件之后,需要重啟該守護(hù)進(jìn)程。
在 Debian,Ubuntu 或 CentOS/RHEL 6中:
$ sudo service rsyslog restart
在 Fedora 或 CentOS/RHEL 7中:
$ sudo systemctl restart rsyslog
我們可以通過(guò)netstat命令來(lái)驗(yàn)證rsyslog守護(hù)進(jìn)程是否正常工作。
$ sudo netstat -tulpn | grep rsyslog
在UDP監(jiān)聽端口下工作的rsyslog守護(hù)進(jìn)程會(huì)有類似下面的輸出。
udp 0 0 0.0.0.0:514 0.0.0.0:* 551/rsyslogd udp6 0 0 :::514 :::* 551/rsyslogd
如果rsyslog守護(hù)進(jìn)程被設(shè)置在TCP連接端口,那么應(yīng)該有類似下面所示的輸出。
tcp 0 0 0.0.0.0:514 0.0.0.0:* LISTEN 1891/rsyslogd tcp6 0 0 :::514