新聞中心
在centos7中,Rsyslong是一個(gè)集中式的日志收集系統(tǒng),可以運(yùn)行在TCP或者UDP的514端口上。

創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)伊吾,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18980820575
目錄
- 開(kāi)始之前
- 配置接收日志的主機(jī)
- 配置發(fā)送日志的主機(jī)
- 日志回滾
- 附件:創(chuàng)建日志接收模板
- 排錯(cuò)
開(kāi)始之前
本文的配置環(huán)境如下
系統(tǒng):CentOS7
主機(jī)數(shù)量:2
接收日志的主機(jī)ip:192.168.1.112;主機(jī)名:server112
發(fā)送日志的主機(jī)ip:192.168.1.204;主機(jī)名:server204
rsyslog版本號(hào):rsyslog-7.4.7-7.el7_0.x86_64
目的:把server204上產(chǎn)生的所有日志信息和所有的操作命令都發(fā)送到server112主機(jī)上,以便集中監(jiān)控和分析日志
如果你的主機(jī)名在安裝系統(tǒng)時(shí)沒(méi)有修改,默認(rèn)為localhost.domain,如果不修改主機(jī)名,那么所有的日志集中在一個(gè)服務(wù)器上時(shí)就會(huì)互相覆蓋。
查看當(dāng)前的主機(jī)名:hostname
修改主機(jī)名流程:
在文件/etc/hostname中添加新的主機(jī)名
在文件/etc/hosts的第一行的兩個(gè)地方添加新的主機(jī)名
注意:一定要在localhost.domain的前面添加{主機(jī)名}.domain,否則不能在/var/log目錄下產(chǎn)生以主機(jī)名命名的目錄
相關(guān)文件可以到主機(jī)寶貝資源站下載:
具體下載目錄在 /2017年資料/2月/8日/CentOS 7搭建Rsyslong集中式日志系統(tǒng)/
在該項(xiàng)目下的scripts目錄下有兩個(gè)文件,configure_rsyslog_for_client.sh是用來(lái)配置發(fā)送日志的客戶端腳本,configure_rsyslog_for_server.sh是用來(lái)配置接收日志的服務(wù)器端腳本。往后會(huì)在該項(xiàng)目中添加日志分析系統(tǒng)和更為全面的日志管理方法。
配置接收日志的主機(jī)
查看你的系統(tǒng)上是否安裝了rsyslog系統(tǒng)
rpm -qa | grep rsyslog
在主機(jī)上安裝rsyslog
yum install rsyslog* -y
安裝完成后,打開(kāi)文件/etc/rsyslog.conf進(jìn)行配置,主要是把下面的注釋去掉,并添加三行字符
$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" * *.* ?RemoteLogs & ~
如下圖所示:
在此對(duì)該模板進(jìn)行簡(jiǎn)單解釋,$template RemoteLogs(這里“RemoteLogs” 字符串可以為任何其他的描述性的名稱)指令使rsyslog后臺(tái)進(jìn)程將日志消息寫(xiě)到/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)一步處理,并且不要在本地寫(xiě)入。如果沒(méi)有使用該重定向規(guī)則,那么所有的遠(yuǎn)程消息都會(huì)在寫(xiě)入上述描述的日志文件之外同時(shí)被寫(xiě)入到本地日志文件,這就意味著日志消息實(shí)際上被寫(xiě)了兩次。使用該規(guī)則的另外一個(gè)結(jié)果就是syslog服務(wù)器本身的日志消息只會(huì)被以該機(jī)器主機(jī)名命名的專有文件中
rsyslog進(jìn)程的控制命令為
查看進(jìn)程運(yùn)行情況(Status) :systemctl status rsyslog
停止(Stop) :systemctl stop rsyslog
重啟(Restart) :systemctl restart rsyslog
啟動(dòng)(Start) :systemctl start rsyslog
查看514端口是否啟動(dòng) :netstat -antup | grep 514
配置發(fā)送日志的主機(jī)
如果沒(méi)有安裝rsyslog,則安裝
yum install rsyslog -y
安裝完成后,同樣配置/etc/rsyslog.conf文件,在文件的最后一行添加如下字符
*.* @192.168.1.112:514
如果用的是TCP協(xié)議,則要多加一個(gè)@:*.* @@192.168.1.112:514
把該主機(jī)上的所有操作命令同時(shí)發(fā)送到日志主機(jī)去,打開(kāi)配置文件/etc/bashrc
在文件的最后一行添加以下內(nèi)容:
export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'
重新加載bash配置文件:
source /etc/bashrc
打開(kāi)防火墻的514端口
firewall-cmd --add-port=514/udp --permanent firewall-cmd --add-port=514/tcp --permanent firewall-cmd --reload
重啟rsyslog
systemctl restart rsyslog
至此,基本配置完成
日志回滾
在接收日志的主機(jī)上,進(jìn)入目錄/var/log,可以看到生成了兩個(gè)文件夾server112和server204(根據(jù)兩臺(tái)主機(jī)名生成的),在server204文件夾中的一個(gè)名為root.log文件就是該主機(jī)上執(zhí)行過(guò)的所有命令,其他文件都是根據(jù)進(jìn)程名生成的。
設(shè)置日志回滾,編輯文件/etc/logrotate.d/syslog
把記錄日志的兩個(gè)路徑添加進(jìn)去,記得把server112和server204替換為你的主機(jī)名
這樣就能自動(dòng)回滾這兩個(gè)目錄下的所有日志
附件:創(chuàng)建日志接收模板
可以使用下面的模式對(duì)特定的設(shè)備或嚴(yán)重性級(jí)別使用新的模板直接來(lái)記錄日志消息。
[facility-level].[severity-level] ?RemoteLogs
serverity-level table(服務(wù)級(jí)別列表)
|
serverity-level table(服務(wù)級(jí)別列表) |
||
|
數(shù)字代碼 |
服務(wù)級(jí)別 |
描述 |
|
0 |
emerg |
系統(tǒng)不可用 |
|
1 |
alert |
必須馬上采取救援行動(dòng) |
|
2 |
crit |
嚴(yán)重錯(cuò)誤信息 |
|
3 |
error |
錯(cuò)誤信息 |
|
4 |
warning |
警告信息 |
|
5 |
notice |
普通但是值得注意的信息 |
|
6 |
info |
一般信息 |
|
7 |
debug |
調(diào)試信息 |
facility-level table(設(shè)備級(jí)別列表),如下圖
例如:
將全部?jī)?yōu)先級(jí)別的所有內(nèi)部用戶驗(yàn)證消息指定為RemoteLogs模板:
authpriv.* ?RemoteLogs
將所有系統(tǒng)進(jìn)程中除開(kāi)mail、用戶驗(yàn)證和cron消息之外的進(jìn)程產(chǎn)生的消息級(jí)別的日志指定為RemoteLogs模板:
*.info,mail.none,authpriv.none,cron.none ?RemoteLogs
如果我們想要將所有從遠(yuǎn)程客戶端接受到的消息寫(xiě)入到一個(gè)以它們的IP地址命名的單個(gè)文件中,可以使用以下的模板。在此我們?yōu)樵撃0遒x予了“IpTemplate”名稱。
$template IpTemplate,"/var/log/%FROMHOST-IP%.log" *.* ?IpTemplate & ~
排錯(cuò)
上面的配置很簡(jiǎn)單,但是有時(shí)候服務(wù)端就是很詭異地接收不到客戶端發(fā)送的日志(在服務(wù)端的/var/log目錄下沒(méi)有以客戶端主機(jī)名命名的文件夾),此時(shí)就要逐一檢查以下問(wèn)題:
1.檢查配置文件是否有錯(cuò)
2.兩臺(tái)機(jī)器之間是否能ping通
3.查看服務(wù)端是否已經(jīng)在監(jiān)控514端口:netstat -lnutp
4.注意服務(wù)端監(jiān)控的514端口究竟是udp還是tcp協(xié)議,而客戶端也必須使用一致的協(xié)議
新聞標(biāo)題:CentOS7搭建Rsyslong集中式日志系統(tǒng)
網(wǎng)站鏈接:http://www.5511xx.com/article/cceopji.html


咨詢
建站咨詢
