zoukankan      html  css  js  c++  java
  • zabbix系列 ~ mongo监控相关

    ,一 简介: 我们来谈谈mongo的监控
    二 核心命令
        rs.status() 关注复制集群是否健康
        db.serverStatus() 关注实例整体性能
    三 目标解读
       主要来解读下db.serverStatus()
       整体
      1 db.serverStatus()输出一个json大串,我只需要关注部分的串值就行
      2 db.serverStatus()输出的值有2种,一种是纯数字 另一种是NumberLong,需要进行预处理才能输出
     目标 
     mem
    1 mem.resident 实例实际占用的内存 单位MB
    2 mem.virtual 实例占用的虚拟内存 单位MB 在启用journal日志时,是mmapped的两倍
    3 mem.mmapped 实例映射的内存大小,一般为整个数据库的大小,是因为是文件映射的方式、
    注意 如果virtual值明显高于mapped值 (如,是其3倍或更高),则表示存在内存泄露
    conn
    1 connections.current 当前使用的连接数
    2 connections.available 剩余的连接数
    注意 观察剩余可用的连接数,制定阈值即可
    global_lock
    1 currentQueue.read 等待的读连接
    2 currentQueue.write 等待的写连接
    3 currentQueue.total 等到的总连接
    注意
    globalLock 属于全局性的锁,如果出现问题则大概率是由于并发的问题
    opercation
    1 opcounters.insert 增
    2 opcounters.delete 删
    3 opcounters.query 查
    4 opcounters.update 改
    注意 这个没什么说的,根据这个可以定位性能排查原因,具体影响的操作类型
    extra_info
    1 page_faults 需要磁盘操作的页面错误总数. 页面错误指的是数据库服务器需要访问内存中不可用数据的操作
    注意 零星的数值不代表什么,如果大量的增长,则需要密切注意

    sh.status

    监控 mongo复制关系,我这里是过滤掉非primary secondary角色进行统计,如果你们有好的思路也可以改进,每个实例都监控,防止单个误判

    四总结
    1 mongo不同版本输出的东西不是都一样,网上下载的很多都是单实例单端口监控模板,并不适用
    2 mongo大体这几项指标我觉得还可以,我觉得监控就是监控自己需要的东西,所以我写了mongo模板
    3 mongo集群环境我选择了监控单实例,因为很多只能从实例本身的输出获取

  • 相关阅读:
    iOS系列译文:自定义Collection View布局
    iOS系列译文:整洁的表视图代码
    各种类型的电影排行榜-movie路线
    学习正则
    sublime text 配置golang开发环境
    百度地图 Javascript API 笔记
    Sublime Text 3 若干问题解决办法
    无法修改系统Host的解决办法
    守望先锋overwatch美服外服设置方法
    Steam游戏黑屏与游戏直接安装方法
  • 原文地址:https://www.cnblogs.com/danhuangpai/p/10570429.html
Copyright © 2011-2022 走看看