Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2809889
  • 博文数量: 587
  • 博客积分: 6356
  • 博客等级: 准将
  • 技术积分: 6410
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-23 10:54
个人简介

器量大者,福泽必厚

文章分类

全部博文(587)

文章存档

2019年(3)

2018年(1)

2017年(29)

2016年(39)

2015年(66)

2014年(117)

2013年(136)

2012年(58)

2011年(34)

2010年(50)

2009年(38)

2008年(16)

分类: LINUX

2015-03-08 10:41:48

Zabbix动态监控memcached 
##很多的小公司,经常1台机器上开几个memcached实例!
我先在自己的机器上开4个memcached端口,分别运行在11211、21211、31211、41211端口!

1memcache_low_discovery.sh内容如下:

[root@zabbixclient3 bin]# cat memcache_low_discovery.sh

#!/bin/bash

#Fucation:zabbix low-level discovery

memcache() {

            port=($(sudo netstat -tpln | awk -F "[ :]+" '/[m]emcached/ && /0.0.0.0/ {print $5}'))

            printf '{\n'

            printf '\t"data":[\n'

               for key in ${!port[@]}

                   do

                       if [[ "${#port[@]}" -gt 1 && "${key}" -ne "$((${#port[@]}-1))" ]];then

                          printf '\t {\n'

                          printf "\t\t\t\"{#MEMPORT}\":\"${port[${key}]}\"},\n"

                     else [[ "${key}" -eq "((${#port[@]}-1))" ]]

                          printf '\t {\n'

                          printf "\t\t\t\"{#MEMPORT}\":\"${port[${key}]}\"}\n"

                       fi

               done

                          printf '\t ]\n'

                          printf '}\n'

}

memcache  $1

这里还需要如下:

把此文件存放到/usr/local/zabbix/bin里,然后给与755权限,并修改用户与组为zabbix,同时允许zabbix用户无密码运行netstat

echo "zabbix ALL=(root) NOPASSWD:/bin/netstat">>/etc/sudoers

#Disable requiretty

sed -i 's/^Defaults.*.requiretty/#Defaults    requiretty/'/etc/sudoers

 

2memcached.conf内容如下:

[root@zabbixclient3 zabbix_agentd.conf.d]# pwd

/usr/local/zabbix/etc/zabbix_agentd.conf.d

[root@zabbixclient3 zabbix_agentd.conf.d]# ll

total 8

-rw-r--r-- 1 root root 224 Feb  5 19:07 memcached.conf

-rw-r--r-- 1 root root 221 Feb  1 00:32 redis.conf

[root@zabbixclient3 zabbix_agentd.conf.d]# cat memcached.conf

UserParameter=memcached_stats[*],(echo stats; sleep 0.1) | telnet 127.0.0.1 $1 2>&1 | awk '/STAT $2 / {print $NF}'

UserParameter=zabbix_low_discovery_memcached[*],/bin/bash /usr/local/zabbix/bin/memcache_low_discovery.sh $1

3:在zabbix_agentd.conf Include 那个目录即可,即会Include该目录下的所有conf文件

4:导入zabbix memcached模板,并作如下的修改:


我把时间间隔由3600修改为60

并创建一个正规表达式,附件如下:


5:将memcached模板附加到机器上,然后有图形显示如下:

图形显示如下:


阅读(1172) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~