千家信息网

Zabbix监控mongodb配置

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,本文主要介绍zabbix监控mongodb的配置。zabbix监控mongodb需要自定义脚本去监控,脚本可以传入多个参数。原理:通过mongodb客户端连接命令,过滤出db.serverStatus
千家信息网最后更新 2024年11月23日Zabbix监控mongodb配置

本文主要介绍zabbix监控mongodb的配置。

zabbix监控mongodb需要自定义脚本去监控,脚本可以传入多个参数。

原理:通过mongodb客户端连接命令,过滤出db.serverStatus()输出的信息。

一、创建监控数据采集脚本

1.脚本内容:

#cat check_mongodb.sh#!/bin/bash## mongodb status# db.serverStatus().ok# memory status# Physical memory: db.serverStatus().mem.resident# Virtual memory: db.serverStatus().mem.virtual# opcounters status# insert: db.serverStatus().opcounters.insert# query: db.serverStatus().opcounters.query# update: db.serverStatus().opcounters.update# delete: db.serverStatus().opcounters.delete# connections status# current connections: db.serverStatus().connections.currentMONGODBPATH="/usr/local/mongodb3.2.1/bin/mongo"HOST="127.0.0.1"PORT="$1"MONGODB_PA="$MONGODBPATH ${HOST}:${PORT}" if [ $# == 3 ];then  result=$(/bin/echo "db.serverStatus().$2.$3" | $MONGODBPATH ${HOST}:${PORT} --quiet)  echo $resultelif [ $# == 2 ];then  result=$(/bin/echo "db.serverStatus().$2" | $MONGODBPATH ${HOST}:${PORT} --quiet)  echo $resultelse  echo "Usage:$0 PORT mem resident"fi

2.脚本使用

存放位置:/usr/local/zabbix/etc/scripts

功能:

(1).脚本能接受三个参数传入,监控mongodb内存使用情况、客户端连接数、dml操作语句情况等

(2).脚本能接受二个参数传入,监控mongodb是否在线

二、修改agent配置文件

1.修改zabbix_agentd.conf

Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/

2.zabbix_agentd.conf.d下定义监控mongodb的key

#cat mongodb_stats.confUserParameter=mongodb_stats[*],/usr/local/zabbix/etc/scripts/check_mongodb.sh $1 $2 $3

3.重启agent服务

三、在web界面创建监控项

mongodb实例端口定义成主机宏,具体宏操作参考:http://hnr520.blog.51cto.com/4484939/1852655

1.创建监控mongodb是否在线items

键值:mongodb_stats[{$MONGODB_PORT_TEST},ok]

2.创建监控mongodb内存使用情况itmes

键值:mongodb_stats[{$MONGODB_PORT_TEST},mem,resident]

注意:采集到数据单位为MB,单位使用B,因此需要定义1024*1024倍数,否则当内存使用超过GB时没法显示出GB

3.创建监控mongodb客户端连接数items

键值:mongodb_stats[{$MONGODB_PORT_TEST},connections,current]

4.创建监控dml语句相关信息items

键值:mongodb_stats[{$MONGODB_PORT_TEST},opcounters,insert]

注意:通过db.serverStatus().opcounters监控到数据是服务启动以来总的数量,因此存储值类型需要修改成差量

其他几个query、delete、update类型创建

四、查看数据

选择监测中---->最新数据---->选择相应过滤条件

五、创建mongodb opcounters信息图形

选择配置---->主机---->选择mongodb主机---->图形


0