监控开发之用munin来自定义插件监控redis和mongodb
求監控組的大哥大妹子們干點事,真不容易 ! 要問他們是誰? ?他們是神 。輕易別找他們,因為找了也是白找。 ?
上次因為python和redis長時間brpop的時候,會有線程休眠掛起的情況,所有通知報警平臺被下線了。這次算是完美解決了。再把他給上線。這兩公司的告警已經開始往我這邊的接口開始仍了。
這邊正在改zabbix cmdb的控制,所以暫時不能登錄。等搞好了后,讓他們搞下redis和mogodb的監控,居然還讓我發郵件和提供腳本及思路啥的。。。 ? 一尋思,又要去zabbix,又要寫腳本,還不如把監控都集合在自己的平臺上的了。?
這次沒用選用鐘愛的ganglia,麻煩。 也沒用另一個graphite,而是用的是munin 。 ? 一個直接yum后就可以訪問的性能監控頁面。
官方的redis監控和mongodb看起來很麻煩的樣子,算了。直接看他們是怎么寫的。源碼是perl寫的,插件好多是shell寫的。?
寫法是相當的簡單,只需要指明下圖片的顯示Y X 軸 ,然后echo就可以了! ?
下面是redis 的token使用熱點數據,隊列的數據,及mongodb count的數據。
?
上面的圖數據沒有打滿,今天在補上:
原文:http://rfyiamcool.blog.51cto.com/1030776/1426130
腳本的位置: ??/etc/munin/plugins
監控mongodb的腳本:
原文:http://rfyiamcool.blog.51cto.com/1030776/1426130
監控redis隊列的腳本:
寫完了后,/etc/init.d/munin-node restart 就可以了。等一會刷新下頁面就出來了。
關鍵就是最后那兩行。。
echo?-n?"load.value?"redis-cli?LLEN?sendmaillist|cut?-d?''?-f2網上有人做了python的munin操作模塊,有興趣的朋友可以試試。
https://github.com/samuel/python-munin
#!/usr/bin/env?pythonimport?os from?munin?import?MuninPluginclass?LoadAVGPlugin(MuninPlugin):title?=?"Load?average"args?=?"--base?1000?-l?0"vlabel?=?"load"scale?=?Falsecategory?=?"system"@propertydef?fields(self):warning?=?os.environ.get('load_warn',?10)critical?=?os.environ.get('load_crit',?120)return?[("load",?dict(label?=?"load",info?=?'The?load?average?of?the?machine?describes?how?many?processes?are?in?the?run-queue?(scheduled?to?run?"immediately").',type?=?"GAUGE",min?=?"0",warning?=?str(warning),critical?=?str(critical)))]def?execute(self):if?os.path.exists("/proc/loadavg"):loadavg?=?open("/proc/loadavg",?"r").read().strip().split('?')else:from?subprocess?import?Popen,?PIPEoutput?=?Popen(["uptime"],?stdout=PIPE).communicate()[0]loadavg?=?output.rsplit(':',?1)[1].strip().split('?')[:3]return?dict(load=loadavg[1])if?__name__?==?"__main__":LoadAVGPlugin().run()原文:http://rfyiamcool.blog.51cto.com/1030776/1426130
總結下,munin真的夠簡單的了,他的簡單也意味著,他也就 適合我這樣的運維研發人員臨時做些統計的場景。 ?記得以前使用munin,當時做zeromq的統計,超過幾十臺是沒啥問題,當然這話是(feihua),要是幾十臺都有問題,那這監控的水準確實夠爛。 ?這東西的局限確實夠大。也就臨時畫畫圖還行。
轉載于:https://blog.51cto.com/rfyiamcool/1426130
總結
以上是生活随笔為你收集整理的监控开发之用munin来自定义插件监控redis和mongodb的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Delphi clientdataset
- 下一篇: 一道嚼烂的面试题