x625802392 发表于 2015-12-24 10:32:18

zabbix动态监控memcached

  Zabbix动态监控memcached
##很多的小公司,经常1台机器上开几个memcached实例!
我先在自己的机器上开4个memcached端口,分别运行在11211、21211、31211、41211端口!
  1:memcache_low_discovery.sh内容如下:
  # catmemcache_low_discovery.sh
  #!/bin/bash
  #Fucation:zabbix low-level discovery
  memcache() {
           port=($(sudo netstat -tpln | awk -F "[ :]+" '/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
  
  2:memcached.conf内容如下:
  #pwd
  /usr/local/zabbix/etc/zabbix_agentd.conf.d
  #ll
  total 8
  -rw-r--r-- 1 root root 224 Feb5 19:07 memcached.conf
  -rw-r--r-- 1 root root 221 Feb1 00:32 redis.conf
  #cat memcached.conf
  UserParameter=memcached_stats
[*],(echostats; 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模板附加到机器上,然后有图形显示如下:

  图形显示如下:

  
页: [1]
查看完整版本: zabbix动态监控memcached