服务器接收消息写日志,在Ubuntu 18.04上配置Rsyslog集中式日志服务器的方法
本文介紹在Ubuntu 18.04操作系統(tǒng)上配置Rsyslog集中式日志服務(wù)器的方法。
前言
登錄任何Linux系統(tǒng)對(duì)于分析和排除與系統(tǒng)和應(yīng)用程序相關(guān)的任何問題至關(guān)重要,借助Graylog等工具(參考:在Ubuntu 18.04上安裝及配置Graylog server的方法),你可以輕松地將這些日志發(fā)送到集中平臺(tái),以便輕松實(shí)現(xiàn)可視化。
在Linux上,默認(rèn)情況下,所有日志文件都位于/var/log目錄下,有幾種類型的日志文件存儲(chǔ)不同的消息,可以是cron,內(nèi)核,安全性,事件,用戶,這些日志文件大多由rsyslog服務(wù)控制。
在最近使用systemd的系統(tǒng)上,一些日志由journald守護(hù)程序管理,它們是二進(jìn)制格式的,這些日志是易失性的,因?yàn)樗鼈儽粚懭隦AM并且不能承受系統(tǒng)重啟,它們經(jīng)常在/run/log/journal/上找到,但請(qǐng)注意,也可以將journald配置為通過寫入文件來永久存儲(chǔ)日志消息。
我們將把rsyslog服務(wù)器配置為集中式日志管理系統(tǒng),rsyslog服務(wù)將偵聽udp/tcp端口, rsyslog使用的默認(rèn)端口是514,在客戶端系統(tǒng)上,rsyslog將通過UDP或TCP端口通過網(wǎng)絡(luò)收集日志并將日志發(fā)送到rsyslog服務(wù)器。
使用syslog消息時(shí),存在表征日志文件的優(yōu)先級(jí)/嚴(yán)重性級(jí)別,即:
emerg,panic(緊急):0級(jí) - 這是最低的日志級(jí)別,系統(tǒng)無法使用。
警報(bào)(警報(bào)):1級(jí) - 必須立即采取行動(dòng)。
錯(cuò)誤(錯(cuò)誤):3級(jí) - 危急情況。
警告(警告):等級(jí)4 - 警告條件。
通知(通知):第5級(jí) - 正常但重要的條件。
info(信息):6級(jí) - 信息性消息。
debug(Debugging):Level 7 - 這是最高級(jí)別 - 調(diào)試級(jí)別的消息。
安裝Rsyslog
默認(rèn)情況下,在Ubuntu 18.04系統(tǒng)上Rsyslog安裝非常的簡(jiǎn)單,只需要一個(gè)命令,你可以通過運(yùn)行以下命令來安裝它:
sudo apt-get install rsyslog
安裝后,檢查服務(wù)以查看它是否正在運(yùn)行,運(yùn)行sudo systemctl status rsyslog命令即可:
配置rsyslog以在服務(wù)器模式下運(yùn)行
現(xiàn)在配置rsyslog服務(wù)以在服務(wù)器模式下運(yùn)行:
sudo vim /etc/rsyslog.conf
取消注釋udp和tcp端口綁定的行:
module(load="imudp")
input(type="imudp" port="514")
# provides TCP syslog reception
module(load="imtcp")
input(type="imtcp" port="514")
如果你想限制訪問特定子網(wǎng),IP或域,請(qǐng)?zhí)砑尤缦?#xff1a;
$AllowedSender TCP, 127.0.0.1, 192.168.10.0/24, *.example.com
可以在輸入input(type="imtcp" port="514")行后添加上面的行,請(qǐng)記住用正確的值替換給定的值。
創(chuàng)建用于接收遠(yuǎn)程消息的新模板
讓我們創(chuàng)建一個(gè)模板,指示rsyslog服務(wù)器如何存儲(chǔ)傳入的syslog消息,在GLOBAL DIRECTIVES部分之前添加模板:
$template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
& ~
收到的日志將使用上面的模板進(jìn)行解析并存儲(chǔ)在目錄/var/log/中,文件命名遵循約定:%HOSTNAME% and %PROGRAMNAME%變量,即客戶端主機(jī)名和生成日志消息的客戶端工具:
& ~指示rsyslog守護(hù)程序僅將日志消息存儲(chǔ)到指定的文件。
可以使用的其它變量包括:
%syslogseverity%, %syslogfacility%, %timegenerated%, %HOSTNAME%, %syslogtag%, %msg%, %FROMHOST-IP%, %PRI%, %MSGID%, %APP-NAME%, %TIMESTAMP%, %$year%, %$month%, %$day%
重新啟動(dòng)rsyslog服務(wù)以使更改生效:
sudo systemctl restart rsyslog
確認(rèn)服務(wù)是否正在偵聽已配置的端口:
$ ss -tunelp | grep 514
配置Rsyslog防火墻
如果你的ufw防火墻服務(wù)正在運(yùn)行,請(qǐng)?jiān)试Srsyslog防火墻端口:
sudo ufw allow 514/tcp
sudo ufw allow 514/udp
將Rsyslog配置為客戶端
完成rsyslog服務(wù)器的配置后,請(qǐng)轉(zhuǎn)到rsyslog客戶端計(jì)算機(jī)并配置它們以將日志發(fā)送到遠(yuǎn)程rsyslog服務(wù)器:
sudo vim /etc/rsyslog.conf
允許保留FQDN:
$PreserveFQDN on
最后添加遠(yuǎn)程rsyslog服務(wù)器:
*.* @ip-address-of-rsysog-server:514
還可以使用FQDN而不是服務(wù)器IP地址:
*.* @fqdn-of-rsysog-server:514
以上行將允許通過UDP發(fā)送日志,因?yàn)閠cp使用@@而不是單個(gè)@:
*.* @@ip-address-of-rsysog-server:514
或者:
*.* @@fqdn-of-rsysog-server:514
當(dāng)rsyslog服務(wù)器關(guān)閉時(shí),還要添加以下內(nèi)容:
$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1
然后重啟rsyslog服務(wù):
sudo systemtcl restart rsyslog
至此,配置完成。
相關(guān)主題
總結(jié)
以上是生活随笔為你收集整理的服务器接收消息写日志,在Ubuntu 18.04上配置Rsyslog集中式日志服务器的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 服务器多路径协议,多主机多路径分流传输协
- 下一篇: andorid 第一天 搭建环境(于本博