關於Zabbix使用的一些經驗性思考

2021-10-07 03:32:55 字數 2171 閱讀 8794

首先是定性,zabbix提供了全套的監控解決方案,即採集資料——儲存和展示資料——定義告警觸發條件——觸發告警,這樣乙個完整的監控流程(在zabbix裡對應的術語,也及配置流程為:主機——監控項——觸發器——動作,zabbix中的主機是個泛稱,泛指任意型別的被監控物件)。

在一些基本場景下,可以做到拿來就用。但zabbix並不死板,在上述四個階段都可以靈活定製。我自己親身經歷的從nagios遷移到zabbix的過程,讓我深刻體會到這是乙個既靈活又簡單的系統。nagios社群的所有監控外掛程式,都可以完美地用到zabbix中,且配置更為快捷。

zabbix的告警觸發條件配置十分靈活。但是,不建議配置過於複雜,簡單的觸發條件才能最大可能地避免誤觸發或者關鍵時候未觸發。能夠配置簡單觸發條件的前提是提供監控資料要足夠簡單,比如乙個數字、乙個字串,而不應當一段文字、n個數字。

觸發告警的動作,即告警要以何種方式傳送給何人,在zabbix裡也是可以靈活定義的。如最基本的郵件告警,簡訊告警,最近幾個版本增加的webhook告警等等,也可以選擇自定義指令碼,基本上能夠想到的告**式都可以實現。

告警應當傳送給對應的負責人,比如a專案的告警傳送a專案的負責人甲,b專案的告警傳送b專案的負責人乙,而不應當把a專案的告警傳送給甲、乙,告警亂髮的後果就是長此以往,接收人將不在對告警有敏感性,很有可能錯過重要告警。

要做到不同的告警傳送給不同的人,在建立主機時要合理的分配「主機群組」,不同專案的主機放到不同的群組下,不同型別的主機放到不同的群組下,這樣我們在配置「動作」時,就可以用最簡單的條件精準的推送告警。

這三個問題是強相關的,我合在一起回答。觸發器的嚴重性級別,不是簡單用來在告警內容中顯示的,它最大的用處是用來配置「動作」,將不同級別的告警用逐漸公升級的方式傳送給不同的人。

無需處理的告警,級別可定為資訊;需要處理,但不緊急的告警,級別可定為警告;急需處理,但不影響業務的告警,級別可定為嚴重;急需處理,且已影響某一功能模組的告警,級別可定為嚴重;萬分緊急,可導致業務癱瘓的告警,可定為災難。

以上級別的告警,對應的告警推送手段可為郵件——簡訊——**,推送人可為直接負責人——組長——分管領導——領導。定義好觸發的嚴重性級別,就可以在配置動作時方便地實現不同級別的告警採用不同的方式。

這是乙個通用的問題,與監控系統無關。業務系統如何做高可用,監控系統依葫蘆畫瓢就行,沒有特殊的地方。甚至,你可以直接建設兩套相同的監控系統,zabbix的agent端和proxy都支援配置多套server。

passive模式下,資料由server主動向agent索取;active模式下,資料由agent主動向server推送;(可以模擬為http方法的get、post)。proxy與server的關係與之相同。

如果使用passive模式,則agent所在節點需開放10050埠入訪許可權,而無需開放出訪許可權,相對應的只需給server端開放出訪許可權。此時就可以在agent配置檔案中注釋掉serveractive=*,以避免額外的消耗主機效能及日誌報錯。

如果使用active模式,則server所在節點需開放10051埠入訪許可權,無需開放出訪許可權,相對應的agent端只需要開放出訪許可權。此時就可以將agent配置檔案中的startagents=3調整為startagents=0,以避免額外的埠暴露和效能消耗。

不一定。如果agent使用的是passive模式,則該字段沒有用處,也無需與web端一致。但如果agent使用的是active模式,則兩端必須保持一致,否則agent將不知道資料發往何處。

雖然如此,但仍建議兩端保持一致。

應部署在網路通達,極可能擁有上帝視角的地方。舉個例子,比如樹形網路,zabbix就應當部署在根處,這樣某一分叉發生故障可以很容易地判斷。如果是網形網路,則部署在任何方便的地方都差不多,盡可能保障到各節點網路暢通即可。

建議採用:專案_用途_ip_(負責人_**)這樣的命名形式,好處很多,用了就知道。

如果採用郵件形式,則標題要簡潔且包含關鍵資訊,舉個例子:「a專案b主機磁碟空間將滿」,這樣的標題讓我們可以在不開啟郵件的情況下就可直接去處理故障了,相比一句簡單的「磁碟空間告警」顯然要優秀很多。如果使用**告警,則只需播報關鍵資訊即可,而不要長篇大論,在關鍵時間讓人員**佔線。

對於磁碟空間這類資料存在波動性的監控項,相關的告警和恢復閾值,不應當簡單地配置成剩餘空間小於10%告警,大於10%恢復。而應當配置為小於10%告警,大於15%恢復。否則當資料在10%左右波動的時候,會不斷地觸發告警/恢復。

除了直接提供一些基本的監控項外,還可以很容易的新增一些自定義監控項,只需要在配置檔案中指定key和資料獲取命令即可。

zTree使用的一些經驗

筆者目前所知ztree已經發展到3.5的版本了,偶然的機會接觸了這個框架,感覺非常好用,於是欣然收藏之。現在筆者有一些自己的看法,願意與大家分享,也希望大家能多提寶貴意見,共同進步。1.ztree主要的js和css 在v3.x中有3個比較重要的js 乙個 核心包 jquery.ztree.core ...

一些使用Scrapy的經驗

首先,新建乙個專案叫dmoz 這裡參考scrapy tutorial裡面的例子做說明,抓取open directory project dmoz 上的資料。scrapy startproject dmoz將會建立乙個叫dmoz的目錄,結構如下 dmoz scrapy.cfg dmoz init py...

關於MTK socket程式設計的一些經驗

static int myint unsigned char p static short myshort unsigned char p 7.cmwap的http協議模擬 cmwap必須通過10.0.0.172 80埠進行 走http協議.一般是1.1 x online host後面跟著的就是目標...