加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 系统 > 正文

介绍zabbix监控mongodb的配置

发布时间:2023-10-24 15:31:49 所属栏目:系统 来源:
导读:zabbix监控mongodb需要自定义脚本去监控,脚本可以传入多个参数。

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

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

1.脚本内容:

#cat check_mong
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.current
 
MONGODBPATH="/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 $result
 
elif [ $# == 2 ];then
 
  result=$(/bin/echo "db.serverStatus().$2" | $MONGODBPATH ${HOST}:${PORT} --quiet)
 
  echo $result
 
else
 
  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.conf
 
UserParameter=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主机---->图形
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章