Zabbix5.0监控MongoDB

Zabbix5.0 监控MongoDB

1.什么是MongoDB

在这里插入图片描述
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写,MongoDB是一个介于关系数据库和非关系数库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

  • 使用JSON风格语法,易于掌握和理解
  • Schema-less,支持嵌入子文档
  • CRUD更加简单,支持in-place update
  • 所有的属性类型都支持索引
  • 性能高效,速度快
  • Map/Reduce对大数据量的表进行统计、分类、合并的工作

2.应用场景

2.1 适用的应用场景
  • 站点数据:mongo很适合实时的插入,更新与查询,并具备站点实时数据存储所需的复制及高度伸缩性。

  • 缓存:因为性能非常高,mongo也适合作为信息基础设施的缓存层。在系统重新启动之后。由mongo搭建的持久化缓存能够避免下层的数据源过载。

  • 大尺寸、低价值的数据:使用传统的关系数据库存储一些数据时可能会比較贵。

  • 高伸缩性的场景:mongo很适合由数十或者数百台server组成的数据库。

  • 用于对象及JSON数据的存储:mongo的BSON数据格式很适合文档格式化的存储及查询。

2.2 不适用的应用场景
  • 要求高度事务性的系统

​ 比如银行或会计系统。传统的关系型数据库眼下还是更适用于须要大量原子性复杂事务的应用程序。

  • 传统的商业智能应用。

​ 针对特定问题的BI查询场景,对于此类应用,数据仓库可能是更合适的选择。

  • 复杂的跨文档(表)级联查询。

3.如何监控MongoDB

3.1 常用监控方式

​ MongoDB内部命令

  • mongodb提供的内部方法,能够查看mongodb的运行快照;
  • 最常用、最基础的查看实例运行状态的命令;
  • ./mongo 127.0.0.1:27017
  • db.serverStatus();
3.1.1 操作信息(Operations)
"insert" : 34343,    // mongod最近一次启动后的insert次数
"query" : 34322,     // mongod最近一次启动后的query次数
"update" : 45667,    // mongod最近一次启动后的update次数
"delete" : 34563,    // mongod最近一次启动后的delete次数
"getmore" : 455673,  // mongod最近一次启动后的getmore次数,这个值可能会很高,因为子节点会发送getmore命令,作为数据复制操作的一部分
"command" : 32456    // mongod最近一次启动后的执行command命令的次数
3.1.2 网络信息(Network)
"bytesIn" :NumberLong("1551919234783"), //数据库接收到的网络传输字节数
"bytesOut" :NumberLong("2333459244323"), //从数据库发送出去的网络传输字节数
3.1.3 连接数信息(Connections)
"current" : 2581, //当前连接数
"available" : 48619, //可用连接数
3.1.4 内存信息(Memory)
"bits" : 64,        //操作系统位数
"resident" : 45792, //物理内存消耗,单位M
"virtual" : 326338, //虚拟内存消耗, 单位M
"mapped" : 161399,  //映射内存
"mappedWithJournal" : 322798 //除了映射内存外还包括journal日志消耗的映射内存
3.1.5 全局锁信息(GlobalLock)
#activeClients活跃客户
"total" : 0,   //当前活跃客户端的个数
"readers" : 0, //当前活跃客户端中进行读操作的个数
"writers" : 0  //当前活跃客户端中进行写操作的个数
#currentQueue当前队列
"total" : 0,   //当前队列的等待的总个数
"readers" : 0, //当前队列的等待读的总个数
"writers" : 0  //当前队列的等待写的总个数
3.1.6 游标信息(Cursors)
"clientCursors_size" : 2, //mongodb当前为客户端维护的游标个数
"totalOpen" : 2,          //和clientCursors_size一样
"pinned" : 0,             //打开的pinned类型的游标个数
"totalNoTimeout" : 0,     //设置了noTimeout,打开的游标个数
"timedOut" : 11       	  //从mongod启动以来的游标超时个数,数据的持续增长代表当前应用程序有错误
3.1.7 断言信息(Asserts)
#断言其实是防止程序意外出错的一种宏,如果其参数计算为假,则程序发出警告,且退出。
"regular" : 65,     //正常的断言数量
"warning" : 1,      //warning的断言数量
"msg" : 0,          //message的断言数量
"user" : 30655213,  //user的断言数量
"rollovers" : 0     //重置的断言数量
3.2 其他监控方式
3.2.1 mongosniff

