您的位置:首页 > 数据库 > Memcache

Memcache 监控工具介绍

2015-03-29 21:31 423 查看
对于memcached的监控,常用的如memcache的php页面图形监控,通过一些常用的工具也可以对其监控,对于生产运维通常采用Cacti或Nagios进行监控。
一、图形化监控

memcachephp是一款memcache图形界面的监控工具,可以通过这个工具查看到局域网内所有部署memcache机器或者端口的memcache的运行情况,对我们监控memcache的缓存命中率、cache利用率、点击率等信息有很好的帮助作用。图形界面工具的推出,有助于我们性能测试工程师脱离命令行方式,避免多个memcache端口的监控窗口来回切换,更能够让测试人员有足够多的时间去做其他方面的工作。
http://pecl.php.net/package/memcache页面下载memcache(最新版本是3.0.8),解压后得到memcache.php文件,修改其文件对应的账号、密码、memcache的IP端口,再将memcache.php文件放到安装lamp环境指定目录即可。
$VERSION='$Id: memcache.php 326707 2012-07-19 19:02:42Z ab $';

define('ADMIN_USERNAME','admin'); 	// Admin Username
define('ADMIN_PASSWORD','admin');  	// Admin Password
define('DATE_FORMAT','Y/m/d H:i:s');
define('GRAPH_SIZE',200);
define('MAX_ITEM_DUMP',50);

$MEMCACHE_SERVERS[] = '192.168.36.54:11211'; // add more as an array
$MEMCACHE_SERVERS[] = '192.168.36.189:11211'; // add more as an array

注意:$MEMCACHE_SERVERS[]可以配置多个memcache

浏览器输入http://localhost/memcache.php 打开即可,注意第一次访问的时候提示输入登录用户名和密码。默认的的用户名密码:memcache/password,这里我修改成了admin,自己可以再php文件中配置。



在上面监控画面看出,左侧显示的是memcache的主机、端口,运行时间等信息;右侧显示的是cache利用率、缓存命中率、点击率(Hit)等信息。

注意:右则显示的信息,默认是多个memcache缓存的总数,需要选中Memcached Hosts对单个主机进行刷新,显示单个主机的信息。



二、监控小工具
1.Memcached的stats命令
stats

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

stats reset

清空统计数据

stats malloc

显示内存分配数据

stats cachedump slab_id limit_num

显示某个slab中的前limit_num个key列表,显示格式如下

ITEM key_name [ value_length b; expire_time|access_time s]

其中,memcached 1.2.2及以前版本显示的是  访问时间(timestamp)

1.2.4以上版本,包括1.2.4显示 过期时间(timestamp)

如果是永不过期的key,expire_time会显示为服务器启动的时间

stats cachedump 7 2

ITEM copy_test1 [250 b; 1207795754 s]

ITEM copy_test [248 b; 1207793649 s]

stats slabs

显示各个slab的信息,包括chunk的大小、数目、使用情况等

stats items

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

stats detail [on|off|dump]

设置或者显示详细操作记录

参数为on,打开详细操作记录

参数为off,关闭详细操作记录

参数为dump,显示详细操作记录(每一个键值get、set、hit、del的次数)

stats detail dump

PREFIX copy_test2 get 1 hit 1 set 0 del 0

PREFIX copy_test1 get 1 hit 1 set 0 del 0

PREFIX cpy get 1 hit 0 set 0 del 0
2.libmemcached
libmemcached 是一个 memcached 的库,客户端库,C 和 C++ 语言实现的客户端库,具有低内存占用率、线程安全、并提供对memcached功能的全面支持。它还采用 多种命令行工具: memcat , memflush , memrm , memstat ,并memslap (负载代)。
官网:https://launchpad.net/libmemcached
下载安装:
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
tar -zxvf libmemcached-1.0.18.tar.gz

mkdir libmemcached

./configure  --prefix=/home/slim/libmemcached -with-memcached

make

make install

提供一下几个工具:

memcat – Copy the value of a key to standard output

memflush – Flush the contents of your servers.

memrm – Remove a key(s) from the server.

memstat – Dump the stats of your servers to standard output

memslap – Load generation utility (benchmark!)

查看统计消息:
memstat –server=192.168.36.54:11211
3.memcache-top
memcache-top是一个perl脚本,可以运行在term下。它能够像top一样显示各个memcached节点的状态变化,其中包括系统管理员最关心的几个指数,例如:缓存命中率、内存、 使用率、读写QPS等。

下载memcache-top脚本,打开它并进行memcached集群配置,多个节点之间以逗号分隔。

# List of servers/ ports to query.

@default_instances = (

  '127.0.0.1:11211',

);

运行前要确保memcache-top脚本具有可执行权限,然后使用./执行即可。memcache-top比较重要的几个参数包括:

–commands: 显示GETS/SETS命令的调用次数

–sleep: 刷新间隔,默认为3秒

–lifetime: 显示自memcached启动以来的累计统计值,默认关闭,即仅显示瞬时速率。



项目地址:
https://code.google.com/p/memcache-top/ https://github.com/eculver/memcache-top 4.memkeys

memkeys是tumblr开源的类似top的工具,可用于实时查看memcached的key使用情况.

项目地址:https://github.com/tumblr/memkeys

使用参考http://www.ttlsa.com/memcache/memkeys-realtime-view-memcached-keys-usage/

除此之外,还有perl编写的memcached-tool工具。
三、运维监控

1.Cacti监控


# wget ftp://ftp.tummy.com/pub/python-memcached/python-memcached-latest.tar.gz
# tar zxvf python-memcached-latest.tar.gz -C ../software/

# cd ../software/python-memcached-1.47/

# yum install python-setuptools

# python setup.py install

# wget http://s1.dlnws.com/dealnews/developers/cacti-memcached-1.0.tar.gz
# tar zxvf cacti-memcached-1.0.tar.gz -C ../software/

# cd ../software/cacti-memcached-1.0/

# cp memcached.py /usr/local/cacti/scripts/

按照cacti添加节点添加新的监控主机。
2.Nagios监控

definecommand{
command_namecheck_memcachedcommand_line$USER1$/check_tcp-H$ARG1$-p$ARG2$-t$ARG3$-E-s‘stats\r\nquit\r\n’-e‘uptime’-Mcrit

}defineservice{
uselocal-servicehost_nameXXX.XXX.XXX.XXXservice_description192.168.1.1check_commandcheck_memcached!192.168.36.54!11211!5

}

参考:
memcache安装运行、cacti监控memcache实战
几种Memcache的状态监控的工具
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  memcached