• Zabbix监控Mongo


    安装Zabbix-agent

    # groupadd zabbix
    # useradd -g zabbix zabbix
    # yum -y install gcc mysql-community-devel libxml2-devel unixODBC-devel net-snmp-devel libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel libevent-devel pcre*
    # tar -zxvf zabbix-3.4.4.tar.gz 
    # cd zabbix-3.4.4
    # ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-unixodbc --with-ssh2 --with-openipmi --with-openssl --prefix=/usr/local/zabbix
    # make && make install

    拷贝zabbix-agent启动脚本

    # cp zabbix-3.4.4/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd

    修改zabbix-ageng启动脚本

    # vim /etc/init.d/zabbix_agentd 
    
    BASEDIR=/usr/local/zabbix  #改成这样

    配置zabbix-agent自定义key

    编写获取mongo信息的脚本

    # vim /usr/local/zabbix/script/mongo_info.sh
    
    #!/bin/bash
    
    case $# in
      1)
        output=$(/bin/echo "db.serverStatus().$1" |/usr/local/mongodb/bin/mongo admin |sed -n '4p')  #如果只输入一个参数就调用这里,打印第四行(结果在第四行)
        ;;
      2)
        output=$(/bin/echo "db.serverStatus().$1.$2" |/usr/local/mongodb/bin/mongo admin |sed -n '4p') #如果只输入两个参数就调用这里
        ;;
      3)
        output=$(/bin/echo "db.serverStatus().$1.$2.$3" |/usr/local/mongodb/bin/mongo admin |sed -n '4p') #如果只输入三个参数就调用这里
        ;;
    esac
    
    #check if the output contains "NumberLong"
    if [[ "$output" =~ "NumberLong"   ]];then
      echo $output|sed -n 's/NumberLong(//p'|sed -n 's/)//p'
    else
      echo $output
    fi

    配置zabbix-agent自定义key

    # vim  /usr/local/zabbix/etc/zabbix_agentd.conf.d/mongo_status.conf
    
    UserParameter=MongoDB.Status[*],/usr/local/zabbix/script/mongo_info.sh $1 $2 $3

    重启zabbix-agent

    #  /etc/init.d/zabbix_agentd restart

    zabbix-server 调用测试

    # /usr/local/zabbix/bin/zabbix_get  -s 172.16.1.216 -k MongoDB.Status[uptime]
    23876

    Zabbix Web界面添加监控

    添加监控项 

    添加图形

     

  • 相关阅读:
    layer系列之弹层layer.prompt
    顶级域名、一级域名、二级域名与IP
    Redis知识点总结
    js知识点总结
    PowerDesigner相关总结
    C#中使用Join与GroupJoin将两个集合进行关联与分组
    IIS知识点总结
    打印知识点总结
    vim显示行数
    Linux NFS服务器的安装与配置
  • 原文地址:https://www.cnblogs.com/chadiandianwenrou/p/8535134.html
Copyright © 2020-2023  润新知