mongodb监控脚本方法
发布时间:2023-10-07 15:19:05 所属栏目:系统 来源:
导读:脚本涵盖两种监控mongo的方法:使用自带的mongostat工具查看,各个监控项的位置可能要按实际的mongostat输出进行调整;进入admin库,查看具体状态信息,可能需要验证。
完整步骤:
1.创建用于监控的用户角色
完整步骤:
1.创建用于监控的用户角色
脚本涵盖两种监控mongo的方法:使用自带的mongostat工具查看,各个监控项的位置可能要按实际的mongostat输出进行调整;进入admin库,查看具体状态信息,可能需要验证。 完整步骤: 1.创建用于监控的用户角色:mongo用户的权限按用户角色进行划分 > use admin > db.getRoles() > db.createRole( { role:"mongostatRole", privileges:[{resource:{cluster:true},actions:["serverStatus"]}], roles:[]} ) //建立一个使用mongostat命令权限的用户角色 2.创建系统监控角色 > db.getUsers() > db.createUser( { user:"dbmon", pwd:"password", roles:[{role:"mongostatRole",db:"admin"}]} ) 3.编写脚本,mongodb_sts.sh #!/bin/bash host="127.0.0.1" passwd="password" rst='' case "$1" in conn) rst=`mongostat -n 1 -u dbbak -p $passwd --authenticationDatabase=admin|awk 'NR==2 {print $(NF-1)}'` ;; dirty) rst=`mongostat -n 1 -u dbbak -p $passwd --authenticationDatabase=admin|awk -F[\ ]+ 'NR==2 {print $8}'` ;; used) rst=`mongostat -n 1 -u dbbak -p $passwd --authenticationDatabase=admin|awk -F[\ ]+ 'NR==2 {print $9}'` ;; qr) rst=`mongostat -n 1 -u dbbak -p $passwd --authenticationDatabase=admin|awk -F[\ \|]+ 'NR==2 {print $(NF-7)}'` ;; qw) rst=`mongostat -n 1 -u dbbak -p $passwd --authenticationDatabase=admin|awk -F[\ \|]+ 'NR==2 {print $(NF-6)}'` ;; res) res=$(echo "db.serverStatus().mem" | mongo -u dbbak -p $passwd admin|awk -F[,\ ] '/"resident"/{print $3}') rst=$[res*1024*1024] ;; vsize) resize=$(echo "db.serverStatus().mem" | mongo -u dbbak -p $passwd admin|awk -F[,\ ] '/"virtual"/{print $3}') rst=$[resize*1024*1024] ;; *) echo "aaaaaaaaaaaa" # exit 5 esac if [ -z $rst ];then echo 0 else echo $rst fi 4.脚本应用:cacti、zabbix等 (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