仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1020|回复: 8
打印 上一主题 下一主题

[shell编程] 给大家带来shell 完成memcache缓存射中率监控剧本

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-14 20:14:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!公司有几个办事器开着多个memcached历程,除要监控他们是不是一般telnet通,实例是不是存在外还要监控他们的缓存射中率。针对他们的缓存射中率举行报警。

网上有个perl写的,必要编译装置。有个python写的,贴过去运转下,发明python库版本不合错误。这么复杂的剧本弄得这么费力,利市动写了个。
越写就越以为shell处置数据,函数,字符串数组这方面太弱势了。

还好,对付用吧。这个剧本对照复杂,经由过程check_tcp剧本猎取memcached的stats信息。然后将该信息格局化成一个字符串,然后将get_hits比上cmd_gets就可以失掉缓存射中率。基本道理对照复杂。可是还要完成nagios的报警格局,和功能数据的输入,撑持pnp画图。

为了伸手党们便利些,将之前的函数间接按需拔出到该剧本中,应当是复制粘贴运转就行。

假如有bug请反应!
  1. #!/bin/bash################################反省memcached的射中率#加载nagios自带utils.sh###############################source/usr/local/nagios/libexec/utils.shprint_usage(){echo"check_memcached-HIP-Pport-wwarning-ccritical"}####################猎取下令行实行参数###################whiletest-n"$1";docase"$1"in-H)host=$2shift;;-P)port=$2shift;;-w)warning=$2shift;;-c)critical=$2shift;;*)echo"Unknownargument:$1"print_usageexit$STATE_UNKNOWN;;esacshiftdone#########################functiondiv_f()#反省参数,前往两个数字比########################functiondiv_f(){ref=`awk-vnum_a=$1-vnum_b=$2BEGIN{printf"%0.2f
  2. ",num_a/num_b}`;echo$ref;}###################失掉射中率函数##################functiongetMemcachedHits(){memcachedinfo=`/usr/local/nagios/libexec/check_tcp-H$host-p$port-E-sstats
  3. quit
  4. -euptime|tr"""@"`get_hits=`echo$memcachedinfo|grep-o"@STATget_hits[0-9]*"|awk{print$4}`cmd_get=`echo$memcachedinfo|grep-o"@STATcmd_get[0-9]*"|awk{print$4}`div_f$get_hits$cmd_get;}hits=`getMemcachedHits$host$port`;###################失掉射中率地点区间##################functionre_rang(){rang=$hits;interval_a=$critical;interval_b=$warninglif[[$rang<$interval_a]];thenecho"0";elif[[$rang<$interval_b]];thenecho"1";elif[[$rang>$interval_b]]||[[$rang==$interval_b]];thenecho"2";elsereturn;fi}res=`re_rang$critical$warning$hits`;case"$res"in0)echo"Criticalmemcached_hits=$hits|memcached_hits=$hits;$warning;$critical;"exit$STATE_CRITICAL;;1)echo"Warningmemcached_hits=$hits|memcached_hits=$hits;$warning;$critical;"exit$STATE_WARNING;;2)echo"Okmemcached_hits=$hits|memcached_hits=$hits;$warning;$critical;"exit$STATE_OK;;*)echo"Unkown"exit$STATE_UNKNOWN;;esac
复制代码


如果您觉得本篇CentOSLinux教程讲得好,请记得点击右边漂浮的分享程序,把好文章分享给你的小伙伴们!
小女巫 该用户已被删除
沙发
发表于 2015-1-15 08:19:49 | 只看该作者

给大家带来shell 完成memcache缓存射中率监控剧本

不错支持下
小魔女 该用户已被删除
板凳
发表于 2015-1-21 20:50:34 | 只看该作者
硬盘安装及光盘安装,清楚了解安装Linux应注意的有关问题,如安装Linux应在最后一个分区内,至少分二个分区。
冷月葬花魂 该用户已被删除
地板
发表于 2015-1-30 22:39:56 | 只看该作者
众所周知,目前windows操作系统是主流,在以后相当长的时间内不会有太大的改变,其方便友好的图形界面吸引了众多的用户。
活着的死人 该用户已被删除
5#
 楼主| 发表于 2015-2-6 17:03:21 | 只看该作者
一定要养成在命令行下工作的习惯,要知道X-window只是运行在命令行模式下的一个应用程序。在命令行下学习虽然一开始进度较慢。
第二个灵魂 该用户已被删除
6#
发表于 2015-2-17 17:18:08 | 只看该作者
安装一个新的软件时先看README,再看INSTALL然后看FAQ,最后才动手安装,这样遇到问题就知道为什么。如果Linux说明文档不看,结果出了问题再去论坛来找答案反而浪费时间。
透明 该用户已被删除
7#
发表于 2015-3-5 22:37:55 | 只看该作者
查阅经典工具书和Howto,特别是Howto是全球数以万计的Linux、Unix的经验总结非常有参考价值通常40%的问题同样可以解决。
变相怪杰 该用户已被删除
8#
发表于 2015-3-12 16:43:05 | 只看该作者
未来的学习之路将是以指数增加的方式增长的。从网管员来说,命令行实际上就是规则,它总是有效的,同时也是灵活的。
精灵巫婆 该用户已被删除
9#
发表于 2015-3-20 01:20:05 | 只看该作者
现在的linux操作系统如redhat,难点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-11 14:23

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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