這個變頻器是怎么樣一個概念呢?
我們知道Zabbix里每次監(jiān)控間隔時間都是固定的,變頻器所做的事情就是改變監(jiān)控頻率。
變頻器有什么好處?
在某些場景,我們會擔(dān)心因網(wǎng)絡(luò)抖動引起的誤報,有些告警閾值是兩次出現(xiàn)問題才觸發(fā)。這樣的配置有個缺點:問題發(fā)現(xiàn)時間是監(jiān)控頻率 x 2,變頻器所做的事情就是:第一次發(fā)現(xiàn)閾值有問題,手動觸發(fā)一次,并將結(jié)果存庫,這樣問題發(fā)現(xiàn)時間是監(jiān)控頻率 + 數(shù)據(jù)采集時間,極大縮短了問題發(fā)現(xiàn)時間。
方案
聽完這個有趣的監(jiān)控思路,自己也想嘗試一番。
想在監(jiān)控站點可用性上加快故障發(fā)現(xiàn)時間,普通的監(jiān)控項變頻器可以采用zabbix_get 與zabbix_sender配合使用,實現(xiàn)變頻器功能;但經(jīng)過一番測試,ZabbixWeb是特殊類型,需要采用其他方案。
經(jīng)過一番簡單的思考,大致方案如下
需要額外開發(fā)一個仿ZabbixWebMonitor的腳本。
傳入itemid,撈取數(shù)據(jù)庫相關(guān)信息進(jìn)行請求。
請求完將相關(guān)數(shù)據(jù)直接存庫。
實現(xiàn)
初步思考方案是簡單而美好的,但是在后續(xù)實踐過程中碰到一些問題
存入數(shù)據(jù)庫,Trigger不生效問題
還是太過年輕了,查了官網(wǎng)發(fā)現(xiàn):ZabbixServer Trigger讀內(nèi)存緩存值而非直接讀取數(shù)據(jù)庫 。
數(shù)據(jù)庫插值行不通,如何插入WebMonitor值
抓包分析zabbix_sender主動傳值,發(fā)現(xiàn)tcp協(xié)議request只支持agent data 跟 trapper data ,分別對應(yīng)主動模式的item與自動捕獲數(shù)據(jù)的item,WebMonitor是屬于特殊item,無法直接插入值。
經(jīng)過幾番測試跟思考,最終方案如下:
#1 每個Web額外添加一個Trapper類型item.
#2 原先觸發(fā)器進(jìn)行改造,改為判斷兩項的總和。
效果
原來的Trigger
最后三次中加起來超過兩次異常觸發(fā)告警
看最新數(shù)據(jù)11分40秒第一次發(fā)現(xiàn)故障
在12分41秒的時候發(fā)出告警,也就是從故障發(fā)生到發(fā)現(xiàn)時間經(jīng)過了1分多鐘時間
加入變頻器后
Trigger改造
可以看到在第一次發(fā)現(xiàn)故障后4秒就觸發(fā)了告警器
47秒發(fā)現(xiàn)故障,51秒將請求結(jié)果插入庫,以及發(fā)送到Zabbix trapper縮短了告警器觸發(fā)時間
-
變頻器
+關(guān)注
關(guān)注
251文章
6547瀏覽量
144510
發(fā)布評論請先 登錄
相關(guān)推薦
評論