设为首页 收藏本站
查看: 1433|回复: 0

[经验分享] Memcache 监控工具介绍

[复制链接]

尚未签到

发表于 2015-11-18 11:11:08 | 显示全部楼层 |阅读模式
对于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文件中配置。
   DSC0000.jpg


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


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


   DSC0001.jpg



二、监控小工具
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启动以来的累计统计值,默认关闭,即仅显示瞬时速率。

DSC0002.png

项目地址:

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的状态监控的工具


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-140651-1-1.html 上篇帖子: memcache读书笔记(二) 下篇帖子: 配置Memcache作为Hibernate的二级分布式缓存
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表