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

点击规则对应的<使用>按钮,使用该规则创建监控项目。您只需设置监控对应的状态页和任务名称即可,如下图所示。

输入状态页URL,点击<检查>按钮检查状态页地址及状态页格式是否正确,不正确时无法创建监控项目。
选择“使用采集器获取数据“时,可选择使用内网采集器来获取数据。设置采集器前,请确保您已经创建内网采集器并添加了HTTP插件,有关内网采集器的详细说明请参考“内网采集器管理”。
输入任务名称作为监控项目的名称,点击<创建项目>按钮创建自定义监控项目。
自定义监控的监控频率目前固定为5分钟,您无法修改。
状态页格式
状态页是可以通过公网访问到的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";
