在“建立監控項目”頁面的自定義監控中,點擊<建立項目>按鈕建立自定義監控項目,如下圖所示。

1460340544346296.png

選擇一個已有的公共自定義規則或自己建立好的自定義規則,點擊規則對應的<使用>按鈕,使用該規則建立監控項目。您只需設定監控對應的狀態頁和任務名稱即可,如下圖所示。

1460340559484652.png

輸入狀態頁URL,點擊<檢查>按鈕檢查狀態頁位址及狀態頁格式是否正確,不正確時無法建立監控項目。

選擇“使用採集器獲取數據“時,可選擇使用內網採集器來獲取數據。設定採集器前,請確保您已經建立內網採集器並新增了HTTP外掛程式,有關內網採集器的詳細說明請參考“內網採集器管理”。

輸入任務名稱作為監控項目的名稱,點擊<建立項目>按鈕建立自定義監控項目。

1460340576309160.png 自定義監控的監控頻率目前固定為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";