#;找一台主机安装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端添加
创建模板--添加监控项---添加触发器---添加图形----应用