一个用PHP编写的可视化的MemCached管理系统

  MemAdmin是一款可视化的Memcached管理与监控工具,使用PHP开发,体积小,操作简单。

  主要功能:
  服务器参数监控:STATS、SETTINGS、ITEMS、SLABS、SIZES实时刷新
  服务器性能监控:GET、DELETE、INCR、DECR、CAS等常用操作命中率实时监控
  支持数据遍历,方便对存储内容进行监视
  支持条件查询,筛选出满足条件的KEY或VALUE
  数组、JSON等序列化字符反序列显示
  兼容memcache协议的其他服务,如Tokyo Tyrant (遍历功能除外)
  支持服务器连接池,多服务器管理切换方便简洁
MemAdmin主页: http://www.junopen.com/memadmin
 
扩展:
目前我所知道的监控方法大概有以下几种:
一、memcache.php 这个东东算是最简单的了,只要支持php环境就能用,把这个文件放到你的网页存放目录下就可以了访问方法 http://ip/memcache.php

 

下载地址 http://livebookmark.net/memcachephp/memcachephp.zip
        http://blogimg.chinaunix.net/blog/upfile2/081230231118.zip
需要注意的是,使用之前要修改里面的几个选项
vim memcache.php
.....
define('ADMIN_USERNAME','memcache');    // 定义用户名
define('ADMIN_PASSWORD','password');    // 定义密码
.....
$MEMCACHE_SERVERS[] = 'mymemcache-server:11211'; //定义要查看的ip和端口
$MEMCACHE_SERVERS[] = 'mymemcache-server2:11212'; //可添加多个
其他内容略
上面的图就是访问时的效果,是不是很直观?

二、利用memcached自身的命令来检查

telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
stats
STAT pid 24567
STAT uptime 6576
STAT time 1261035123
STAT version 1.4.3
.....
STAT bytes 64035
STAT curr_items 41
STAT total_items 96
STAT evictions 0
END
不过这个方法我觉得不太方便,从网上搜到了另一个好办法,那就是利用nagios的check_tcp (mixi的方法)
check_tcp -H localhost -p 11211 -t 5 -E -s 'stats\r\nquit\r\n' -e 'uptime' -M crit 输出结果和上面差不多
TCP OK - 0.001 second response time on port 11211 [STAT pid 10663
STAT uptime 76444
STAT time 1259641750
STAT version 1.4.2
.....中间省略
STAT bytes 1385408560
STAT curr_items 227799
STAT total_items 5012750
STAT evictions 0
END]|time=0.001142s;;;0.000000;5.000000
这样我们就能在nagios里面添加命令来查看他的运行状态了
不过这样还不够,我还需要在memcached出现问题的时候通过邮件或者短信来通知我,下面来介绍一个更好的办法

三、Nagios的check_memcached
下载地址:
http://search.cpan.org/CPAN/authors/id/Z/ZI/ZIGOROU/Nagios-Plugins-Memcached-0.02.tar.gz
http://cpan.uwinnipeg.ca/cpan/authors/id/Z/ZI/ZIGOROU/Nagios-Plugins-Memcached-0.02.tar.gz
这个脚本是用perl编的,所以你要先确保自己的机器里面是否有perl环境,不过一般都会默认安装
[root@nodea soft]# which perl
/usr/bin/perl
下载下来后安装
[root@nodea soft]# tar xzvf Nagios-Plugins-Memcached-0.02.tar.gz
[root@nodea soft]# cd Nagios-Plugins-Memcached-0.02
[root@nodea Nagios-Plugins-Memcached-0.02]# perl Makefile.PL
执行后会出现一些提示让你选择,按照自己想法选或者一路回车都能通过
[root@nodea Nagios-Plugins-Memcached-0.02]# make
这时他会下载一些运行时需要的东西
[root@nodea Nagios-Plugins-Memcached-0.02]# make install

默认会把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               xmanWeb1
        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
        }
其他的可以按照自己要求添加..
好了,让我们重新启动下nagios服务
/etc/init.d/nagios restart
看看结果

呵呵好了,Nagios监控memcached基本就搞定了。

另外还可以根据check_tcp -H localhost -p 11211 -t 5 -E -s 'stats\r\nquit\r\n' -e 'uptime' -M crit
的输出结果自己编写脚本来检测memcached,这里我就不多说了...
还可以利用check_tcp的结果结合CACTI 来制作memcached的流量视图,当然Cacti也有专门针对memcached的模板(不过我的模板一直抓不到数据...)

 