​ 网络嗅探器,类似于Linux TCPDUMP工具,监控MongoDB相关的包请求

3.2.2 mongostat

​ 非常重要的工具,MongoDB数据库实时状态监控,包括读写情况、加锁、索引命中、缺页中断、队列等状态

3.2.3 mongotop

​ 供追踪MongoDB实例读写数据所用时间的方法。收集关于集合层的统计信息。

4. Zabbix5.0监控MongoDB

zabbix5.0监控MongoDB的也是通过db.serverStatus()方法来采集数据。MongoDB node by Zabbix Agent 2 — collects metrics by polling zabbix-agent2.

4.1 前置条件
  • 准备好mongodb数据库服务

    MongoDB安装指南

  • 安装zabbix-agent2
    注意版本必须是5.0.14以上

    在mongodb数据库服务器上安装zabbix-agent2,确认通过"agent.ping"可以成功监听agent状态。

4.2 监控部署

Zabbix5.0的agent2自带了mongodb的监控,并且提供了很专业的监控模板,我们也直接用官方推荐的就行。

4.2.1 添加主机

主机的名称必须要和zabbix_agent2.conf里面配置的hostname一致!

客户端ip地址填mongodb的IP,端口填10050,这样就能通过"agent.ping"去监控agent的状态。
在这里插入图片描述

4.2.2 关联模板

我们直接搜索mongodb能就能选到模板,由于我这次测试安装的单个节点的mongodb,就选node类型的模板。
在这里插入图片描述
点击更新按钮,添加完成,效果如下:
在这里插入图片描述

4.2.3 修改宏配置

该模板默认的{$MONGODB.CONNSTRING}是”tcp:localhost:27017“,我们需要在主机的模板页面,定制化修改成想要监控的mongodb的IP和端口,我的mongodb的ip是166.8.69.5 端口是27017(可以通过修改mongodb配置文件改变端口)
在这里插入图片描述
修改完主机宏以后,我们可以看到继承以及主机宏也已经从默认值改为我们想要的值
在这里插入图片描述

4.2.4 查看最新数据

我们点击左侧的监测,然后找到最新数据,选择主机,应用级Mongodb,就可以看到监控数据了。
在这里插入图片描述
该模板还提供了推荐的触发器(阈值)配置
在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
你可以使用 Zabbix 5.0 进行虚拟机(VM)的监控。首先,确保你已经安装了 Zabbix 服务器和代理程序。然后,按照以下步骤进行配置: 1. 在 Zabbix 管理界面中,创建一个新的主机,该主机代表你要监控的虚拟机。提供主机的名称、IP 地址和所属的组。 2. 在主机配置页面的“Templates”选项卡中,添加一个适合的模板,如 "Template Virtual Machine"。这个模板包含了一些默认的监控项和触发器,用于监控虚拟机的状态和性能。 3. 在主机配置页面的“Applications”选项卡中,添加一个新的应用程序,用于管理与虚拟机相关的监控项和触发器。你可以将其命名为 "Virtual Machine Monitoring" 或似的名称。 4. 在应用程序配置页面的“Items”选项卡中,添加需要监控的项。例如,你可以监控虚拟机的 CPU 使用率、内存使用率、磁盘空间等。选择适当的监控型,并设置相应的键值和触发器条件。 5. 在触发器配置页面中,定义当监控项达到特定阈值时触发的报警条件。例如,当 CPU 使用率超过 80% 或内存使用率超过 90% 时,触发警报。 6. 保存配置并等待 Zabbix 服务器和代理程序收集数据。你将能够在 Zabbix 界面上查看虚拟机的监控数据,并收到相关的警报通知。 请注意,以上步骤只是一个基本的指引,实际配置可能会因你的环境和需求而有所不同。你可以根据具体情况进行调整和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值