一款图形化memcache监控工具

对于memcache监控,一般可以利用memcache自带的STAT命令来查看,但是其输出的结果对于开发而言不是很明了,监控的目的是让开发通过监控的结果去调优程序。这里介绍一款形化memcache监控工具memcachephp,
memcachephp是一款memcache图形界面的监控工具,可以通过这个工具查看到局域网内所有部署memcache机器或者端口的memcache的运行情况,对我们监控memcache的缓存命中率、cache利用率、点击率等信息有很好的帮助作用


下载

可一个通过下面的地址下载对应的版本,最新版是3.0.8,但是这里建议选择`稳定版2.7.7`
http://pecl.php.net/package/memcache

memcache-php.png

**实际的下载地址 **

http://pecl.php.net/get/memcache-2.2.7.tgz

修改配置

下载解压之后,修改 `memcache.php` 文件,这里需要修改如图A/B两处

memcache-php-config.php

**A处修改:**
    这里其实也可以采用默认的账号密码,但是建议修改为自己的账号密码

**B处修改:**
    这里是添加你需要的memcache主机,通过 $MEMCACHE_SERVERS[]可以配置多个memcache实例去监控

部署

把修改好的`memcache.php` 复制到网站对应的位置,
然后通过 `http://real-ip/memcache.php` 去访问,
访问的时候需要账号密码,如果修改了就是自己修改的账号密码

实际效过展示

全局效果展示

memcache-php-show.png

具体memcache实例效果展示

memcache-php-show-host.png


公众号: DailyJobOps DailyJobOps

memcache监控小工具stats命令

这里介绍memcache自带的监控小工具stats命令
可以监控基本的memcache信息,像服务器信息,内存分配数据等


stats

显示服务器信息、统计数据等

root@pts/1 $ echo "stats"|nc 192.168.100.13 11211
STAT pid 23160
STAT uptime 505840
STAT time 1479269732
STAT version 1.4.15
STAT libevent 2.0.21-stable
STAT pointer_size 64
STAT rusage_user 165.030300
STAT rusage_system 543.017059
STAT curr_connections 45
STAT total_connections 1363
STAT connection_structures 61
STAT reserved_fds 20
STAT cmd_get 30320614
STAT cmd_set 873560
STAT cmd_flush 0
STAT cmd_touch 13123
STAT get_hits 4126857
STAT get_misses 26193757
STAT delete_misses 2267
STAT delete_hits 23858
STAT incr_misses 12718
STAT incr_hits 610
...
STAT evictions 0
STAT reclaimed 84878
END

stats reset

清空统计数据

stats items

输出各个slab中的item的数目和最老item的年龄(最后一次访问距离现在的秒数) .

root@pts/1 $ echo "stats items"|nc 192.168.100.13 11211
STAT items:1:number 12854
STAT items:1:age 506027
STAT items:1:evicted 0
STAT items:1:evicted_nonzero 0
STAT items:1:evicted_time 0
STAT items:1:outofmemory 0
STAT items:1:tailrepairs 0
STAT items:1:reclaimed 521
STAT items:1:expired_unfetched 521
STAT items:1:evicted_unfetched 0
STAT items:2:number 28683
STAT items:2:age 506072
...
STAT items:18:evicted_unfetched 0
STAT items:19:number 1
STAT items:19:age 78406
STAT items:19:evicted 0
STAT items:19:evicted_nonzero 0
STAT items:19:evicted_time 0
STAT items:19:outofmemory 0
STAT items:19:tailrepairs 0
STAT items:19:reclaimed 41
STAT items:19:expired_unfetched 33
STAT items:19:evicted_unfetched 0
END

stats slabs

输出slab中更详细的item信息

stats sizes

输出所有item的大小和个数

stats cachedump

根据<slab_id>输出相同的<slab_id>中的item信息。
<limit_num>是输出的个数,
当<limit_num>为0是输出所有的item。

flush_all

使在内存中所有的item失效。加入参数则表示在N秒后失效所有item。
这项操作会立即返回,不会暂停服务器。
这个操作并`不会真的释放内存空间,而是标志所有的item为失效`

stats detail [on|off|dump]

设置或者显示详细操作记录
参数为on,打开详细操作记录
参数为off,关闭详细操作记录
参数为dump,显示详细操作记录(每一个键值get、set、hit、del的次数)

特殊说明

watch命令来`实时查看·memcache状态

watch echo "stats" |nc 192.168.100.13 11211

公众号: DailyJobOps DailyJobOps

centos6下Memcache安装

Requirement

yum install -y libevent libevent-devel

Installation

get source code

wget http://memcached.org/files/memcached-1.4.24.tar.gz

Installation

tar -zxvf memcached-1.4.24.tar.gz 
cd memcached-1.4.24  
./configure
make
make install 

verify

[root@e167418cd3b2 /]# ls -lart /usr/local/bin/memcached 
-rwxr-xr-x 1 root root 431374 Apr 27 10:41 /usr/local/bin/memcached
[root@e167418cd3b2 /]# memcached -h
memcached 1.4.24
-p <num>      TCP port number to listen on (default: 11211)
-U <num>      UDP port number to listen on (default: 11211, 0 is off)
-s <file>     UNIX socket path to listen on (disables network support)
-A            enable ascii "shutdown" command
-a <mask>     access mask for UNIX socket, in octal (default: 0700)
-l <addr>     interface to listen on (default: INADDR_ANY, all addresses)


yum install -y wget tar make gcc libevent libevent-devel
wget http://memcached.org/files/memcached-1.4.24.tar.gz && tar -zxvf memcached-1.4.24.tar.gz && cd memcached-1.4.24 && ./configure && make && make install 
cd / && rm -rf memcached-1.4.24* && yum clean all 

start

/usr/local/bin/memcached -u root -m 128 -p 22422 -c 512 -P /memcached_22422.pid

公众号: DailyJobOps DailyJobOps