监控memcache
如果制作一个完整的模板
106
安装memcache
apt install redis memcached -y
修改memcache配置文件
vim /etc/memcached.conf
-l 0.0.0.0 <--修改监控地址
重启memcache服务
systemctl restart memcached
测试能否取到当前连接数的值
echo -e "stats\nquit" | ncat 192.168.37.106 11211 | grep "STAT curr_connections" |awk '{print $3}'
1 <--当前连接数
编辑脚本
cd /etc/zabbix/zabbix_agentd.conf.d/
vim memcache.sh
#!/bin/bash
echo -e "stats\nquit" | ncat 192.168.37.106 11211 | grep "STAT curr_connections" |awk '{print $3}'
#添加执行权限
chmod a+x memcache.sh
vim /etc/zabbix/zabbix_agentd.conf
UserParameter=memcache_conn,/etc/zabbix/zabbix_agentd.conf.d/memcache.sh
重启服务
systemctl restart zabbix-agent
101
zabbix_get -s 192.168.37.106 -p 10050 -k "memcache_conn"
1 <--返回值
添加监控项
添加图形
106
cd /etc/zabbix/zabbix_agentd.conf.d/
vim memcached.sh
#!/bin/bash
memcached_status(){
M_PORT=$1
M_COMMAND=$2
echo -e "stats\nquit" | ncat 127.0.0.1 "$M_PORT" | grep "STAT $M_COMMAND" | awk '{print $3}'
}
main(){
case $1 in
memcached_status)
memcached_status $2 $3
;;
esac
}
main $1 $2 $3
#添加权限
chmod a+x memcached.sh
创建模板
106
#注释掉
vim /etc/zabbix/zabbix_agentd.conf
#UserParameter=memcache_conn,/etc/zabbix/zabbix_agentd.conf.d/memcache.sh
#添加
vim linux01.conf
UserParameter=memcached_status[*],/etc/zabbix/zabbix_agentd.conf.d/memcached.sh "$1" "$2" "$3"
重启服务
systemctl restart zabbix-agent
101
zabbix_get -s 192.168.37.106 -p 10050 -k "memcached_status[memcached_status,11211,curr_connections]"
2
添加图形
关联主机
再次添加一个值
克隆
创建图形
触发器
报警了、如果没有报警[在其他主机上"telnet 192.168.37.106 11211"]超过2次即可
监控redis
106
安装redis
apt install redis -y
修改redis配置文件
vim /etc/redis/redis.conf
bind 0.0.0.0 ::1 <--修改监控地址
重启redis服务
systemctl restart redis
创建脚本
cd /etc/zabbix/zabbix_agentd.conf.d/
vim redis.sh
#!/bin/bash
redis_status(){
R_PORT=$1
R_COMMAND=$2
(echo -en "INFO \r\n";sleep 1;) | ncat 127.0.0.1 "$R_PORT" > /usr/local/zabbix/redis_"$R_PORT".tmp
REDIS_STAT_VALUE=$(grep ""$R_COMMAND":" /usr/local/zabbix/redis_"$R_PORT".tmp | cut -d ':' -f2)
echo $REDIS_STAT_VALUE
}
help(){
echo "${0} + redis_status + PORT + COMMAND"
}
main(){
case $1 in
redis_status)
redis_status $2 $3
;;
*)
help
;;
esac
}
main $1 $2 $3
添加执行权限、创建目录
chmod a+x redis.sh
mkdir /usr/local/zabbix
chown zabbix.zabbix /usr/local/zabbix
测试是否能取到info中的值
# 脚本名称 函数 端口号 值
bash redis.sh redis_status 6379 role
master <--返回值
vim linux01.conf
UserParameter=redis_status[*],/etc/zabbix/zabbix_agentd.conf.d/redis.sh "$1" "$2" "$3"
重启服务
systemctl restart zabbix-agent
101
权限拒绝
zabbix_get -s 192.168.37.106 -p 10050 -k "redis_status[redis_status,6379,used_memory]"
/etc/zabbix/zabbix_agentd.conf.d/redis.sh: line 5: /usr/local/zabbix/redis_6379.tmp: Permission denied
841304
106
修改权限
chown zabbix.zabbix /usr/local/zabbix/redis_6379.tmp
101
zabbix_get -s 192.168.37.106 -p 10050 -k "redis_status[redis_status,6379,used_memory]"
862176
创建模板
创建监控项
克隆
关联模板
创建图形
创建触发器
大于3就会报警
在其他主机中连接106主机的6379端口、超过3次会报警
邮件已经收到报警信息