zoukankan      html  css  js  c++  java
  • redis多实例监控

    在ageng端创建脚本

    mdkir -p /etc/zabbix/scripts

    vim redis_low_discovery.sh

    #/bin/bash

    #Script_name redis_low_discovery.sh

    redis() {

                port=($(netstat -tpln | awk -F "[ :]+" '/redis/ && /0.0.0.0/ {print $5}'))

                printf '{ '

                printf ' "data":[ '

                   for key in ${!port[@]}

                       do

                           if [[ "${#port[@]}" -gt 1 && "${key}" -ne "$((${#port[@]}-1))" ]];then

                  socket=`ps aux|grep ${port[${key}]}|grep -v grep|awk -F '=' '{print $10}'|cut -d ' ' -f 1`

                              printf ' { '

                              printf " "{#REDISPORT}":"${port[${key}]}"}, "

                         else [[ "${key}" -eq "((${#port[@]}-1))" ]]

                  socket=`ps aux|grep ${port[${key}]}|grep -v grep|awk -F '=' '{print $10}'|cut -d ' ' -f 1`

                              printf ' { '

                              printf " "{#REDISPORT}":"${port[${key}]}"} "

                           fi

                   done

                              printf ' ] '

                              printf '} '

    }

    $1

    修改属主

    chown -R zabbix.zabbix /etc/zabbix/scripts/

    给权限

    chmod 755 scripts/redis_low_discovery.sh

    添加UserParameter

    vim /etc/zabbix/zabbix_agentd.conf

    UserParameter=zabbix_low_discovery[*],/bin/bash /etc/zabbix/scripts/redis_low_discovery.sh $1

    UserParameter=redis_stats[*],(echo info; sleep 1) | telnet 127.0.0.1 $1 2>&1 |grep $2|cut -d : -f2

    如果不让用telnet协议,还可以

    UserParameter=redis_stats[*],/usr/local/bin/redis-cli -h 127.0.0.1 -p $1 info|grep $2|cut -d : -f2

    需要开启telnet服务,没有的需要安装一个telnet

    yum install telnet -y

    添加完重启agent端

    service zabbix-agent restart

    关闭requiretty

    sed -i 's/^Defaults.*.requiretty/#Defaults    requiretty/' /etc/sudoers

    或者 vim /etc/sudoers  #56行

    server端

    使用zabbix_get获取redis键值

    cd /usr/bin

    ./zabbix_get -s 192.168.0.11 -k "zabbix_low_discovery[redis]"

    如果运行报错

    那就chmod +s /bin/netstat

    chmod +s 是什么意思

    为了方便普通用户执行一些特权命令,SUID/SGID程序允许普通用户以root身份暂时执行该程序,并在执行结束后再恢复身份。

    zabbix-server web界面导入模板以及主机连接模板,还需要设置正则等

    在“管理”—> “一般”—>“正则表达式”里,选择“新的正则表达式”

    设置如下:

    设置正则

    Redis regex

    Result TRUE  = ^(6380|17761|17762|18005|23581)$

    最后把模板添加到主机里面去

    有的可能自动发现没有开启

    检测 是否取到redis数据的值:

    配置---模板---

    在终端里面

    cd  /usr/bin

    ./zabbix_get -s 192.168.0.11 -k "redis_stats[6381,uptime_in_seconds]"

    ./zabbix_get -s 192.168.0.11 -k "redis_stats[6380,uptime_in_seconds]"

    然后 看数据图

  • 相关阅读:
    cocos2dx 动画控制概要
    lua与C交互 具体
    lua与C/C++交互概要
    3D图像算法
    lua 语言笔记
    iostransitiontranslate闪屏问题总结
    document.onreadystatechange()来判断页面加载完
    JavaScript装逼指南
    box-shadow 阴影
    web小技巧
  • 原文地址:https://www.cnblogs.com/chenshengqun/p/8287038.html
Copyright © 2011-2022 走看看