日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

监控开发之用munin来自定义插件监控redis和mongodb

發(fā)布時(shí)間:2025/3/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 监控开发之用munin来自定义插件监控redis和mongodb 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

求監(jiān)控組的大哥大妹子們干點(diǎn)事,真不容易 ! 要問(wèn)他們是誰(shuí)? ?他們是神 。輕易別找他們,因?yàn)檎伊艘彩前渍摇??


上次因?yàn)閜ython和redis長(zhǎng)時(shí)間brpop的時(shí)候,會(huì)有線(xiàn)程休眠掛起的情況,所有通知報(bào)警平臺(tái)被下線(xiàn)了。這次算是完美解決了。再把他給上線(xiàn)。這兩公司的告警已經(jīng)開(kāi)始往我這邊的接口開(kāi)始仍了。


這邊正在改zabbix cmdb的控制,所以暫時(shí)不能登錄。等搞好了后,讓他們搞下redis和mogodb的監(jiān)控,居然還讓我發(fā)郵件和提供腳本及思路啥的。。。 ? 一尋思,又要去zabbix,又要寫(xiě)腳本,還不如把監(jiān)控都集合在自己的平臺(tái)上的了。?


這次沒(méi)用選用鐘愛(ài)的ganglia,麻煩。 也沒(méi)用另一個(gè)graphite,而是用的是munin 。 ? 一個(gè)直接yum后就可以訪(fǎng)問(wèn)的性能監(jiān)控頁(yè)面。



官方的redis監(jiān)控和mongodb看起來(lái)很麻煩的樣子,算了。直接看他們是怎么寫(xiě)的。源碼是perl寫(xiě)的,插件好多是shell寫(xiě)的。?



寫(xiě)法是相當(dāng)?shù)暮?jiǎn)單,只需要指明下圖片的顯示Y X 軸 ,然后echo就可以了! ?


下面是redis 的token使用熱點(diǎn)數(shù)據(jù),隊(duì)列的數(shù)據(jù),及mongodb count的數(shù)據(jù)。


?


上面的圖數(shù)據(jù)沒(méi)有打滿(mǎn),今天在補(bǔ)上:


原文:http://rfyiamcool.blog.51cto.com/1030776/1426130

腳本的位置: ??/etc/munin/plugins


監(jiān)控mongodb的腳本:


#xiaorui.cc if?[?"$1"?=?"autoconf"?];?thenecho?yesexit?0 fiif?[?"$1"?=?"config"?];?thenecho?'graph_title?mongodb?count?mail'echo?'graph_args?--base?1000?-l?0'echo?'graph_vlabel?mail?queue'echo?'graph_scale?no'echo?'graph_category?system'echo?'load.label?load'echo?'graph_info?The?load?average?of?the?machine?describes?how?many?processes?are?in?the?run-queue?(scheduled?to?run?"immediately").'echo?'load.info?5?minute?load?average'exit?0 fi echo?-n?"load.value?" mongo?reportops?--eval?"db.reportops_log_mail.count()"|tail?-n1

原文:http://rfyiamcool.blog.51cto.com/1030776/1426130

監(jiān)控redis隊(duì)列的腳本:


#xiaorui.cc if?[?"$1"?=?"config"?];?then#?The?host?name?this?plugin?is?for.?(Can?be?overridden?to?have#?one?machine?answer?for?several)#?The?title?of?the?graphecho?'graph_title?redis?mail'#?Arguments?to?"rrdtool?graph".?In?this?case,?tell?it?that?the#?lower?limit?of?the?graph?is?'0',?and?that?1k=1000?(not?1024)echo?'graph_args?--base?1000?-l?0'#?The?Y-axis?labelecho?'graph_vlabel?load'#?We?want?Cur/Min/Avg/Max?unscaled?(i.e.?0.42?load?instead?of#?420?milliload)echo?'graph_scale?no'#?Graph?category.?Defaults?to?'other'echo?'graph_category?system'#?The?fields.?"label"?is?used?in?the?legend.?"label"?is?the?only#?required?subfield.echo?'load.label?load'#?These?two?read?the?environment?for?warning?values?for?the?field#?"load".??If?"load_warning"?or?"warning"?aren't?set?in?the#?environment,?no?warning?levels?are?set.??Likewise?for?"load_critical"#?and?"critical".print_warning?loadprint_critical?load#?This?one?is?purely?to?add?an?explanation?to?the?web?page.?The?first#?one?is?for?the?graph?itself,?while?the?second?one?is?for?the?field#?"load".echo?'graph_info?The?load?average?of?the?machine?describes?how?many?processes?are?in?the?run-queue?(scheduled?to?run?"immediately").'echo?'load.info?5?minute?load?average'#?Last,?if?run?with?the?"config"-parameter,?quit?here?(don't#?display?any?data)exit?0 fi#?If?not?run?with?any?parameters?at?all?(or?only?unknown?ones),?do?the #?real?work?-?i.e.?display?the?data.?Almost?always?this?will?be #?"value"?subfield?for?every?data?field.echo?-n?"load.value?"redis-cli?LLEN?sendmaillist|cut?-d?''?-f2


寫(xiě)完了后,/etc/init.d/munin-node restart 就可以了。等一會(huì)刷新下頁(yè)面就出來(lái)了。


關(guān)鍵就是最后那兩行。。

echo?-n?"load.value?"redis-cli?LLEN?sendmaillist|cut?-d?''?-f2


網(wǎng)上有人做了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


總結(jié)下,munin真的夠簡(jiǎn)單的了,他的簡(jiǎn)單也意味著,他也就 適合我這樣的運(yùn)維研發(fā)人員臨時(shí)做些統(tǒng)計(jì)的場(chǎng)景。 ?記得以前使用munin,當(dāng)時(shí)做zeromq的統(tǒng)計(jì),超過(guò)幾十臺(tái)是沒(méi)啥問(wèn)題,當(dāng)然這話(huà)是(feihua),要是幾十臺(tái)都有問(wèn)題,那這監(jiān)控的水準(zhǔn)確實(shí)夠爛。 ?這東西的局限確實(shí)夠大。也就臨時(shí)畫(huà)畫(huà)圖還行。


轉(zhuǎn)載于:https://blog.51cto.com/rfyiamcool/1426130

總結(jié)

以上是生活随笔為你收集整理的监控开发之用munin来自定义插件监控redis和mongodb的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。