部署linux Syslog服務(wù)器需要經(jīng)歷多個環(huán)節(jié),涵蓋安裝Syslog服務(wù)器軟件、設(shè)定Syslog服務(wù)器接收客戶端日志信息以及調(diào)整防火墻規(guī)則以支持Syslog數(shù)據(jù)流。下面是一份基礎(chǔ)指引,采用rsyslog作為Syslog服務(wù)器軟件:
1. 安裝rsyslog
多數(shù)Linux版本默認已包含rsyslog。若未安裝,可利用對應(yīng)的包管理工具完成安裝。
對于debian/ubuntu系統(tǒng):
sudo apt-get update sudo apt-get install rsyslog
對于centos/RHEL系統(tǒng):
sudo yum install rsyslog
對于Fedora系統(tǒng):
sudo dnf install rsyslog
2. 配置rsyslog
修改rsyslog配置文件 /etc/rsyslog.conf 或 /etc/rsyslog.d/50-default.conf(具體位置視操作系統(tǒng)而定)。
開啟遠程日志接收功能
在配置文件里加入以下代碼以支持接收遠程主機的日志信息:
# 支持遠程日志記錄模塊 module(load="imudp") input(type="imudp" port="514") <h1>或者啟用TCP模式</h1><h1>module(load="imtcp")</h1><h1>input(type="imtcp" port="514")
設(shè)置本地日志記錄
確認本地日志記錄設(shè)置無誤。通常情況下,這些指令已經(jīng)存在:
# 內(nèi)核消息存檔至/var/log/kern.log</h1><p>kern.* /var/log/kern.log</p><h1>郵件系統(tǒng)消息存檔至/var/log/mail.log</h1><p>mail.* /var/log/mail.log</p><h1>authpriv類別的消息存檔至/var/log/authpriv.log</h1><p>authpriv.* /var/log/authpriv.log</p><h1>cron任務(wù)相關(guān)消息存檔至/var/log/cron.log</h1><p>cron.* /var/log/cron.log</p><h1>auth類別的消息存檔至/var/log/auth.log</h1><p>auth.* /var/log/auth.log</p><h1>系統(tǒng)日志整體存檔至/var/log/messages</h1><p><em>.info;mail.none;authpriv.none;cron.none /var/log/messages
3. 重啟rsyslog服務(wù)
保存配置后,重新啟動rsyslog服務(wù)使改動生效。
在Debian/Ubuntu系統(tǒng)上:
sudo systemctl restart rsyslog
在CentOS/RHEL系統(tǒng)上:
sudo systemctl restart rsyslog
在Fedora系統(tǒng)上:
sudo systemctl restart rsyslog
4. 防火墻配置
保證防火墻開放UDP端口514(或者TCP端口514,取決于所使用的協(xié)議)的數(shù)據(jù)傳輸。
在Debian/Ubuntu系統(tǒng)上(使用ufw):
sudo ufw allow 514/udp
在CentOS/RHEL系統(tǒng)上(使用firewalld):
sudo firewall-cmd --permanent --add-port=514/udp sudo firewall-cmd --reload
在Fedora系統(tǒng)上(使用firewalld):
sudo firewall-cmd --permanent --add-port=514/udp sudo firewall-cmd --reload
5. 客戶端配置
在客戶端設(shè)備上,編輯 /etc/rsyslog.conf 或 /etc/rsyslog.d/50-default.conf 文件,加入以下內(nèi)容以便向Syslog服務(wù)器發(fā)送日志:
</em>.<em> @<syslog>:514 </syslog>
舉例來說,假如Syslog服務(wù)器的IP地址為192.168.1.100,則配置如下:
</em>.* @192.168.1.100:514
保存更改后,重啟客戶端的rsyslog服務(wù):
在Debian/Ubuntu系統(tǒng)上:
sudo systemctl restart rsyslog
在CentOS/RHEL系統(tǒng)上:
sudo systemctl restart rsyslog
在Fedora系統(tǒng)上:
sudo systemctl restart rsyslog
完成上述操作后,您的Linux Syslog服務(wù)器應(yīng)當已準備就緒,并能夠接收來自客戶端的日志信息。