zabbix之模板制作(memcache redis)

#;找一台主机安装redis和memcached(记得安装zabbix-agent)

root@ubuntu:~# apt install redis

root@ubuntu:~# apt install memcached

#:修改配置文件的监听端口

root@ubuntu:~# vim /etc/redis/redis.conf

bind 0.0.0.0 ::1

root@ubuntu:~# vim /etc/memcached.conf

-l 0.0.0.0

#:重启服务

root@ubuntu:~# systemctl restart redis memcached

#:编写一个脚本,利用ncat取值(memcache 连接数)

root@ubuntu:~# cd /etc/zabbix/zabbix_agentd.conf.d/

root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# vim /etc/zabbix/zabbix_agentd.conf.d/memcache_status.sh

#!/bin/bash
echo -e "stats\nquit" |ncat 192.168.7.111 11211 |grep "STAT curr_connections" |awk '{print $3}'

#:修改权限

root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# chown zabbix.zabbix memcache_status.sh

root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# chmod +x memcache_status.sh

#:在server端测试一下

root@ubuntu:/apps/zabbix_server/share/zabbix/alertscripts# /apps/zabbix_server/bin/zabbix_get -s 192.168.7.111 -k "memcache.status"
1

#:测试没问题,开始在web端测试

先添加主机-----关联一个模板------添加监控项-----创建图形

#:检测

#:memcache 监控终极脚本(将此前创建的一个监控项和图形删掉)

#:创建脚本

root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# vim memcached_status.sh
#!/bin/bash
memcached_status(){
 M_PORT=$1
 M_COMMAND=$2
 echo -e "stats\nquit" | ncat 192.168.7.111 "$M_PORT" | grep "STAT $M_COMMAND" | awk '{print $3}'
}
main(){
case $1 in
memcached_status)
        memcached_status $2 $3
;;
esac
}
main $1 $2 $3

#:将agent的配置文件中的userparamenter注释

root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# vim /etc/zabbix/zabbix_agentd.conf
#UserParameter=memcache_conn,/etc/zabbix/zabbix_agentd.conf.d/memcached_status.sh

#:在配置文件下写一个以.conf结尾的文件 (硬性要求,必须在此目录下)

root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# vim linux37.conf
UserParameter=memcache_status[*],/etc/zabbix/zabbix_agentd.conf.d/memcached_status.sh "$1" "$2" "$3"

#:修改属主属组,重启agent

root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# chown zabbix.zabbix linux37.conf
root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# systemctl restart zabbix-agent.service

#:在server端测试一下

root@ubuntu:~# /apps/zabbix_server/bin/zabbix_get -s 192.168.7.111 -p 10050  -k "memcache_status[memcached_status,11211,curr_connections]"

#:创建模板

 

 

 #:上面几步将图形和监控项都做好了,一下需要将模板关联到主机

找到主机-------找到需要关联的主机------选模板----添加

#:这样这个模板就可以监控多个值了,当需要监控别的值 可以在此模板添加监控项,创建图形,或者克隆监控项,我这里点的是克隆监控项

 #:然后在添加图形就可以了

#;开始设置触发器

找到设置好的模板----点击触发器----创建触发器

监控redis

#:先创建一个取值的脚本

root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# vim redis.sh
#!/bin/bash
redis_status(){
R_PORT=$1
R_COMMAND=$2
(echo -en "INFO \r\n") | 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

#:修改权限和属主属组

root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# chown zabbix.zabbix redis.sh
root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# chmod a+x redis.sh  

#:创建目录

root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# mkdir /usr/local/zabbix/

root@ubuntu:/etc/zabbix/zabbix_agentd.conf.d# chown zabbix.zabbix /usr/local/zabbix/


#:在server端测试一下
root@ubuntu:~# /apps/zabbix_server/bin/zabbix_get -s 192.168.7.111 -p 10050 -k "redis_status[redis_status,6379,total_connections_received]"
23

#;测试没问题,在web端添加

创建模板--添加监控项---添加触发器---添加图形----应用

猜你喜欢

转载自www.cnblogs.com/maxuebin/p/11578651.html