在“创建监控项目”页面的自定义监控中,点击<创建项目>按钮创建自定义监控项目,如下图所示。
点击规则对应的<使用>按钮,使用该规则创建监控项目。您只需设置监控对应的状态页和任务名称即可,如下图所示。
输入状态页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";