Zabbix是怎么样监控mysql、mongodb的
更新:HHH   时间:2023-1-7


下文给大家带来Zabbix是怎么样监控mysqlmongodb的,希望能够给大家在实际运用中带来一定的帮助,MYSQL涉及的东西比较多,理论也不多,网上有很多书籍,今天我们就用天达云在行业内累计的经验做一个解答。

公司的监控换成了zabbix,除了对系统的基本监控外,也想对mysql、mongodb进行监控,以在需要的时候直接查看mysql、mongodb的一些状态;因此研究了zabbix怎么监控mysql和mongodb;记录下这些笔记。

    zabbix的安装和基本配置这里就不详说;直接进入怎么去监控mysql、mongodb;(在这过程中我大部分是参考的网上文章,本篇文章页仅供自己作为笔记使用,如果因此带给原文博主带来影响请谅解并且请给留言,我会立即删除本篇文章。)

-------------------------------------------------------------------------------------------

    在zabbix中自带有mysql的模板,但是默认会不支持的,因为他本身获取不到模板中定义key的值,因此我们需要通过插件来帮助zabbix;zabbix的插件其实就是脚本,也就是说我们需要写一个脚本来帮助zabbix获取这些key的值;


首先在mysql中授权,因为zabbix实际是通过mysql用户查看mysql的一些信息;

mysql>grant all on mysql.* to zabbix@localhost identified by 'zabbix123456';
mysql>flush privileges;


其次在zabbix_agentd.conf 中添加插件

vim /usr/local/zabbix_agentd/etc/zabbix_agentd.conf

UserParameter=mysql.version,mysql -V
UserParameter=mysql.ping,mysqladmin -uzabbix -pzabbix123456 -S /var/lib/mysql/mysql.sock ping | grep -c alive
UserParameter=mysql.status[*],/usr/local/zabbix/script/checkmysqlperformance.sh $1


zabbix监控mysql的插件脚本已经上传到附件:获取mysql信息脚本


重启zabbix_agentd

killall zabbix_agentd

/usr/local/zabbix_agentd/sbin/zabbix_agentd start

查看agentd是否启动成功

ps axuf | grep zabbix_agentd


在zabbix中查看主机的mysql项目状态,如果变为已启用状态则稍等就能在图形中看到数据


至此,zabbix对mysql的监控就已经完成了,如果你还需要监控其他东西可以自己添加插件就行;


-------------------------------------------------------------------------------------------

zabbix 监控mongodb

    zabbix中默认没有监控mongodb的模板,这样就需要自己添加模板了,添加模板我这里就以一个项目为例;

添加mongodb模板(创建模板在点击模板后的右上角)

    组态-->模板-->创建模板-->mongodb monitor


添加监控项目(创建监控项在点击项目后的右上角)

组态-->模板-->项目-->创建监控项-->MongoDB.Status[connections,available]

最关键是的是填写键值


然后添加你想要的其他监控项,下面是我所有的监控项


监控项添加完毕之后还需要添加图形、触发器等,这些在这里就不详述;

上面监控mongodb的模板添加好之后就该添加zabbix插件了,让他来支持mongodb的监控


zabbix监控mongodb的模板已经上传到附件:zabbix_mongodb模板


在zabbix_agentd.conf中添加插件
vim /usr/local/zabbix_agentd/etc/zabbix_agentd.conf
UserParameter=MongoDB.Status[*],/usr/local/zabbix_agentd/script/mongdbmonitor.sh $1 $2
UserParameter=MongoDB.ping,ps axuf | grep  mongod | grep -v "grep " | wc -l


mongdbmonitor.sh脚本内容
vim /usr/local/zabbix_agentd/script/mongdbmonitor.sh
#! /bin/bash
/bin/echo "db.serverStatus().$1" | /usr/local/mongodb/bin/mongo admin | grep -w "$2" | awk -F ':|,' '{print $2}'| sed 's/ //'


重启zabbix_agentd

killall zabbix_agentd

/usr/local/zabbix_agentd/sbin/zabbix_agentd start

查看agentd是否启动成功

ps axuf | grep zabbix_agentd


然后稍等会儿查看主机的mongodb监控状态,主机的状态应该都变为已启动


至此,zabbix对mongodb的监控已经配置完成,这样就可以看到mongodb的一些信息,供分析和监控查看;

看了以上关于Zabbix是怎么样监控mysql、mongodb的,如果大家还有什么地方需要了解的可以在天达云行业资讯里查找自己感兴趣的或者找我们的专业技术工程师解答的,天达云技术工程师在行业内拥有十几年的经验了。

返回MongoDB数据库教程...