mongodb 监控权限_Zabbix监控mongodb

主机环境:

[root@test ~]# uname -a

Linux test 3.10.0-693.el7.x86_64 #1 SMP Thu Jul 6 19:56:57 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux

[root@test ~]# cat /etc/redhat-release

Red Hat Enterprise Linux Server release 7.4 (Maipo)

[root@test ~]# ifconfig

ens33: flags=4163 mtu 1500

inet 192.168.139.132 netmask 255.255.255.0 broadcast 192.168.139.255

ether 00:0c:29:ca:b7:70 txqueuelen 1000 (Ethernet)

RX packets 356 bytes 41989 (41.0 KiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 224 bytes 41057 (40.0 KiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Zabbix版本:3.4.9

mongodb版本:

[root@test zabbix_agentd.d]# mongod --version

db version v3.6.5

git version: a20ecd3e3a174162052ff99913bc2ca9a839d618

OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013

allocator: tcmalloc

modules: none

build environment:

distmod: rhel70

distarch: x86_64

target_arch: x86_64

主机防火墙和selinux关闭

Zabbix yum安装参考:https://www.tracymc.cn/archives/614,编译安装可参考https://www.tracymc.cn/archives/218.

mongodb安装:https://www.tracymc.cn/archives/492,https://www.tracymc.cn/archives/168

具体步骤:

1.编写脚本并设置键值

监控脚本:

[root@test ~]# cat /etc/zabbix/scripts/mongodb.sh

#!/bin/bash

index=$(echo $@ | tr " " ".")

status=$(echo "db.serverStatus().${index}" |/usr/bin/mongo --quiet admin)

#check if the output contains "NumberLong"

if [[ "$status" =~ "NumberLong" ]];then

echo $status|sed -n 's/NumberLong(//p'|sed -n 's/)//p'

else

echo $status

fi

[root@test zabbix_agentd.d]# chmod u+x /etc/zabbix/scripts/mongodb.sh //设置权限

设置键值:

[root@test ~]# cat /etc/zabbix/zabbix_agentd.conf |grep conf|grep -v ‘#’ //yum安装zabbix的话agent默认配置文件为/etc/zabbix/zabbix_agentd.conf

Include=/etc/zabbix/zabbix_agentd.d/*.conf //你懂的,包含/etc/zabbix/zabbix_agentd.d下面的配置

[root@test zabbix_agentd.d]# cat /etc/zabbix/zabbix_agentd.d/userparameter_mongodb.conf

UserParameter=mongodb.status[*],sudo sh /etc/zabbix/scripts/mongodb.sh $1 $2 $3 $4 $5

[root@test zabbix_agentd.d]# systemctl restart zabbix-agent //重启agent

[root@test zabbix_agentd.d]# visudo //增加如下行

zabbix ALL=(ALL) NOPASSWD:/bin/sh

3.导入模板

先将模板存到本地,再导入到zabbix-server中.

导入下载模板,如下:

导入成功后可以在配置-模板查看已导入的模板,如下:

4.关联模板

添加模板:

配置-主机点击相关主机进去配置模板,如下:

5.zabbix web验证是否有数据

关联模板后,稍等一会,查看web页面是否有数据.

部分截图如下:

注意:

一开添加模板后出不来数据,有如下报错:

Value "995 2018-06-14T16:45:51.388+0800 E - [main] Error saving history file: FileOpenFailed: Unable to open() file .dbshell: Permission denied" of type "string" is not suitable for value type "Numeric (unsigned)"

意思是zabbix用户没有权限打开.dbshell(全路径为/root/.dbshell)这个文件,解决办法:

[root@test zabbix_agentd.d]# visudo //增加如下行

zabbix ALL=(ALL) NOPASSWD:/bin/sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值