您好,登錄后才能下訂單哦!
如何分析zabbix告警系統,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
在zabbix里面,告警通道配置太繁瑣,我們分別來分析下:
郵件報警: 如需配置郵件報警,就得在Zabbix里配置郵件調用接口。并且Zabbix郵件報警經常發生延遲(Zabbix自身延遲+郵件服務商延遲),更悲催的是,報警郵件往往沒人看.既然看郵件不方便,我們就考慮短信報警
短信報警: 如果配置短信報警,就需要向服務商購買短信服務.確實有很多短信服務都很便宜.而且如果我們用的是阿里云這樣的云服務,短信服務可以隨時開通(13年時候).
需要設定短信末班,在zabbix配置短信調用接口,而且還要避免某個短信服務商延遲和漏發
電話報警: 這個是最坑的,在半夜三更把運維人員從睡夢中弄醒,及時解決緊急故障,比起短信來,電話的提醒效果會更好.但是電話報警用不好真是一種騷擾,愛愛到一半電話來了,接還是不接是個問題.我們之前公司,使用電話報警,都需要做二次開發.這時候python就有用了,當然以前腦袋短路,用的java.
微信報警,是不是又升級了,跟的商形式嘛,配置微信報警,需要申請開通微信的相關服務,然后排期進行針對性開發
首先,微信的訂閱號、服務號、企業號,其消息推送限制、消息內容限制、認證前后的人數限制都是不同的 ,真的能分的那么清楚?
其次,如果發生報警風暴,確定你的小心臟接受得了微信里突然多出來的成百上千條報警提示,反正我是已經習慣了.
不過我也是被虐千遍后才想起來可以搞一個只要有運維人員介入維護,就不再發信息,不然老大會瘋掉的
上面就是我們經常會用到的報警方案,但是對于zabbix來講,無論哪種方案的配置都特別復雜,而且沒有中文參考資料.我增加新到一家公司,他們的運維就是配置一個User組,配置一個Trigger就了事.
無論是郵件報警、短信報警或微信報警,都會存在告警風暴的問題:如果發現類似斷網等大面積故障,而且沒有告警保護和收斂機制的話,那電話響一個小時的事情是常有的,更不用說說不清的報警郵件,以及讓人瘋掉的短信.
后來對于監控系統管理上,我們做了調整,解決了一旦發生報警,立即全員通知的弊端,報警級別嚴格劃分.嚴重級別輪詢升級通知處理,使用java做二次開發,后來做自動化運維平臺的時候用zabbix做了重構.
這期間,我們也換過監控寶,New Relic,等收費工具,收費工具雖然好用,但是基于企業信息安全的保障性比較差,當然這些可能作為監控服務提供商不會承認,但我們對自己的企業成本,人力成本,信息安全做綜合考慮.
說到安全還有一件很低級可笑的事情,之前服務的一家公司測試服務用的是騰訊云,我介入的時候,騰訊云還處在公測階段,服務器快要到期的時候我一再強調騰訊云是到期立即回收資源,不像阿里云有一周的緩沖起,不過最終很不幸,還是到期了,而且沒有立即充值,所有的努力都化為烏有.好在是測試機,也可能是測試機所以引不起公司的重視吧. 當然這是騰訊云公測時候的事情了,現在貌似也不會到期立即釋放資源這一說法了.
在這里共享一個微信報警---企業號(shell)版本:
#!/bin/bash
###SCRIPT_NAME:TFedu###
###send message from weixin for zabbix monitor###
###develop###
###V7-2014-05-12###
CropID='wx4a5706c1941562f0'
Secret='wWddGauAGusDEkETib9PEwnDacTQ9Ie-w-Fh7HhSUD3rmsQ_ro980vun4jbOAVrS'
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F" '{print $4}')
PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"
function body(){
local int AppID=1 # 企業號中的應用id
local UserID=$1 # 部門成員id,zabbix中定義的微信接收者
local PartyID=2 # 部門id,定義了范圍,組內成員都可接收到消息
local Msg=$(echo "$@" | cut -d" " -f3-)
# 過濾出zabbix中傳遞的第三個參數
printf '{'
printf ' "touser": "'"$User""","
printf ' "toparty": "'"$PartyID""","
printf ' "msgtype": "text",'
printf ' "agentid": "'" $AppID ""","
printf ' "text": {'
printf ' "content":"'"$Msg""""
printf ' },'
printf ' "safe":"0"'
printf '}'
}
/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL
當然這個腳本并不是唯一的答案,你可以改寫成python腳本.
看完上述內容,你們掌握如何分析zabbix告警系統的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。