memcache 监控方法

1、telnet

telnet 192.168.11.214 11211 
连接上之后,输入stats,返回如下: 
stats 
STAT pid 2573 
STAT uptime 38 
STAT time 1249800188 
STAT version 1.2.2 
STAT pointer_size 32 
STAT rusage_user 0.000000 
STAT rusage_system 0.000000 
STAT curr_items 0 
STAT total_items 0 
STAT bytes 0 
STAT curr_connections 1 
STAT total_connections 2 
STAT connection_structures 2 
STAT cmd_get 0 
STAT cmd_set 0 
STAT get_hits 0 
STAT get_misses 0 
STAT evictions 0 
STAT bytes_read 15 
STAT bytes_written 7 
STAT limit_maxbytes 67108864 
STAT threads 1 
END 

这个是memcache自带的接口但得到结果但是很不方便和直观 

2、memcache.php web界面 简单直观
memcachd.php下载地址http://livebookmark.net/memcachephp/memcachephp.zip
下载后修改memcache.php
define('ADMIN_USERNAME','memcache'); 管理用户名
define('ADMIN_PASSWORD','password');   密码
$MEMCACHE_SERVERS[] = '127.0.0.1:11211'; memcache服务器地址、端口
修改完成后直接http://ip/memcache.php

3、nagios的check_memcached
下载地址 http://search.cpan.org/CPAN/authors/id/Z/ZI/ZIGOROU/Nagios-Plugins-Memcached-0.02.tar.gz
解压后用perl安装
默认会把check_memcached文件放到/usr/bin/check_memcached把拷贝到nagios的libexec下

在commands.cfg里面加上这么几条(这里我没有把check_memcached装在memcached服务器上,而是通过Nagios的check_memcached直接去访问memcached服务器的11211端口,当然你也可以把他装在memcached服务器上利用check_nrpe来取他的值)
define command {
        command_name check_memcached_11211
        command_line $USER1$/check_memcached -H 192.168.1.139:11211 --size-warning 80 --size-critical 90
              }
上面这个是来监控memcached的内存使用比例 
define command {
        command_name memcached_response_11211
command_line /usr/local/bin/check_memcached -H 192.168.1.139 -w 300 -c 500 
               }
这个是用来监控memcached是否还有应答
define command {
        command_name check_memcached_hit
        command_line /usr/local/bin/check_memcached -H 192.168.1.139 --hit-warning 10 --size-critical 5
                }
这个就是命中率啦
最后要在services.cfg里面加点东西
define service{
        host_name               babeltimeWeb1
        service_description     memcached_11211
        check_command           check_memcached_11211
        max_check_attempts      3
        normal_check_interval   3
        retry_check_interval    2
        check_period            24x7
        notification_interval   10
        notification_period     24x7
        notification_options    w,u,c,r
        contact_groups          babelgroup
        }