需求1
log 里面“[2021:03:22 14:4666:49]:發(fā)生錯(cuò)誤數(shù):0! ” 崇渗,截取關(guān)鍵字菠劝,如果不是0就報(bào)警
實(shí)現(xiàn)1
1 實(shí)現(xiàn)日志關(guān)鍵字報(bào)警
創(chuàng)建模板
創(chuàng)建應(yīng)用集
創(chuàng)建監(jiān)控項(xiàng)
log[/etc/zabbix/zabbix_agentd.log,"root",,,skip,,]
選擇如圖
各個(gè)指標(biāo)含義請(qǐng)參考
https://www.zabbix.com/documentation/3.4/zh/manual/config/items/itemtypes/zabbix_agent#supported_item_keys
創(chuàng)建觸發(fā)器
{test yejilog errors num check:log[/etc/zabbix/zabbix_agentd.log,"root",,,skip,,].iregexp()}=1
將模板添加到機(jī)器中就可以報(bào)警
最新數(shù)據(jù)
2 做判斷尚揣,大于0報(bào)警
修改監(jiān)控項(xiàng)鍵值
log[/data/tools-yeji/logs/yeji.log,"發(fā)生錯(cuò)誤數(shù):([1-9]+)",,,skip,,]
"發(fā)生錯(cuò)誤數(shù):([1-9]+)" // 正則
skip表示忽略日志中之前的報(bào)警
將模板添加到機(jī)器中就可以報(bào)警
3 注意事項(xiàng)
1>agent為主動(dòng)模式
2>監(jiān)控的log日志的權(quán)限以及上層目錄是否為755權(quán)限
chown zabbix.root /data/tools-yeji/logs/yeji.log
需求2
配置tomcat日志監(jiān)控倒慧,有關(guān)鍵字“ERROR”會(huì)報(bào)警
實(shí)現(xiàn)2
1 配置主動(dòng)模式
2 查看log文件zabbix是否有權(quán)限
使用添加zabbix權(quán)限
setfacl -m u:zabbix:r /usr/local/tomcat1/logs/catalina-daemon.out
查看zabbix是否有權(quán)限
sudo -u zabbix cat /usr/local/tomcat1/logs/catalina-daemon.out|more
getfacl /usr/local/tomcat1/logs/catalina-daemon.out
3 更新hostname,修改zabbix配置文件|zabbix web配置中hostname和主機(jī)hostname一致,如果不一致會(huì)出現(xiàn)下面無法識(shí)別主機(jī)名的情況枚驻,記得重啟zabbix-agent
服務(wù)器:*UNKNOWN*發(fā)生: *UNKNOWN* tomcat1_log發(fā)生錯(cuò)誤故障!
{
告警主機(jī):*UNKNOWN*
告警地址:*UNKNOWN*
監(jiān)控項(xiàng)目:*UNKNOWN*
監(jiān)控取值:*UNKNOWN*
告警等級(jí):Average
當(dāng)前狀態(tài):PROBLEM
告警信息:*UNKNOWN* tomcat1_log發(fā)生錯(cuò)誤
告警時(shí)間:2021.09.07 15:01:32
事件ID:131257
}
4 創(chuàng)建相應(yīng)模板,最好一個(gè)日志創(chuàng)建一個(gè)模板
5 監(jiān)控項(xiàng)配置
log[/usr/local/tomcat1/logs/err.log,"Exception",,,skip,,]
監(jiān)控項(xiàng)選擇log即可株旷,剛開始選擇logrt發(fā)現(xiàn)命名監(jiān)控的是/usr/local/tomcat1/logs/error.log但是真正去監(jiān)控的居然是/usr/local/tomcat1/logs/error.log-20210908這種輪轉(zhuǎn)文件再登,后來更換log沒有問題
6 觸發(fā)器配置
{tomcat1 log error:log[/usr/local/tomcat1/logs/catalina-daemon.out,"Exception",,,skip,,].nodata(2m)}=0
nodata代表如果有Exception關(guān)鍵字就保健,如果2min之內(nèi)沒有這個(gè)關(guān)鍵字就恢復(fù)晾剖,只有一條就可以實(shí)現(xiàn)報(bào)警和恢復(fù)兩個(gè)功能锉矢,當(dāng)然你也可以更改2min這個(gè)時(shí)間
7 添加報(bào)警
8 問題:
配置setfacl可能會(huì)出現(xiàn)
setfacl -m u:zabbix:r manager.2020-11-11.log
setfacl: manager.2020-11-11.log: Operation not supported
是因?yàn)槿罩舅谀夸洅燧d點(diǎn)沒有acl掛載
vim /etc/fstab
/dev/VolGroup/lv_svn /svn ext4 defaults,acl 0 0
需要重新掛載目錄
需要關(guān)注:
1 不是所有的關(guān)鍵字都會(huì)報(bào)出來,如果一個(gè)時(shí)間段有多個(gè)報(bào)錯(cuò)只會(huì)報(bào)一個(gè)齿尽,目前是2min沽损,2min不會(huì)再報(bào),下一個(gè)2min再報(bào)循头,雖然觸發(fā)器不會(huì)被觸發(fā)但是日志中會(huì)被記錄绵估,最新記錄->歷史記錄
2 如果獲取不到數(shù)據(jù)重啟zabbix-agent
3 日志輪轉(zhuǎn)的話不會(huì)有影響,不會(huì)因?yàn)槿罩据嗈D(zhuǎn)日志權(quán)限發(fā)生變化
4 目前報(bào)警發(fā)送只能實(shí)現(xiàn)發(fā)送關(guān)鍵字當(dāng)條日志卡骂,想實(shí)現(xiàn)發(fā)送關(guān)鍵字上下文多少條国裳,就合grep -C10這種,但是沒找到方法全跨?缝左??
5 當(dāng)條error報(bào)錯(cuò)日志大的話發(fā)送的報(bào)警可能不完整浓若?渺杉?
參考:
https://cloud.tencent.com/developer/article/1860374
http://www.reibang.com/p/e28c0f295404