自定义监控

通过自定义监控,您能随心所欲的监控您想监控的数据,如Memcached、Java虚拟机、论坛在线人数等等。

任何监控宝账户都可以免费使用自定义监控,如果您还没有注册监控宝,请点此注册。

为什么需要自定义监控?

您想看到您Memcached服务器内存使用率的变化情况吗?您想看到您论坛一天之中在线人数的变化趋势吗?……

在自定义监控中,您能很轻松的把您手中的数据变成富有意义的监控数据和图表。

一个例子

假设您需要监控Memcached服务器的使用情况,您需要提供一个能通过互联网访问到的自定义监控页,比如状态页内容如下(状态页的实现如示例):

<pre>
version:1.2.2
pointer_size:64
uptime:240625
bytes_read:446000735
bytes_written:344088203
cmd_get:695443
cmd_set:2654122
get_hits:627074
get_misses:68369
curr_connections:10
total_connections:675767
curr_items:715
total_items:2654122
evictions:0
bytes:424320
limit_maxbytes:67108864
rusage_user:51.239202
rusage_system:111.290955
</pre>

然后您需要到监控宝中设定与其对应的自定义规则,包括指标和图,这样就可以看到您想要的监控数据了:

应该了解的一些概念

如何工作

监控宝定时采集您提供的状态页数据,并根据您设定的自定义规则给您展现一段时间内数据的变化情况。

自定义规则

自定义规则约定对哪些数据需要采集以及数据的类型,数据的组织方式,数据的展现形式等。

指标

指标代表自定义监控中采集的数据项,指标包括如下属性:

KEY

指标的唯一标识,可以由字母、数字或下划线组成,必须以字母或下划线开头。

指标类型

标识该指标的类型,包括:

  • 状态值:状态类数据,如当前系统的进程数
  • 计数器:累积类数据,如论坛注册人数
  • 描述信息:描述性数据,如版本号信息
  • 复合值:组合计算类数据,如磁盘空间使用率为已用空间和总空间这两个指标的复合指标,复合表达式为:(已用空间/总空间) * 100

复合表达式

使用除复合值以外的其他类型指标运算的表达式。

状态页

状态页是可以通过公网访问到的Web页面,该页面按一定的格式提供需要监控的数据:如:

<pre>
key1:64
key2:String
</pre>

数据项格式为“ 键:值 ”,以换行分隔每项数据。

如何使用

创建自定义规则

填写自定义规则的基本信息和各项指标数据:

填写自定义规则图:

创建监控项目

选择一个已有的公共自定义规则或自己创建好的自定义规则,填入自定义监控状态页地址(如附录中示例)创建监控项目:

后续

我们即将推出:

  1. 更多的公共自定义规则
  2. 用户可以共享自己的自定义规则
  3. 自定义监控中的告警功能

状态页示例代码

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";
文档/自定义监控.txt · 最后更改: 2013-11-06 16:18 (外部编辑)
 
 
©2008 Another cool website by 80KV