码迷,mamicode.com
首页 > 其他好文 > 详细

zabbix自动发现监控mongo

时间:2016-05-10 23:55:17      阅读:449      评论:0      收藏:0      [点我收藏+]

标签:zabbix mongo zabbix自动发现 zabbix自动发布监控mongo

1: zabbix自动发现mongo监控的端口,并返回zabbix_server需要的格式,脚本部署在zabbix_agent上,路径为/usr/local/zabbix/zabbix_discover_mongo.sh,脚本内容如下:

#!/bin/sh

#zhuangweihong 20160419 zabbix discover mysql 

res=`sudo ss -tulnp|grep mongo|grep -v 28107|awk ‘{print $(NF-2)}‘|awk -F‘:‘ ‘{print $(NF)}‘|sort -u`

count=`echo "$res"|wc -l`

if [ $count -eq 0 ];then

    echo "mysql has not find"

    exit 2

fi

printf ‘{\n‘

printf ‘\t"data":[\n‘

mycount=1

echo "$res"|while read line;do

    if [ $count -eq $mycount ];then

        printf "\t\t\t{\"{#MONGOPORT}\":\"$line\"}\n"

    else

        printf "\t\t\t{\"{#MONGOPORT}\":\"$line\"},\n"

        let "mycount++"

    fi

done


printf ‘\t]\n‘

printf ‘}\n‘

exit 0


脚本使用注意事项:

    1: 需要开启zabbix的sudo权限,visudo添加如下:

        zabbix ALL= NOPASSWD: /usr/sbin/ss

        Defaults:zabbix   !requiretty


2: 在zabbix_agentd端添加配置如下:

vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/zwh_zabbix.conf

UserParameter=zabbix.discovery.mongo,/usr/local/zabbix/zabbix_discover_mongo.sh

UserParameter=mongo.status[*],echo "db.serverStatus().$2"|mongo 127.0.0.1:$1|sed ‘s/,/\r\n/g‘|grep "$3" |awk -F‘:|,|}‘ ‘{print $$2}‘

    添加完配置后重启zabbix_agentd


3: 在zabbix_server端的网页新建个监控模板名字如:Template Mongo Discovery Service,然后添加个探索规则,键值那边填写的内容为zabbix.discovery.mongo。


4: 在zabbix_server端的网页上新建项目原型,名称的键值如下:

{#MONGOPORT}:available connections  mongo.status[{#MONGOPORT},connections,available]

{#MONGOPORT}:current connections  mongo.status[{#MONGOPORT},connections,current]

{#MONGOPORT}:delete per second   mongo.status[{#MONGOPORT},opcounters,delete]

{#MONGOPORT}:insert per second   mongo.status[{#MONGOPORT},opcounters,insert]

{#MONGOPORT}:query per second    mongo.status[{#MONGOPORT},opcounters,query]

{#MONGOPORT}:update per second   mongo.status[{#MONGOPORT},opcounters,update]

分别监控mongo可用的连接,当前的连接。每秒的删除,插入,查询和更新量,这些都是些差的变量,使用的类型为float。


5: 在zabbix_server新建个触发器,当可用的连接少于100的时候要告警。选择原型,定义自己的触发器。


6: 在zabbix_server上新建个图形,把可用的连接和当前的连接弄成一个图形,查询量等弄成一个图形,模板就大概完成了。

本文出自 “庄伟鸿” 博客,请务必保留此出处http://zhuangweihong.blog.51cto.com/8808431/1771923

zabbix自动发现监控mongo

标签:zabbix mongo zabbix自动发现 zabbix自动发布监控mongo

原文地址:http://zhuangweihong.blog.51cto.com/8808431/1771923

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!