memcached监控的几种方法(nagios等)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://storysky.blog.51cto.com/628458/244962

最近根据程序员需要在一台服务器上面部署了memcached服务,虽然用上了,但是对他还不是非常了解。于是开始收集整理他的相关资料,其中一部分就是对他的监控了。
  目前我所知道的监控方法大概有以下几种:
一、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环境,不过一般都会默认安装
[[email protected] soft]# which perl
/usr/bin/perl
下载下来后安装
[[email protected] soft]# tar xzvf Nagios-Plugins-Memcached-0.02.tar.gz
[[email protected] soft]# cd Nagios-Plugins-Memcached-0.02
[[email protected] Nagios-Plugins-Memcached-0.02]# perl Makefile.PL
执行后会出现一些提示让你选择,按照自己想法选或者一路回车都能通过
[[email protected] Nagios-Plugins-Memcached-0.02]# make
这时他会下载一些运行时需要的东西
[[email protected] 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的监控 O(∩_∩)O~

本文出自 “story的天空” 博客,请务必保留此出处http://storysky.blog.51cto.com/628458/244962

时间: 2024-07-29 21:10:27

memcached监控的几种方法(nagios等)的相关文章

redis 简易监控的几种方法

简介 针对Redis 实现性能监控的几种方法 一.使用info命令 命令说明 127.0.0.1:6380> info # Server redis_version:3.2.11 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:41a708998db14d05 redis_mode:standalone os:Linux 3.0.76-0.11-default x86_64 arch_bits:64 multiplexing_ap

Tomcat 监控的几种方法

Tomcat 监控方法 方法1:.使用tomcat自带的status页 具体方法: 步骤1:修改%tomcat安装路径%\conf \tomcat-users文件,配置admin设置权限.在<tomcat-users>中增加部分内容.具体如下: <role rolename="manager-gui"/> <user username=“manager" password=“1234" roles="manager-gui&q

zabbix使用自己编写脚本模板和zabbix自带模板两种方法添加对指定进程和端口的监控

zabbix使用自己编写脚本模板和zabbix自带模板两种方法添加对指定进程和端口的监控 1.自带监控模板进行os的监控 进入/usr/local/zabbix/etc/zabbix_agentd.conf 配置文件修改 LogRemoteCommands=1     ###开启脚本功能 Server=192.168.5.129     ##修改zabbix指向的服务器: 重启zabbix_agentd.zabbix_server服务 在配置-->主机-->添加主机--> 配置主机信息主

linux-CentOS6.4安装Memcached+memcached扩展+安装memcache扩展+Memcache同步SESSION的几种方法

一.编译环境的准备 yum install gcc  yum install gcc-c++ libstdc++-devel  yum install zlib-devel 二.源码包准备 wget http://monkey.org/~provos/libevent-1.4.14b-stable.tar.gzwget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz 三.安装与配置 1.安装libevent tar zx

实战Nagios NSCA方式监控Linux系统资源使用情况 -- Nagios配置篇 -- Nagios Server端

关于nrpe的方式网上已经有很多很好的总结,我现在说说在我们系统中如何是用NSCA方式来获取我们需要的被监控节点的资源使用情况信息. 先讲讲Nagios Server端的基本配置: 1. nagios web gui 访问配置,系统中使用的是nagios core中推荐的配置方式,通过apache httpd访问nagios web,安装nagios的时候会自动寻找系统中安装的httpd,把nagios的httpd文件放到httpd的conf.d目录下,这样,只要生成一次nagios web访问

Nagios监控Linux系统资源使用情况 -- Nagios介绍篇

应用场景:测试环境以及运行时环境都需要实时监控程序来监控系统(Linux Redhat)的健康状态,监控需求主要集中在:CPU,Memory,Disk IO,Network使用情况 . Nagios的基本思想就是nagios server 获取被监控节点(monitored server)的相关信息,通过CGI(Web GUI)或者邮件等方式展示给管理员. 以前我有介绍过如何通过jmeter+jmeter-plugins来监控系统资源使用情况,有了Nagios之后我们就放弃了使用jmeter,因

[BS-19]更改UITextField的placeholder文字颜色的5种方法

更改UITextField的placeholder文字颜色的5种方法 想要达到的目标是:一个页面上有多个UITextField,当用户聚焦某textField时,该文本框的placeholder的文字会灰色变为白色,当文本框失去焦点时,placeholder颜色从白色再变回灰色. 1.放置UILabel 最简单最笨的方法是在每个textField里放一个UILabel来充当placeholder,当该textField聚焦时,让placeholder的文字会灰色变为白色,失焦后从白色再变回灰色.

BMC hang后恢复的几种方法

BMC hang住后恢复的几种方法 在服务器上一般都会有BMC来检测系统并报告系统的健康状况,从而保证服务器的连续稳定运行.由于BMC本身也是一个由硬件.操作系统.监控应用程序组成的软硬件系统,本身也可能发生故障,甚至导致无法响应系统发过来的IPMI请求,这就是所谓的BMC hang.那么,当BMC出现hang的情景后,有哪些措施可以尝试恢复呢? 首先,可以尝试重新加载服务器端host上BMC的驱动,可以运行下面命令去检查之前IPMI驱动有没有加载: [[email protected] ~]#

Linux -- ubuntu下安装程序的三种方法

引言 在ubuntu当中,安装应用程序我所知道的有三种方法,分别是apt-get,dpkg安装deb和make install安装源码包三种.下面针对每一种方法各举例来说明. apt-get方法 使用apt-get install来安装应用程序算是最常见的一种安装方法了,比如我要安装build-essential这个软件,使用以下,他会帮我把所有的依赖包都一起安装了. sudo apt-get install build-essential 执行上述命令以后,我们可以看到一下信息,The fol