我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Shell脚本实现memcache缓存命中率监控

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Shell脚本实现memcache缓存命中率监控

公司有几个服务器开着多个memcached进程,除了要监控他们是否正常telnet通,实例是否存在外还要监控他们的缓存命中率。针对他们的缓存命中率进行报警。

网上有个perl写的,需要编译安装。有个python写的,贴过来运行下,发现python库版本不对。这么简单的脚本搞得这么费劲,就手动写了个。

越写就越觉得shell处理数据,函数,字符串数组这方面太弱势了。

还好,凑合用吧。这个脚本比较简单,通过check_tcp脚本获取memcached的stats信息。然后将该信息格式化成一个字符串,然后将get_hits比上cmd_gets就能得到缓存命中率。基础原理比较简单。但是还要实现nagios的报警格式,以及性能数据的输出,支持pnp绘图。

为了伸手党们方便些,将以前的函数直接按需插入到该脚本中,应该是复制粘贴运行就行。

如果有bug请反馈!


#!/bin/bash

###############################

#检查memcached的命中率

#加载nagios自带utils.sh

###############################

source/usr/local/nagios/libexec/utils.sh

print_usage()

{

echo"check_memcached -H IP -P port -w warning -c critical"

}

###################

#获取命令行执行参数

###################

whiletest-n "$1";do

case"$1"in

-H)

host=$2

shift

;;

-P)

port=$2

shift

;;

-w)

warning=$2

shift

;;

-c)

critical=$2

shift

;;

*)

echo"Unknown argument:$1"

print_usage

exit$STATE_UNKNOWN

;;

esac

shift

done

########################

#function div_f()

#检查参数,返回两个数字比

########################

functiondiv_f()

{

ref=`awk-vnum_a=$1 -vnum_b=$2 'BEGIN{printf "%0.2f n",num_a/num_b}'`;

echo$ref;

}

##################

#得到命中率函数

##################

functiongetMemcachedHits()

