多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# memcached监控 [TOC] ## 一、memcached监控 ### 1. 原理知识 通过printf和nc命令,配合实现非交互式打印memcached的状态,然后通过脚本进行监控,或者通过zabbix自定义可以进行监控 ```sh printf "stats\r\n"|nc 127.0.0.1 11211 ``` 1) 监控项 ①监听port或进程 ②可以模拟用户先set后get,比对get内容是不是set的。crond nagios zabbix ③监控命中百分比 ```sh printf 'stats\r\n'|nc 172.16.1.21 11211 |awk -vRS="\r\n" '/cmd_get/{get=$NF}/get_hits/{hits=$NF}END{print hits/get}' ``` ④监控响应时间及需要的状态 2) 监控命令 ```sh stats 统计memcached的各种信息 stats settings 查看设置信息,如线程数 stats slabs 查看slabs相关情况,如chunksize长度 stats items 查看items相关情况 stats sizes 查看items的个数和大小 stats reset 清理统计数据 ``` 3) 状态信息说明 见附录 ### 2. 监控脚本 ```sh cat >/server/scripts/mem_ch.sh <<'EOF' #bin/bash MemIp=$1 MemPort=$2 NcCmd="nc $MemIp $MemPort" MD5=123 USAGE(){ echo "$0 MemIp MemPort" exit 3 } [ $# -ne2 ] && USAGE printf "set $md5 0 0 6\r\noldboy\r\n"|$NcCmd &>/dev/null if [ $? -eq o ];then if [ `printf "get $MD5\r\n"|$NcCmd|grep oldboy|wc -l` -eq 1 ];then echo "Memcached status is ok" printf "delete $MD5\r\n"|$NcCmd &>/dev/null exit 0 else echo "Memcached status is error1." exit 1 fi else echo "Could not connect MC server" exit 2 fi EOF ``` ## 二、 状态信息说明表 略