您的位置:首页 > 数据库

zabbix监控mongo数据库,数据空白段问题解决

2017-11-08 16:39 375 查看
问题描述:

公司使用zabbix对mongo数据库进行基础监控,出于节省资源的角度考虑把监控数据采集和zabbix server获取数据分开,数据采集由计划任务管理,数据采集包括以下部分:

*/1 * * * * /usr/local/zabbix/scripts/refresh_file.sh mongo_status

*/1 * * * * sleep 30; /usr/local/zabbix/scripts/refresh_file.sh mongo_status

*/1 * * * * /usr/local/zabbix/scripts/refresh_file.sh mongostat

*/1 * * * * sleep 30; /usr/local/zabbix/scripts/refresh_file.sh mongostat

*/1 * * * * /usr/local/zabbix/scripts/refresh_file.sh db_stats

*/1 * * * * sleep 30; /usr/local/zabbix/scripts/refresh_file.sh db_stats

refresh_file.sh为数据采集脚本,对于mongostat取得的数据,显示数据类型不支持,进而造成数据空白区,其他数据获取没问题
问题分析:

对比mongostat和其他获取方式发现是由于其获取时间较长,而在获取过程中数据存放文件会变为空,从而导致zabbix获取到数据为空,报错产生。
问题解决:

建立两个文件,一个用来存放计划任务调用mongostat获取到的数据,一个用来给zabbix平台提供数据,后者文件内容由前者有条件的覆盖产生,操作如下:

stat="/usr/local/zabbix/scripts/mongostat.txt"

[ ! -s /usr/local/zabbix/scripts/mongostat1.txt ]||cat /usr/local/zabbix/scripts/mongostat1.txt > $stat

问题解决,方法比较笨,如果有更好的解决方式,烦请告知,感激不尽
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