一、准备memcache服务
root@ubuntu1804:~# apt -y install memcached nmap
root@ubuntu1804:~# vim /etc/memcached.conf
-l 0.0.0.0
root@ubuntu1804:~# systemctl restart memcached.service
二、获取memcache可监控项
root@ubuntu1804:~# telnet 10.0.0.37 11211
Trying 10.0.0.37...
Connected to 10.0.0.37.
Escape character is '^]'.
stats
STAT pid 19114
STAT uptime 299
STAT time 1626790751
STAT version 1.5.6 Ubuntu
STAT libevent 2.1.8-stable
STAT pointer_size 64
STAT rusage_user 0.025237
.......
root@ubuntu1804:~# echo -e "stats\nquit" | ncat 127.0.0.1 "11211"
STAT pid 19114
STAT uptime 692
STAT time 1626791144
STAT version 1.5.6 Ubuntu
STAT libevent 2.1.8-stable
STAT pointer_size 64
STAT rusage_user 0.048582
STAT rusage_system 0.048582
STAT max_connections 1024
STAT curr_connections 2
STAT total_connections 3
......
root@ubuntu1804:~# echo -e "stats\nquit" | ncat 127.0.0.1 "11211"| grep curr_connections | awk '{print $3}'
2
三、编写监控脚本
root@ubuntu1804:~# cd /etc/zabbix/zabbix_agentd.d/
root@ubuntu1804:/etc/zabbix/zabbix_agentd.d# vim memcache_monitor.sh
#!/bin/bash
memcached_status(){
M_PORT=$1
M_COMMAND=$2
echo -e "stats\nquit" | ncat 127.0.0.1 "$M_PORT" | grep -w "STAT $M_COMMAND" | awk '{print $3}'
}
main(){
case $1 in
memcached_status)
memcached_status $2 $3
;;
esac
}
main $1 $2 $3
root@ubuntu1804:~# chmod a+x /etc/zabbix/zabbix_agentd.d/memcache_monitor.sh
root@ubuntu1804:~# bash /etc/zabbix/zabbix_agentd.d/memcache_monitor.sh memcached_status 11211 curr_connections 1
2
四、zabbix agent添加自定义监控项
vim /etc/zabbix/zabbix_agentd.conf
UserParameter=memcache_status[*],/etc/zabbix/zabbix_agentd.d/memcache_monitor.sh "$1" "$2" "$3"
systemctl restart zabbix-agent
五、zabbix server测试监控项数据
root@ubuntu1804:~# zabbix_get -s 10.0.0.37 -p 10050 -k "memcache_status["memcached_status","11211","curr_connections"]"
1
六、zabbix web制作模板
第一步:创建模板
第二步:创建监控项
第三步:创建触发器
第四步:创建图形