【windows中zabbix监控mongodb数据库】Windows中zabbix监控mongodb数据库例子

更新时间:2019-12-06    来源:MongoDB    手机版     字体:

【www.bbyears.com--MongoDB】

zabbix监控mongodb

 

1、配置zabbix自定义用户key
vim /usr/local/zabbix/etc/zabbix_agentd.conf
UserParameter=MongoDB.Status[*],/bin/echo "db.serverStatus().$1" | /usr/local/mongodb/bin/mongo admin | grep "\<$2\>"| awk -F : "{print $$2}"|awk -F , "{print $$1}"
上面是通过db.serverStatus()来获取服务器状态
其中$1表示第一个参数
grep $2的时候要加上锚地符 "\<" 和 "\>",因为有的对象名可能部分相同

 

重启zabbix客户端

 

2、使用自定义的命令测试获取的结果
[root@mongodb bin]# echo "db.serverStatus().opcounters" | mongo admin 
MongoDB shell version: 2.6.3
connecting to: admin
{
       "insert" : 6,
       "query" : 138,
       "update" : 1,
       "delete" : 1,
       "getmore" : 0,
       "command" : 9884
}
bye

 

3、测试用户自定义key是否生效
./zabbix_get -s 127.0.0.1 -k MongoDB.Status[opcounters,query]  

 

4、在zabbix上添加监控
新建一个模板

添加监控项
监控command,收集所有的命令数,包括插入,删除,查询,更新等所有命令,这里每过10秒取一次值
insert、query、update、delete、getmore、command等都用相同的设置

监控内存,virtual是虚拟内存,resident是无论内存

监控网络,bytesIN是进流量,bytesOut是出流量,numRequests是请求数

监控连接数,available是可用连接数、current是当前连接数

监控刷写数据到硬盘的次数

定义mapped的项目,单位是MB

 

5、监控locks项目,由于部分项目是多维数组,不能使用之前自定义的用户key获取,需要额外创建专门的key

 

[root@mongodb bin]#  echo "db.serverStatus().locks" | mongo admin
MongoDB shell version: 2.6.3
connecting to: admin
{
       "." : {
               "timeLockedMicros" : {
                       "R" : NumberLong(572504),
                       "W" : NumberLong(480751)
               },
               "timeAcquiringMicros" : {
                       "R" : NumberLong(480946),
                       "W" : NumberLong(70198)
               }
       },
       "admin" : {
               "timeLockedMicros" : {
                       "r" : NumberLong(142364),
                       "w" : NumberLong(0)
               },
               "timeAcquiringMicros" : {
                       "r" : NumberLong(15018),
                       "w" : NumberLong(0)
               }
       },
       "local" : {
               "timeLockedMicros" : {
                       "r" : NumberLong(271651),
                       "w" : NumberLong(271)
               },
               "timeAcquiringMicros" : {
                       "r" : NumberLong(120699),
                       "w" : NumberLong(5)
               }
       },
       "test" : {
               "timeLockedMicros" : {
                       "r" : NumberLong(93725),
                       "w" : NumberLong(114935)
               },
               "timeAcquiringMicros" : {
                       "r" : NumberLong(67411),
                       "w" : NumberLong(41)
               }
       }
}
bye
创建自定义key

 

UserParameter=MongoDB.Status.locks[*],/bin/echo "db.serverStatus().locks.$1.$2.$3" | /usr/local/mongodb/bin/mongo admin |/usr/bin/tail -n 2 | /usr/bin/head -n 1 | awk -F "(" "{print $$2}"|awk -F ")" "{print $$1}"

 

本文来源:http://www.bbyears.com/shujuku/82337.html

热门标签

更多>>

本类排行