在“创建监控项目”页面的自定义监控中,点击<创建项目>按钮创建自定义监控项目,如下图所示。

选择一个已有的公共自定义规则或自己创建好的自定义规则,点击规则对应的<使用>按钮,使用该规则创建监控项目。您只需设置监控对应的状态页和任务名称即可,如下图所示。

输入状态页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";
