title: redis监控脚本 #标题tags: redis,zabbix, #标签
categories: redis # 分类
date: 2020-04-07
记录下redis监控的脚本!
#!/usr/bin/env bash# Author: Ray# Description : monitor redis and send data to zabbix-server# -------------------------------------------------------------------------------------------# IDC1 dt-redis节点 存储数据缓存 ss-redis节点: 存储session数据# dt-redis-3 dt-redis-4 dt-redis-5 dt-redis-6 dt-redis-7 dt-redis-8 dt-redis-9 dt-redis-10# ss-redis-3 ss-redis-4 ss-redis-5 ss-redis-6 ss-redis-7 ss-redis-8 ss-redis-9 ss-redis-10# -------------------------------------------------------------------------------------------function check_cluster_status(){# $1: redis-type (dt|ss)# $2: redis-node# $3: portstatus=`redis-cli -c -h $2 -p $3 cluster info | grep "cluster_state" | awk -F ':' '{print $NF}'`if echo $status | grep "ok" >/dev/null;thenzabbix_sender -z 47.75.134.140 -s redis-new -k ${1}-rd.redis.info.cluster_state -o ${status}elsestatus="Fail"zabbix_sender -z 47.75.134.140 -s redis-new -k ${1}-rd.redis.info.cluster_state -o ${status}fi}# redis 集群状态数据上报check_cluster_status dt 10.10.5.3 6379check_cluster_status ss 10.10.5.3 6380function get_data(){# $1: redis-type (dt|ss)# $2: redis-node# $3: port# $4: check_key# $5: redis-numberdata=`/usr/bin/redis-cli -h ${2} -p ${3} info | grep -w ${4} | awk -F ':' '{print $NF}'`/usr/bin/zabbix_sender -z 47.75.134.140 -s redis-new -k ${1}-rd-${5}.redis.info.${4} -o ${data}}# keys 注释#-----------------------------------------------------------# used_memory_peak: Redis使用内存的峰值,字节数# used_memory_peak_human: redis使用内存的峰值 单位G# connected_clients: 已连接客户端的数量(不包括通过从属服务器连接的客户端)# instantaneous_input_kbps: 瞬间的Redis输入网络流量(kbps)# instantaneous_output_kbps: 瞬间的Redis输出网络流量(kbps)# instantaneous_ops_per_sec: 服务器每秒钟执行的命令数量# keyspace_misses: 查找键未命中的次数# evicted_keys: 因内存used_memory达到maxmemory后,每秒被驱逐的key个数# expired_keys: 因为过期而被自动删除的数据库键数量# rejected_connections: 因连接数达到maxclients上限后,被拒绝的连接个数#-----------------------------------------------------------keys="used_memory_peakconnected_clientsinstantaneous_input_kbpsinstantaneous_output_kbpsinstantaneous_ops_per_seckeyspace_missesevicted_keysexpired_keysrejected_connections"# 获取redis info信息,并发送至zabbixfor i in $(seq 3 10);dofor key in $keys;doget_data dt 10.10.5.${i} 6379 $key $iget_data ss 10.10.5.${i} 6380 $key $idonedone
