highlight: far
theme: cyanosis
监控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=memcacheconn,/etc/zabbix/zabbixagentd.conf.d/memcache.sh 重启服务
systemctl restart zabbix-agent **101**
zabbixget -s 192.168.37.106 -p 10050 -k "memcacheconn" 1 <--返回值 ```
添加监控项
添加图形
106 ``` cd /etc/zabbix/zabbix_agentd.conf.d/
vim memcached.sh
!/bin/bash
memcachedstatus(){ MPORT=$1 MCOMMAND=$2 echo -e "stats\nquit" | ncat 127.0.0.1 "$MPORT" | grep "STAT $MCOMMAND" | awk '{print $3}' } main(){ case $1 in memcachedstatus) memcached_status $2 $3 ;; esac } main $1 $2 $3
添加权限
chmod a+x memcached.sh ``` 创建模板
106
```
注释掉
vim /etc/zabbix/zabbix_agentd.conf
UserParameter=memcacheconn,/etc/zabbix/zabbixagentd.conf.d/memcache.sh
```
```
添加
vim linux01.conf
UserParameter=memcachedstatus[*],/etc/zabbix/zabbixagentd.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
redisstatus(){ RPORT=$1 RCOMMAND=$2 (echo -en "INFO \r\n";sleep 1;) | ncat 127.0.0.1 "$RPORT" > /usr/local/zabbix/redis"$RPORT".tmp REDISSTATVALUE=$(grep ""$RCOMMAND":" /usr/local/zabbix/redis"$RPORT".tmp | cut -d ':' -f2) echo $REDISSTAT_VALUE }
help(){ echo "${0} + redis_status + PORT + COMMAND" }
main(){ case $1 in redisstatus) redisstatus $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=redisstatus[*],/etc/zabbix/zabbixagentd.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次会报警
邮件已经收到报警信息