在“创建监控项目”页面的自定义监控中,点击<创建项目>按钮创建自定义监控项目,如下图所示。
选择一个已有的公共自定义规则或自己创建好的自定义规则,点击规则对应的<使用>按钮,使用该规则创建监控项目。您只需设置监控对应的状态页和任务名称即可,如下图所示。
输入状态页URL,点击<检查>按钮检查状态页地址及状态页格式是否正确,不正确时无法创建监控项目。
选择“使用采集器获取数据“时,可选择使用内网采集器来获取数据。设置采集器前,请确保您已经创建内网采集器并添加了HTTP插件,有关内网采集器的详细说明请参考“内网采集器管理”。
输入任务名称作为监控项目的名称,点击<创建项目>按钮创建自定义监控项目。
告警方式:支持Email、手机短信、电话语音以及连续提醒。
监控设置:
监控频率:监控宝执行监控的时间间隔,例如选择“2”,则监控宝每隔2分钟就执行一次监控,目前支持2分钟、5分钟。
连续告警次数:当监控项目出现故障时,监控宝在故障时间内发送连续告警提醒的次数(必须在项目公开范围下勾选<连续提醒>方可生效),支持的次数有:1次、2次、5次、15次、20次、25次、30次。
状态页格式
状态页是可以通过公网访问到的Web页面,该页面按一定的格式提供需要监控的数据,监控宝规定的格式(数据项格式为“键:值”,用换行分隔每项数据)如下:
状态页实现
以Memcached状态页为例,定义上图状态页的数据,示例代码(PHP)如下:
<?php /** * 请将$host和$port替换成您的Memcached服务器的ip和端口 */ $host = '127.0.0.1'; $port = 11211; $keys = array ( 'version', 'pointer_size', 'uptime', 'bytes_read', 'bytes_written', 'cmd_get', 'cmd_set', 'get_hits', 'get_misses', 'curr_connections', 'total_connections', 'curr_items', 'total_items', 'evictions', 'bytes', 'limit_maxbytes', 'rusage_user', 'rusage_system', ); $memcache_obj = new Memcache; $retval = $memcache_obj->connect($host, $port); if (!$retval) die('Could not connect memcached.'); $stats = $memcache_obj->getExtendedStats(); header('Content-Type: text/plain; charset=UTF-8'); echo "<pre>\n"; $stat = $stats["$host:$port"]; foreach ($keys as $key) { if (isset($stat[$key])) { $value = $stat[$key]; echo "$key:$value\n"; } } echo "</pre>\n";