{

memcachedinfo=`/usr/local/nagios/libexec/check_tcp-H $host -p $port -E -s'statsrnquitrn'-e 'uptime'| tr"r""@"`

get_hits=`echo$memcachedinfo | grep-o "@ STAT get_hits [0-9]*"| awk'{print $4}'`

cmd_get=`echo$memcachedinfo | grep-o "@ STAT cmd_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=$warningl

if[[ $rang < $interval_a ]];then

echo"0";

elif[[ $rang < $interval_b ]];then

echo"1";

elif[[ $rang > $interval_b ]]||[[ $rang == $interval_b ]] ;then

echo"2";

else

return;

fi

}

res=`re_rang $critical $warning $hits`;

case"$res"in

0)

echo"Critical memcached_hits=$hits|memcached_hits=$hits;$warning;$critical;"

exit$STATE_CRITICAL

;;

1)

echo"Warning  memcached_hits=$hits|memcached_hits=$hits;$warning;$critical;"

exit$STATE_WARNING

;;

2)

echo"Ok  memcached_hits=$hits|memcached_hits=$hits;$warning;$critical;"

exit$STATE_OK

;;

*)

echo"Unkown"

exit$STATE_UNKNOWN

;;

esac

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Shell脚本实现memcache缓存命中率监控

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Shell脚本实现memcache缓存命中率监控

公司有几个服务器开着多个memcached进程,除了要监控他们是否正常telnet通,实例是否存在外还要监控他们的缓存命中率。针对他们的缓存命中率进行报警。网上有个perl写的,需要编译安装。有个python写的,贴过来运行下,发现pyth
2022-06-04

Shell中怎么利用memcache监控缓存命中率

这篇文章给大家介绍Shell中怎么利用memcache监控缓存命中率,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。#!/bin/bash################################检查memcach
2023-06-09

shell脚本实现磁盘监控系统

利用shell脚本实现每隔60秒磁盘内存数据监控#!/bin/bash #Author:GaoHongYu #QQ:1061767621 #Time:2019-12-24 18:43:22 #Name:ncjk.sh
2022-06-04

Shell脚本实现的memcached进程监控

WEB服务器使用memcached,但是不知道为什么memcached老是挂掉(基本20分钟~50分钟左右),导致部分网站页面在访问的时候出错;定义日志后,查看日志也未能发现什么;初步判定由于之前更新libevent有关系。由于线上服务器,
2022-06-04

Shell脚本实现监控iptables运行状态

最近在调试服务器的iptables,自己做了个定时关iptables,但晚上回家很少开电脑,所以就没法去启动iptables,当然你可能会说,为什么不取消定时关闭iptables,我只能说个人的环境不一样,需求也就不一样.脚本内容:vi i
2022-06-04

Shell脚本实现监控MySQL主从同步

代码如下:#!/bin/bash#check MySQL_Slave Status#crontab time 00:10MYSQLPORT=`netstat -na|grep "LISTEN"|grep "3306"|awk -F[:" "
2022-06-04

如何实现监控MySQL服务shell脚本

这篇文章给大家分享的是有关如何实现监控MySQL服务shell脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1)端口判断法==>仅适合数据库本地使用法1:if条件判断方法[root@oldboy script
2023-06-09

Shell脚本实现精准清除Squid缓存

此脚本是在张宴的缓存清理脚本上做了修改的,主要是增加if选项,并根据$1参数类型来选择性的列出缓存文件所在地址(因为$1并不固定,有时是特定的jpg类型,有时是域名)目前在自己的Squid缓存服务器上应用,感觉采集缓存网址基本上没什么误差了
2022-06-04

shell脚本实现监控shell脚本的执行流程及变量的值

很多时候,我们都会写shell程序来完成一些不用重复造轮子的时刻,但是,又因为shell语句中也会有函数,也会有变量,在运行后到底执行了哪些相关的操作,就需要对具体执行过程中的变量等可变的因素的监控,那么我们下面就写个小小的shell例子,
2022-06-04

shell脚本如何实现磁盘监控系统

这篇文章给大家分享的是有关shell脚本如何实现磁盘监控系统的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。利用shell脚本实现每隔60秒磁盘内存数据监控#!/bin/bash#Author:GaoHongYu#
2023-06-09

Shell脚本实现监控kingate并自动启动

自己在vps做的kingate服务端,估计最近占用流量太大了,老是被服务商把我vps重启,但kingate这个东西是一旦被强制结束掉,是无法开机启动的,因为要把kingate.pid这个文件删除了才能启动,好吧,对于我们这样的懒人来说,当然
2022-06-04

如何实现shell脚本监控linux系统内存使用情况

本篇内容介绍了“如何实现shell脚本监控linux系统内存使用情况”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、安装linux下面的一
2023-06-09

Linux中怎么使用shell脚本监控系统内存

这篇文章主要介绍了Linux中怎么使用shell脚本监控系统内存的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux中怎么使用shell脚本监控系统内存文章都会有所收获,下面我们一起来看看吧。一、安装Lin
2023-06-27

如何利用Shell脚本实现邮件监控Linux系统的内存

这篇文章主要为大家展示了“如何利用Shell脚本实现邮件监控Linux系统的内存”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何利用Shell脚本实现邮件监控Linux系统的内存”这篇文章吧。
2023-06-15

怎么利用Shell脚本实现邮件监控Linux系统的内存

这篇文章给大家介绍怎么利用Shell脚本实现邮件监控Linux系统的内存,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、安装Linux下面的一个邮件客户端Msmtp软件(类似于一个Foxmail的工具)**1、下载安
2023-06-28

如何用shell脚本实现监控shell脚本的执行流程及变量的值

本篇内容主要讲解“如何用shell脚本实现监控shell脚本的执行流程及变量的值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用shell脚本实现监控shell脚本的执行流程及变量的值”吧!
2023-06-09

用shell+sendmail实现服务器监控报警小脚本

这种email报警脚本遍地都是,很多用的sendmail、postfix,感觉有些大材小用了;也有些用perl的NET::SMTP和Authen::SASL模块发信的,不过我perl用的不好,老发出些莫名其妙的邮件来(比如if(a>1){p
2022-06-04

shell脚本实现服务器进程监控的方法

写作背景:项目是基于java、weblogic及timer的处理模式,每次服务部署之后timer的整体状态是一个盲区,因为100多个进程,是否有启动遗漏或者启动重复的,想做到一目了然是件困难的事情。所以我考虑用shell脚本的文件查找与匹配
2022-06-04

shell脚本shell脚本实现监控某个进程意外停止后拉起进程

小编给大家分享一下shell脚本shell脚本实现监控某个进程意外停止后拉起进程,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!要监护的进程启动脚本:实现脚本写入c
2023-06-09

Shell脚本实现监控rsync数据是否传输完

今天有台服务器a要把网站程序全部传输到另外一台服务器b上去,但离下班时间就只有1个小时了,为了准时下班,简单写了个shell脚本来监控是否有传输完,我先在服务器a上看了下网站程序总大小为12G,用du -sm查看也就是11517,服务器也不
2022-06-04

编程热搜

目录