Windows中zabbix监控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}'

 

时间: 2024-07-31 16:59:29

Windows中zabbix监控mongodb数据库例子的相关文章

使用zabbix监控mongodb的方法_MongoDB

MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. Mongodb如今越来越火,要做好对mongodb的监控就需要从它的安装配置,到简单的command语句使用,再到对它运行机制以及状态获取方法的掌握.     mongodb有三种基本的状态获取方式:     1.mongostat     2.开启2801

zabbix监控redis数据库状态两种方法

方法一,zabbix监控redis 1.导入模板 同样,模板我已上传到 github项目 上 .直接下载,通过下面的步骤导入模板:点击configuration ----> templates ------> import -------> 导入下载的xml文件 . 2.客户端key配置 在被监控的主机上,打开/etc/zabbix/zabbix_agentd.conf 配置文件,在最后一行加入: UserParameter=redis_stats[*],redis-cli -h 127

linux中Zabbix监控交换机设置步骤

说明: Zabbix监控服务端已经配置完成,现在要使用Zabbix对交换机进行监控. 具体操作: 以下操作在被监控的交换机上进行,这里以Cisco交换机为例. 一.登录到Cisco交换机,开启snmp服务 注意:使用telnet或者仿真终端登录到交换机特权配置模式 enable #切换到特权模式 configure terminal #进入全局配置模式 snmp-server community public ro #打开交换机snmp服务,设置团体名称为public,只读 snmp-serve

linux中Zabbix监控Linux主机设置步骤

说明: Zabbix监控服务端已经配置完成,现在要使用Zabbix对Linux主机进行监控. 具体操作: 以下操作在被监控的Linux主机进行,这里以CentOS 6.x系统为例. 一.配置防火墙,开启10050.10051的TCP和UDP端口 vi /etc/sysconfig/iptables #编辑防火墙配置文件 -A INPUT -s 192.168.21.127 -m state --state NEW -m tcp -p tcp --dport 10050:10051 -j ACCE

linux中Zabbix监控Memcached PHP-FPM Tomcat Nginx MySQL 网站日志

Zabbix作为监控软件非常的灵活,支持的数据类型非常丰富,比如数字(无正负),数字(浮点),日志,文字等.我们需要做的就是使用脚本来收集好数据,然后zabbix收集并画图,设置告警线.这里我们来学习使用Zabbix监控Memcached.PHP-FPM.Tomcat.Nginx.MySQL及网站日志.  Memcached监控   自定义键值   UserParameter=memcached.stat[*],/data/sh/memcached-status.sh "$1" mem

linux中zabbix监控php-fpm性能状态

不多说,首先你需要开启php-fpm的状态页,请参考凉白开前面写的文章<启用php-fpm状态详解>,然后更我一步一步来完成zabbix对php-fpm的监控. zabbix客户端配置 增加自定义key    代码如下 复制代码 # cat zabbix_agentd.conf | grep 'php-fpm' UserParameter=php-fpm.status[*],/usr/bin/curl -s "http://127.0.0.1/status?xml" | g

linux中zabbix 监控web并添加报警

通过zabbi做web监控不仅仅可以监控到站点的相应时间,还可以根据站点返回的状态码,或者相应时间做报警   1.对需要监控的主机添加web监控   在configuration-hosts 中打开主机列表,选择需要添加监控主机的web 再单击右上角的Create scenario 在Name中输入监控的名称,Agent是选择测试站点的浏览器类型 在Staps选项卡添加测试步骤 Name是测试步骤的名称,URL监控站点的真实url,Required status colder是监控时要求页面返回

PHP中安装使用mongodb数据库_MongoDB

传统数据库中,我们要操作数据库数据都要书写大量的sql语句,而且在进行无规则数据的存储时,传统关系型数据库建表时对不同字段的处理也显得有些乏力,mongo应运而生,而且ajax技术的广泛应用,json格式的广泛接受,也使得mongo更贴近开发人员. mongo简介及应用场景 MongoDB是一个面向文档的非关系型数据库(NoSQL),使用json格式存储.Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象.Mongo DB最大的优

Centos 6.3下zabbix监控mysql数据库参数

系统环境:centos6.3 x64 mysql:    mysql-5.6.10 zabbix:   zabbix-2.06 一.修改mysql客户端zabbix_agentd.conf配置: # vi /usr/local/etc/zabbix_agentd.conf 这里注意mysql账号密码与你的数据库账户需对应,还有本脚本获取的是zabbix服务端本地mysql数据库信息,若要获取zabbix客户端信息,请在每行语句mysql或mysqladmin后加 -h"IP"参数,否则