• zabbix监控多实例redis


    Zabbix监控多实例Redis

    软件名称软件版本
    Zabbix Server6.0.17
    Zabbix Agent5.4.1
    Redis6.2.10

    Zabbix客户端配置

    编辑自动发现脚本

    vim /usr/local/zabbix/scripts/redis_discovery.sh
    #!/bin/bash
    #Fucation:redis low-level discovery
    #Script_name redis_discovery.sh
    redis() {
        #port=($(netstat -tpln | awk -F "[ :]+" '/redis/ && /0.0.0.0/ {print $5}'))
        #port=($(ps aux|grep redis-server|grep -v grep|awk -F ":" '{print $3}'|awk '{print $1}'))
        port=($(ps aux|grep redis-server|grep -v grep|awk -F "[ :]+" '{print $14}'))
        printf '[\n'
           for key in ${!port[@]}
           do
               if [[ "${#port[@]}" -gt 1 && "${key}" -ne "$((${#port[@]}-1))" ]];then
                   printf "\t{\"{#REDISPORT}\":\"${port[${key}]}\"},\n"
               else [[ "${key}" -eq "((${#port[@]}-1))" ]]
                   printf "\t{\"{#REDISPORT}\":\"${port[${key}]}\"}\n"
               fi
           done
                   printf ']\n'
    }
    $1
    
    chmod +x /usr/local/zabbix/scripts/redis_discovery.sh
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    测试

    # ./redis_discovery.sh redis
    [
            {"{#REDISPORT}":"6381"},
            {"{#REDISPORT}":"6384"}
    ]
    
    • 1
    • 2
    • 3
    • 4
    • 5

    编辑信息获取脚本

    调整主机名及密码

    vim /usr/local/zabbix/scripts/redis_stats.sh
    /usr/local/bin/redis-cli -h 192.168.62.31 -a Redis -p $1 info 2> /dev/null|awk -F ':' '{if ($1=="'$2'") print $2}'
    
    chmod +x /usr/local/zabbix/scripts/redis_stats.sh
    
    • 1
    • 2
    • 3
    • 4

    测试

    ./redis_status.sh 6381 used_cpu_sys
    705.29
    
    • 1
    • 2

    编辑配置文件

    vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/multiple_redis.conf
    UserParameter=redis_discovery[*],/bin/bash /usr/local/zabbix/scripts/redis_discovery.sh $1
    UserParameter=redis_stats[*],/bin/bash /usr/local/zabbix/scripts/redis_stats.sh $1 $2
    
    • 1
    • 2
    • 3

    Zabbix服务端配置

    测试数据获取

    zabbix_get -s 192.168.62.31 -p 10050 -k redis_discovery[redis]
    zabbix_get -s 192.168.62.31 -p 10050 -k redis_stats[6381,used_cpu_sys]
    
    • 1
    • 2

    创建模板

    在这里插入图片描述
    配置模板名称及群组
    在这里插入图片描述

    创建自动发现规则

    在这里插入图片描述

    配置自动发现名称,键值,更新间隔

    在这里插入图片描述

    创建监控项原型

    在这里插入图片描述

    配置名称,键值,更新间隔

    其他监控项使用相同的方式进行配置即可

    在这里插入图片描述

    彩蛋

    附上配置的模板
    zbx_export_templates.yaml
    https://www.aliyundrive.com/s/m6oUapHmyWD
    提取码: r63m
    点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。

    心得

    初次配置自动发现时获取的数据为如下格式,配置一直存在问题

    {
            "data":[
                            {"{#REDISPORT}":"6381"},
                            {"{#REDISPORT}":"6384"}
             ]
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    后面观察其他自动发现才确认正确的数据格式
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

  • 相关阅读:
    Docker安装禅道
    隆云通氨气传感器
    【第12题】[NOIP2015 提高组] 信息传递
    MR756-ASEMI汽车用整流二极管MR756
    vue 添加NProgress进度条插件
    Assembling a Query Engine From Spare Parts
    【读书笔记->数据分析】02 数据分析准备
    vue集成cesium入门教程(1)环境搭建、初始化三维地球
    tkinter常用组件
    axios
  • 原文地址:https://blog.csdn.net/u014650965/article/details/132877083