Memcached管理与监控的更多相关文章

  1. 【转】Memcached管理与监控工具----MemAdmin

    原文连接:http://blog.csdn.net/ajun_studio/article/details/6746877 原文作者:halfMe 转载注明以上信息! 使用MemCached以后,肯定 ...

  2. Memcached管理与监控工具 memAdmin

    http://www.junopen.com/memadmin/ 使用MemCached以后,肯定希望知道cache的效果,对于MemCached的一些运行状态进行监控是必要的,memcached提供 ...

  3. Memcached 管理与监控工具 MemAdmin

    MemAdmin是一款可视化的Memcached管理与监控工具,基于 PHP5 & JQuery 开发,体积小,操作简单. 主要功能: 服务器参数监控:STATS.SETTINGS.ITEMS ...

  4. 系统内存和CPU管理、监控

    本博文的主要内容有 .系统内存管理.监控:vmstat和free -mt .系统CPU管理.监控:sar -u.mpstat.uptime linux系统内存和CPU是在系统运行的过程中不断消耗的资源 ...

  5. Linux 基础 —— Linux 进程的管理与监控

    这篇文章主要讲 Linux 中进程的概念和进程的管理工具.原文:http://liaoph.com/inux-process-management/ 进程的概念 什么是进程 进程(Process)是计 ...

  6. Oracle数据库web维护管理及监控

    1.Oracle数据库客户端的种类及现状         目前Oracle数据库维护管理,通常是使用客户端软件:PL/SQL Developer,SQL* Plus,toad,em等进行数据的管理.维 ...

  7. 基于spring-boot和docker-java实现对docker容器的动态管理和监控[附完整源码下载]

    ​ (我是个封面) docker简介 Docker 是一个开源的应用容器引擎,和传统的虚拟机技术相比,Docker 容器性能开销极低,因此也广受开发者喜爱.随着基于docker的开发者越来越多,doc ...

  8. spring-boot-plus集成Spring Boot Admin管理和监控应用

    Spring Boot Admin Spring Boot Admin用来管理和监控Spring Boot应用程序 应用程序向我们的Spring Boot Admin Client注册(通过HTTP) ...

  9. spring-boot-plus集成Spring Boot Admin管理和监控应用(十一)

    spring-boot-plus集成Spring Boot Admin管理和监控应用 spring boot admin Spring Boot Admin用来管理和监控Spring Boot应用程序 ...

随机推荐

  1. NServiceBus入门:发布事件(Introduction to NServiceBus: Publishing events)

    原文地址:https://docs.particular.net/tutorials/intro-to-nservicebus/4-publishing-events/ 侵删. 这个教程到目前为止,我 ...

  2. [Java基础] Java对象内存结构

    转载地址:http://www.importnew.com/1305.html 原文于2008年11月13日 发表, 2008年12月18日更新:这里还有一篇关于Java的Sizeof运算符的实用库的 ...

  3. java性能监控器VisualVM

    1.mac系统启动文件位置:/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/bin/jvisualvm 2.linux ...

  4. 二十四种设计模式:解释器模式(Interpreter Pattern)

    解释器模式(Interpreter Pattern) 介绍给定一个语言, 定义它的文法的一种表示,并定义一个解释器,该解释器使用该表示来解释语言中的句子. 示例有一个Message实体类,某个类对它的 ...

  5. String格式化参数整理

    Java String格式话参数整理如下: conversion:转换格式,可选的格式有: d 整数型(十进制) c Unicode字符 b Boolean值 s String f 浮点数(十进制) ...

  6. centos7 keepalived以及防火墙配置

    安装和配置keepalived,网上有很多资料,但是都没有提到防火墙这块,而且很多都是互相抄袭的,就算配置对了也会遇到很多问题 在查阅资料的时候配置好了keepalived,但是出现了裂脑,即两台服务 ...

  7. 一步一步学RenderMonkey(3)——改良Phong光照模型 【转】

    转载请注明出处: http://blog.csdn.net/tianhai110 改良后的Phong光照模型: 上一节实现的phong镜面光照模型,如果固定光源,移动视点(及matView 关联为ma ...

  8. Druid对比Redshift

    Redshift 内部使用了亚马逊取得了授权的ParAccel 实时注入数据 抛开可能的性能不同, 有功能性的不同 Druid 适合分析大数据量的流式数据, 也能够实时加载和聚合数据一般来讲, 传统的 ...

  9. 【Linux】apt-get install 怎么阻止弹出框,使用脚本默认自动安装?

    You can do a couple of things for avoiding this. Setting the DEBIAN_FRONTEND variable to noninteract ...

  10. LINUX 下编译不通过解答

    在linux下编译android源码或者webkit等程序源码时,不论在源码下加什么错误,编译器都默认正确,检索不到错误,此时,可能是之前编译的生成文件默认编译器不再检索编译新修改过的文件,只是发现修 ...