環境zabbix5.0,配置思路,通過添加監控項和觸發器實現,監控項監控對應的日志文件,觸發器過濾日志文件中的關鍵字,當出現failed時就發出告警。
監控項配置
類型選擇zabbix客戶端主動式,鍵值log[/var/log/secure] log代表日志文件監控,后面方括號中是對應的日志文件,注意:zabbix-agent應具備讀取對應的日志文件的權限,否則會提示權限問題,信息類型選擇日志,更新間隔根據實際情況填寫
創建觸發器
上圖是創建觸發器,關鍵在於表達式,上圖中的表達式是解析之后的,zabbix5可以點擊右邊的添加按鈕,來關聯監控項,填寫關鍵字以及周期,如下圖所示
問題表現形式
{Zabbix server:log[/var/log/secure].iregexp(failed,600)}=1
選擇之前創建好的監控項, 選擇功能,這里選擇iregexp意味忽略大小寫匹配V的值,結果=1則意味匹配上,最后一個10是次數,后面可以選計數 也可以選時間, 計數代表最近在最近的10次匹配中取值,時間代表最后10秒鍾的周期 全局的意思就是在最近10次中取最后一次的匹配到failed則觸發告警。結合上面的監控項運行間隔是1分鍾一起使用,也就是說監控項1分鍾檢查一次日志。
配置了上述配置之后僅僅能夠實現告警了,那么怎么接觸告警呢 除了人工確認告警,還可以配置讓程序自動解決告警,假設我們配置100秒對應的日志沒有被新寫入數據就判定為接觸告警,應該這樣配置,以此在該觸發器中找到事件成功迭代,選擇恢復表達式,單機右邊的添加
功能選nodata,nodata意味多久收不到任何數據則判定為正常,上述是配置為100秒
恢復表達式為 {Zabbix server:log[/var/log/secure].iregexp(failed,600)}=1
至此配置完畢,測試登陸系統失敗的時候zabbix的web控制台會發出警告,超過100秒+監控項配置的10分鍾的輪詢間隔之后,警告會自動取消。可以通過調整個時間間隔來達到更精准的告警時效。