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

[经验分享] nagios监控memcached

[复制链接]

尚未签到

发表于 2018-12-25 10:10:26 | 显示全部楼层 |阅读模式
  最近根据程序员需要在一台服务器上面部署了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环境,不过一般都会默认安装
  [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               babeltimeWeb1
  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的模板(不过我的模板一直抓不到数据...)


运维网声明 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-655575-1-1.html 上篇帖子: Memcached的介绍和应用 下篇帖子: ​Memcached调用程序
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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