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

1460340544346296.png

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

1460340559484652.png

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