熱門搜索 Zabbix技術資料 Zabbix常見問、答討論 成功案例 Zabbix交流區 Prometheus交流區
隨著易觀業務發展,公司產品、業務系統逐漸增多。服務器從最早10+到現在150+臺,依靠過去人工巡檢系統的方式發現故障、潛在風險及安全隱患的方式效率越來越低,且運維人員的工作強度也在不斷增加。為了提高發現系統故障的及時性、解決問題的時效性、同時也能把運維人員從重復的工作中解放出來去做更多有意義的事情,因此我們急需引入新的服務器監控手段、運維工具來解決當前的問題。
最早由于服務器較少業務相對較為簡單使用iostat、free、netstat、top、pmap等命令就可以查看狀態。隨著服務器多于20臺,此方法耗時耗力最終PASS。
中期使用CACTI對服務器、路由器、交換機進行監控。由于使用標準SNMP協議、對設備的改動很小,配置文件也相對很簡單可以大規模的快速部署。并且至今認為CACTI的圖形是非常不錯的,對常規的監控顯示非常的人性化。
CACTI只能使用標準的SNMP協議,在業務復雜需要對監控做一些定制化的需求下(如定制進程、安全監控),逐漸顯得力不從心。并且在24小時監控大屏下WEB界面容易退出。
由于易觀大數據業務的飛速增長與產品的快速迭代,目前業務比較復雜。需要監控系統對HADOOP、SPARK、KAFKA、GREENPLUM、ETL等大數據系統進行定制化監控,對比了主流開源監控系統:如Ganglia、zabbix、Countly進行對比,最終選擇zabbix作為易觀運維監控平臺。
zabbix優點如下:
1、?可以使用Agent,定制型強于CACTI。
2、?配置簡單,支持自動發現、腳本批量部署。
3、支持微信公眾號API,及時報警。
4、文檔完善,活躍的官方社區,更新也比較頻繁。
安裝并與微信整合
關于安裝就不在詳細描述了,網上有一大推。大家可以體驗一下最新的版本,就是6.0版本的設計增加了一些新功能,主體功能都很完備。
微信的整合步驟如下:
1、到qy.weixin.qq.com申請一個公眾號
2、在組織架構中開通部門和增加員工,并且記住部門的ID號。
3、發送邀請碼發給相關人員。
4、創建一個應用。
5、分配權限,新建管理組。
6、記錄管理組對應的CorpID和Secret,API授權需要用到。
7、使用Python的發送腳本安裝simplejson 3.8.2tar zxvf simplejson-3.8.2.tar.gzcd simplejson-3.8.2python setup.py buildpython setup.py install下載安裝腳本git clone?http://github.com/X-Mars/zabbix-Alert-WeChat.gitcp zabbix-Alert-WeChat/wechat.py /etc/zabbix/alertscriptschmod +x /etc/zabbix/alertscripts/wechat.py修改后為(微信公眾號的ID)#!/usr/bin/python#_*_coding:utf-8 _*_import urllib,urllib2import jsonimport sysimport simplejsondef gettoken(corpid,corpsecret):? ? print??gettoken_url? ? try:? ?? ???token_file = urllib2.urlopen(gettoken_url)? ? except urllib2.HTTPError as e:? ?? ???print e.code? ?? ???print e.read().decode(“utf8”)? ?? ???sys.exit()? ? token_data = token_file.read().decode(‘utf-8’)? ? token_json = json.loads(token_data)? ? token_json.keys()? ? token = token_json[‘access_token’]? ? return tokendef senddata(access_token,user,subject,content):? ? send_url = ‘http://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=’ + access_token? ? send_values = {? ?? ???“touser”:手機號,? ?? ???“toparty”:”2″,? ?? ???“msgtype”:”text”,? ?? ???“agentid”:”1″,? ?? ???“text”:{? ?? ?? ?? ?“content”:subject + ‘\n’ + content? ?? ?? ???},? ?? ???“safe”:”0″? ?? ???}#? ? send_data = json.dumps(send_values, ensure_ascii=False)? ? send_data = simplejson.dumps(send_values, ensure_ascii=False).encode(‘utf-8’)? ? send_request = urllib2.Request(send_url, send_data)? ? response = json.loads(urllib2.urlopen(send_request).read())? ? print str(response)if __name__ == ‘__main__’:? ? user = str(sys.argv[1])? ? subject = str(sys.argv[2])? ? content = str(sys.argv[3])? ? corpid =??‘XXXXXXXXXXX’? ? corpsecret = ‘XXXXXXXXXXXXXX’? ? accesstoken = gettoken(corpid,corpsecret)senddata(accesstoken,user,subject,content)
8、zabbix設置微信
添加示警媒介
管理–>示警媒介
名稱填寫微信報警,類型選擇腳本,腳本名稱填寫wechat.py
圖示如下:
附:
微信企業開發者中心接口文檔http://qydev.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5
微信企業號開發者調試工具http://qydev.weixin.qq.com/debug
為了保障各個系統平臺的穩定運行、快速定位故障、一段時間內的歷史運行圖表等,建設監控平臺的最終目標如下:
1、對服務器進行狀態監控,指標如:CPU、ROM、HDD、NET等。
2、對故障及時報警,如郵件、微信。
3、對一段時間內提供運行統計報表,以便為以后故障排查、集群升級等提供數據依據。
4、提供WEB界面。
5、監控功能完備,如:數據庫、web服務、進程等。
更多zabbix相關技術分享,可以關注尊龍時凱社區:http://forum.ydcanyin.com/
尊龍時凱一站式智能監控+網管平臺,對運維管理流程體系進行重構,提升信息系統監控能力、網絡管理能力以及運維人員工作效率。
View details基于客戶運維痛點與項目建設目標,尊龍時凱方案團隊對項目進行梳理,并對項目建設進行具體規劃:以運維門戶、統一監控、集中告警管理為核心,輔以資產管理、可視...
View details