千家信息网

Zabbix MongoDB监控

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,去年监控mongodb设置的模板,包括mongodb连接数,内存,复制延迟,是否Master的监控,下面是一些监控图形示例我们还有一些触发器,比如mongodb实例是否可用,mongodb副本集的角色
千家信息网最后更新 2025年01月23日Zabbix MongoDB监控


去年监控mongodb设置的模板,包括mongodb连接数,内存,复制延迟,是否Master的监控,下面是一些监控图形示例









我们还有一些触发器,比如mongodb实例是否可用,mongodb副本集的角色是否切换。

附件中是mongodb的模板文件,后台的脚本改日再行上传。


后台运行脚本:

#!/bin/bash##########################################################          mongod_stats.sh      ##          written by yanglixue      ##           2015/07/08               ##########################################################command_line="/opt/mongodb-linux-x86_64-3.0.7/bin/mongo"username_m="admin"password_m="password"username_c="admin"password_c="password" function get_mongo_conn() {   if [ $1 == "Primary" ];then     username=${username_m}     password=${password_m}   elif [ $1 == "Secondary" ];then     username=${username_m}     password=${password_m}   elif [ $1 == "Config" ];then     username=${username_c}     password=${password_c}   elif [ $1 == "Mongos" ];then     username=${username_c}     password=${password_c}   fi   command_line="${command_line} localhost:$port/admin -u$username -p$password"}case $# in  3)    port=$3        get_mongo_conn $1        if [ $2 == "Repl_lag" ];then       output=$(/bin/echo "db.printSlaveReplicationInfo()" |$command_line|grep "behind the primary" |awk '{print $1}'|sed  's/-//')    elif [ $2 == "IsMaster" ];then       o1=$(/bin/echo "db.isMaster().ismaster" |$command_line|sed -n '3p')       if [ $o1 == "true" ];then          output=1       elif [ $o1 == "false" ];then          output=0       else          output=-1       fi           else       output=$(/bin/echo "db.serverStatus().$2" |$command_line|sed -n '3p')    fi    ;;  4)    port=$4    get_mongo_conn $1    output=$(/bin/echo "db.serverStatus().$2.$3" |$command_line|sed -n '3p')    ;;  5)    port=$5    get_mongo_conn $1    output=$(/bin/echo "db.serverStatus().$2.$3.$4" |$command_line|sed -n '3p')    ;;esac #check if the output contains "NumberLong"if [[ "$output" =~ "NumberLong"   ]];then  echo $output|sed -n 's/NumberLong(//p'|sed -n 's/)//p'else   echo $outputfi


附件:http://down.51cto.com/data/2367256
0