Zabbix丨談?wù)剒abbix如何監(jiān)控日志
1、日志監(jiān)控功能
zabbix-agent支持日志文件的監(jiān)控,可以對(duì)日志文件關(guān)鍵字進(jìn)行監(jiān)控,然后告警,日志監(jiān)控支持普通的日志文件,支持日志輪詢,切割的文件。當(dāng)日志文件中出現(xiàn)特殊的字符串(告警,報(bào)錯(cuò)的字符串)可以發(fā)通知給客戶
日志監(jiān)控必須滿足以下條件:
zabbix-agent必須運(yùn)行,且工作方式必須是主動(dòng)模式
日志的Item必須設(shè)置,必須指定文件名
zabbix-agent有讀取日志的權(quán)限
2、日志監(jiān)控的監(jiān)控指標(biāo)
log[/path/to/file/file_name,,,,,,,]
logrt[path/to/file/regexpo_describing_filename_pattern,,,,,,,]
log.count[/path/to/file/file_name,,,,,,]
logrt.cunt[path/to/file/regexpo_describing_filename_pattern,,,,,,]
參數(shù)
含義
file_name
日志文件所在的路徑或者絕對(duì)路徑名
regexp
匹配正則表達(dá)式
encoding
在Linux/unix系統(tǒng)下默認(rèn)編碼為UTF-8,在Windows系統(tǒng)下默認(rèn)編碼為ANSI
maxlines
每次給zabbix-server或者zabbix-Proxy發(fā)送的日志的最大行數(shù),此參數(shù)會(huì)高于zabbix-agent.conf中的MaxLinesPerSecond參數(shù)值,通過(guò)此參數(shù),可以控制一次發(fā)送的日志的數(shù)據(jù)條數(shù),如果發(fā)送次數(shù)過(guò)多,可能會(huì)對(duì)zabbix-agnet的負(fù)載和I/O有很大的影響
mode
all為默認(rèn)參數(shù),表示匹配所有的日志,包括以前存的日志也會(huì)進(jìn)行匹配
skip表示跳過(guò)已存在的日志數(shù)據(jù),只有新的日志才會(huì)進(jìn)行匹配
output
表示匹配輸出的正則表達(dá)式,\1~\9表示返回的匹配的第幾個(gè)字符串,\0表示返回匹配的全部字符串
maxdelay
以秒為單位的最大延遲,用用于忽略老的日志數(shù)據(jù),及時(shí)獲取獲取當(dāng)前的日志數(shù)據(jù)。(4.0+)當(dāng)處理日志過(guò)多,在更新周期內(nèi)達(dá)到maxlines的發(fā)送上限,但還有日志未發(fā)送時(shí),會(huì)導(dǎo)致大量堆積,在嚴(yán)重的情況下,會(huì)造成日志處理速度跟不上,使用此參數(shù)忽略過(guò)期的日志發(fā)送
0是默認(rèn)值,永遠(yuǎn)不會(huì)忽略日志文件行
輸入可以是浮點(diǎn)數(shù)(float)
這四個(gè)就是日志監(jiān)控的指標(biāo),根據(jù)需求選擇合適的鍵值
我的zabbix_server的日志路徑事/usr/local/zabbix/logs/zabbix_server,后面跟的正則表達(dá)式事error,只有當(dāng)出現(xiàn)error字段時(shí),才會(huì)有數(shù)據(jù),后面的參數(shù)可以不寫(xiě),但是還是要寫(xiě)逗號(hào)的。信息類型選擇文本或者是字符。這樣這個(gè)日志監(jiān)控的監(jiān)控項(xiàng)就已經(jīng)做好了,接下來(lái)就要做的就是做觸發(fā)器了觸發(fā)器中監(jiān)控項(xiàng)選擇剛才創(chuàng)建的監(jiān)控項(xiàng)。
功能選擇diff(),結(jié)果選擇等于1,迭代選擇無(wú),這樣再次匹配的話,告警就不會(huì)恢復(fù)。
測(cè)試,往zabbix_server.log文件內(nèi)寫(xiě)入error,測(cè)試是否會(huì)報(bào)警
3、如果zabbix用戶對(duì)日志沒(méi)有讀取權(quán)限,則會(huì)提示權(quán)限拒絕導(dǎo)致數(shù)據(jù)獲取失敗
對(duì)于不方便設(shè)置權(quán)限的日志文件,可以使zabbix_agent采用root權(quán)限運(yùn)行
在zabbix_agentd.conf文件中設(shè)置AllowRoot參數(shù)設(shè)置為1
AllowRoot=1
4、日志監(jiān)控的數(shù)據(jù)庫(kù)記錄
日志數(shù)據(jù)存儲(chǔ)在history_log表中
查詢?nèi)罩?/p>
mysql>select * from history_log;
免責(zé)聲明:市場(chǎng)有風(fēng)險(xiǎn),選擇需謹(jǐn)慎!此文僅供參考,不作買賣依據(jù)。