五、redis6 叢集 zabbix監控【Redis叢集監控資料採集】
環境:繼 redis6 叢集 zabbix監控【zabbix server、zabbix agent 安裝】
agent:【192.168.109.139、192.168.109.140】
一、新增redis資料採集指令碼【建立redis監控指令碼】具體依據需要哪些資料自己家
#!/bin/bash REDISCLI='/apprun/redis/bin/redis-cli' HOST='192.168.109.139' PORT=7000 PASS='wang!321' if [[ $# == 1 ]];then case $1 in cluster_state) resultvim /etc/zabbix/zabbix_agentd.d/redis_status.sh=`$REDISCLI -c -h $HOST -p $PORT -a $PASS cluster info 2>/dev/null | grep -w "cluster_state" | awk -F':' '{print $2}'| grep -c ok` echo $result ;; cluster_slots_assigned) result=`$REDISCLI -c -h $HOST -p $PORT -a $PASS cluster info 2>/dev/null| grep -w "cluster_slots_assigned" | awk -F':' '{print $2}'` echo $result ;; cluster_slots_ok) result=`$REDISCLI -c -h $HOST -p $PORT -a $PASS cluster info 2>/dev/null | grep -w "cluster_slots_ok" | awk -F':' '{print $2}'`echo $result ;; cluster_slots_pfail) result=`$REDISCLI -c -h $HOST -p $PORT -a $PASS cluster info 2>/dev/null | grep -w "cluster_slots_pfail" | awk -F':' '{print $2}'` echo $result ;; cluster_slots_fail) result=`$REDISCLI -c -h $HOST -p $PORT -a $PASS cluster info 2>/dev/null | grep -w "cluster_slots_fail" | awk -F':' '{print $2}'` echo $result ;; cluster_known_nodes) result=`$REDISCLI -c -h $HOST -p $PORT -a $PASS cluster info 2>/dev/null | grep -w "cluster_known_nodes" | awk -F':' '{print $2}'` echo $result ;; cluster_size) result=`$REDISCLI -c -h $HOST -p $PORT -a $PASS cluster info 2>/dev/null | grep -w "cluster_size" | awk -F':' '{print $2}'` echo $result ;; cluster_current_epoch) result=`$REDISCLI -c -h $HOST -p $PORT -a $PASS cluster info 2>/dev/null | grep -w "cluster_current_epoch" | awk -F':' '{print $2}'` echo $result ;; cluster_my_epoch) result=`$REDISCLI -c -h $HOST -p $PORT -a $PASS cluster info 2>/dev/null | grep -w "cluster_my_epoch" | awk -F':' '{print $2}'` echo $result ;; cluster_stats_messages_ping_sent) result=`$REDISCLI -c -h $HOST -p $PORT -a $PASS cluster info 2>/dev/null | grep -w "cluster_stats_messages_ping_sent" | awk -F':' '{print $2}'` echo $result ;; cluster_stats_messages_pong_sent) result=`$REDISCLI -c -h $HOST -p $PORT -a $PASS cluster info 2>/dev/null | grep -w "cluster_stats_messages_pong_sent" | awk -F':' '{print $2}'` echo $result ;; cluster_stats_messages_sent) result=`$REDISCLI -c -h $HOST -p $PORT -a $PASS cluster info 2>/dev/null | grep -w "cluster_stats_messages_sent" | awk -F':' '{print $2}'` echo $result ;; cluster_stats_messages_ping_received) result=`$REDISCLI -c -h $HOST -p $PORT -a $PASS cluster info 2>/dev/null | grep -w "cluster_stats_messages_ping_received" | awk -F':' '{print $2}'` echo $result ;; cluster_stats_messages_pong_received) result=`$REDISCLI -c -h $HOST -p $PORT -a $PASS cluster info 2>/dev/null | grep -w "cluster_stats_messages_pong_received" | awk -F':' '{print $2}'` echo $result ;; cluster_stats_messages_received) result=`$REDISCLI -c -h $HOST -p $PORT -a $PASS cluster info 2>/dev/null | grep -w "cluster_stats_messages_received" | awk -F':' '{print $2}'` echo $result ;; *) echo -e "\033[33mUsage: $0 {cluster_state|cluster_slots_assigned|cluster_slots_ok|cluster_slots_pfail|cluster_slots_fail|cluster_known_nodes|cluster_size|cluster_current_epoc h|cluster_known_nodes|cluster_size|cluster_current_epoch|cluster_my_epoch|cluster_stats_messages_ping_sent|cluster_stats_messages_pong_sent|cluster_stats_messages_sent|cluster_stats_messages _ping_received|cluster_stats_messages_pong_received|cluster_stats_messages_received}\033[0m" ;; esac fi
chmod +x /etc/zabbix/zabbix_agentd.d/redis_status.sh
二、建立redis監控配置檔案
vim /etc/zabbix/zabbix_agentd.d/redis.conf
UserParameter=Redis.status[*],/etc/zabbix/zabbix_agentd.d/redis_status.sh $1
UserParameter=Redisfile,/apprun/redis/bin/redis-cli -h 192.168.109.139 -p 7000 -c -a 'wang!321' cluster nodes 2>/dev/null | awk -F ',' '{print $2}' | grep -c 'fail'
重啟zabbix-agent
systemctl restart zabbix-agent.service
在zabbix server端測試【192.168.109.137】
yum install -y zabbix-get
zabbix_get -s 192.168.109.139 -p 10050 -k "Redis.status[cluster_slots_ok]"
三、建立
1.建立模板
2、建立應用集Applications隨意起個名字
3.建立監控項等等...Items 觸發器Triggers 畫圖Graphs 自動發現規則Discovery 這裡就挑指令碼中的三個值隨意操作一下
繫結模板、配置告警
這裡只是針對redis叢集監控自己想要監控的資料做配置(prometheus比較適合監控redis叢集);其他自己環境想要監控的資料大致也是這麼個流程;至於redis常見資料監控可以選擇zabbix自帶的模板Template DB Redis當然依據自己的redis環境修改: