自定义监控
通过自定义监控,您能随心所欲的监控您想监控的数据,如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>
数据项格式为“ 键:值 ”,以换行分隔每项数据。
如何使用
创建自定义规则
创建监控项目
选择一个已有的公共自定义规则或自己创建好的自定义规则,填入自定义监控状态页地址(如附录中示例)创建监控项目:
后续
我们即将推出:
- 更多的公共自定义规则
- 用户可以共享自己的自定义规则
- 自定义监控中的告警功能
状态页示例代码
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";



