云监控插件编写规范

阿里云监控系统支持用户自定义监控类型,具备极强的监控扩展能力,支持用户本身编写监控插件实现自定义监控类型。编写完后将插件放到Agent安装目录下面的scripts目录下面,若是是linux服务器则是/usr/local/cms/scripts目录下面。jquery

监控插件无论以何种语言编写,只要是能够直接执行就能够,它能够是已编译成功的可执行二进制程序文件(例如: C, C++等),同时也能够是可执行脚本文件(例如: shell, Perl, PHP等)。linux

为了云监控插件可以被云监控Agent正确调用和执行,监控插件的参数和退出值必须遵照如下规则,其中业务逻辑彻底由您决定:web

一、云监控插件输出规范

云监控Agent根据插件的返回值来判断其状态是Ok仍是Critical。目前只有Ok和Critical两种状态。shell

若是是exit(0),则表示其状态是OK的。这种状态表示插件检测的结果是正常的,不须要报警。服务器

若是是exit(2),则表示其状态是Critical的。这种状态表示插件检测异常,须要报警。ide

若是云监控插件运行完后的退出值不是以上固定值,云监控不会作任何处理。阿里云

具体的报警信息就是云监控插件执行时的输出字符串,它能够彻底由您本身决定。spa

二、云监控插件输入规范

云监控Agent在调用插件时会向插件传三个参数。 您能够不处理这些参数,也能够处理这些参数。插件

第一个输入参数是就是页面上监控项的参数,是由您在页面上自行输入的。orm

第二个输入参数是报警阈值,是您在页面上配置的报警阈值。若是您的插件须要阈值,则您的插件里面须要解析阈值,并与阈值比较以决定返回值是0,仍是1或2。

第三个输入参数是超时时间,是您在页面上选择的超时时间。这个参数能够根据您的须要决定是否处理。若是插件执行时间超过这个时间值,云监控Agent则会终止这个插件的运行。

三、插件注意事项:

若是插件是用脚本语言写的话,第一行要有解释器,不然云监控Agent没法执行这些插件。好比若是是用shell写的话,第一行应该是相似这样的:#!/bin/sh

#!/bin/sh              #请注意这个shell的解释器POLICY_PARAMS=$1       #将第一个参数接收进来,便于后面处理CRITICAL_PARAMS=$2	#将报警阈值接收进来,后面检测到的值跟这个阈值相好比,若是大于等于阈值,则exit(1)退出,表示Critical;若是小于阈值,则exit(0)退出,表示OK。TIMEOUT=$3		#将超时时间接收进来,便于后面处理。好比里面调用wget命令,但愿这个命令执行超过这个时间后超时,则能够在wget命令中使用$TIMEOUT这个变量………If (Critical) 	Echo “Critical-The filesystem is readonly.”	Exit 1   #异常退出If (OK)	Echo “OK-The filesystem is normal.”	Exit 0   #正常退出	
相关文章
相关标签/搜索