我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mongodb监控脚本

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

mongodb监控脚本

脚本涵盖两种监控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等

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mongodb监控脚本

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python 监控mysql脚本

#!/usr/bin/env python#-*- coding: UTF-8 -*-from __future__ import print_functionfrom mysql import connectorimport loggin
2023-01-31

shell如何监控脚本

这篇文章主要介绍了shell如何监控脚本,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1 准备监控机 linux 系统,普通服务器即可,要求: 安装ssh 客户端,如果要发送
2023-06-09

python脚本监控docker容器

本文实例为大家分享了python脚本监控docker容器的方法,供大家参考,具体内容如下 脚本功能: 1、监控CPU使用率 2、监控内存使用状况 3、监控网络流量 具体代码:#!/usr/bin/env python # --*-- cod
2022-06-04

Linux监控脚本有哪些

小编给大家分享一下Linux监控脚本有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、查看主机网卡流量代码如下:#!/bin/bash#network#Mi
2023-06-09
2024-04-02

shell监控脚本实例—监控mysql主从复制

本节内容:监控mysql主从复制的shell脚本。 说明:监控脚本在 rhel5 下测试正常,其它版本的linux 系统请自行测试,需要的一些准备工作可以查看这篇文章 代码:#监控mysql 主从复制cat chk_mysql_rep.sh
2022-06-04

CPU负载监控脚本代码

#!/bin/bashload=`uptime`shijian=`date +%Y-%m-%d-%T`file=cpustatus.txttouch $fileall=`cat $file |wc -l`printf "$load $shi
2022-06-04

shell脚本监控mysql主从状态

此脚本首先判断mysql服务器是否运行,如果正常,继续判断主从,否则发邮件告警,只发一次。判断主从状态是判断IO和SQL线程是否都为yes,如果不是则发邮件通知,只发一次。#!/bin/bash#define mysql variablem
2022-06-04

linux进程监控shell脚本代码

为确保php页面在后台运行,写了一个监控脚本,假设程序异常退出,那么可以自动重启。 shell脚本/usr/local/scripts/receve.sh内容:#!/bin/bash #funtion:keep receve.php run
2022-06-04

Python脚本监控mysql数据库,P

任务:应帅气的领导要求,需要监控生产环境mysql和mongo数据库服务。不仅要connect successful还要进行数据交互进一步确认数据库服务正常。思路:mysql和mongo 数据库ip、端口、用户名、密码、认证库(mongo)
2023-01-31

LINUX下的流量监控shell脚本

最近比较忙,好久没更新博客了,今天刚好不忙写了一个流量监控脚本.测试在centos下已通过,有需要的朋友可以试试,有BUG或者需要添加其他功能话可以留言哦.一、脚本源码# vi /etc/rc.d/traffic_monitor.sh---
2022-06-04

编程热搜

目录