• zabbix监控redis多实例(low level discovery)


    对于多实例部署的tomcat、redis等应用,可以利用zabbix的low level discovery功能来实现监控,减少重复操作。
     注:Zabbix版本: Zabbix 3.0.2
    一、服务端配置
    1、创建模板
    模板名称: Template_Redis_Monitor
     
    2、创建自动发现规则
    给已创建好的模板Template_Redis_Monitor添加自动发现规则。
     
     
     
    3、添加监控项原型
    从上面截图可以看到,我已经创建了4个,具体如下:
     
    看看其中一个:
     
    再来看看主机关联模板后的监控项:
     
    二、客户端配置
    zabbix_agentd.conf配置文件添加或修改内容如下:
    UnsafeUserParameters=1   #允许zabbix用户运行root命令
    UserParameter=redis.discovery,/data/zabbix/externalscripts/redis_port.py  #获取json格式数据,上报端口
    UserParameter=redis[*],/data/zabbix/externalscripts/redis_stats.sh $1 $2    #自定义Key值

    用到的两个脚本内容如下:

    发现端口的脚本:

    # cat redis_port.py
    #!/usr/bin/env python
    import os
    import json
    p=os.popen("""sudo netstat -anp|awk -F: '/redis-server/&&/LISTEN/{sub(/ .*/,"",$2);if($2)print $2}' """)
    ports = []
    for port in  p.readlines():
        r = os.path.basename(port.strip())
        ports += [{'{#REDISPORT}':r}]
    print json.dumps({'data':ports},sort_keys=True,indent=4,separators=(',',':'))

     获取监控数据的脚本:

    # cat redis_stats.sh
    #!/bin/bash
    METRIC="$1"
    PORT="${2:-6379}"
    CACHE_FILE="/data/zabbix/externalscripts/redis_$PORT.cache"
    redis-cli -p ${PORT} -a 'USLF93SUVwtSF$$#@W' info > ${CACHE_FILE} 2>/dev/null || exit 1
    awk -F'[:,]+' '/'"${METRIC}"':/{gsub(/^[^0-9]+/,"",$2);print $2}' ${CACHE_FILE}
    三、测试
    在zabbix_server上进行测试,执行以下命令:
    zabbix_get -s 客户端IP -k redis.discovery

    客户端redis两个实例端口为6380和6444,可以看到自动发现端口成功!
    测试是否可以获取数据:
    获取数据成功!
    最后可以创建图形,查看数据:
     
    其它问题:zabbix_agentd是zabbix用户启动的,默认不能执行netstat -p等命令,因此可以配置sudo解决。
    也可以使用chmod +s /bin/netstat进行解决。
  • 相关阅读:
    Linux下解压分包文件zip(zip/z01/z02)
    Ubuntu 16.04安装Notepadqq编辑器替代Notepad++
    Ubuntu 16.04安装NASM汇编IDE-SASM
    java命令--jstack 工具
    详述 hosts 文件的作用及修改 hosts 文件的方法
    译:Java 中的正则表达式性能概述
    译:25个面试中最常问的问题和答案
    Android中使用GoogleMap的地理位置服务
    Android 从imageview中获得bitmap的方法
    Android通过百度地图API用Service和Alarm在后台定时获取地理位置信息
  • 原文地址:https://www.cnblogs.com/Eivll0m/p/5455210.html
Copyright © 2020-2023  润新知