差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

文档:自定义监控 [2013-08-12 13:03]
marshall [创建监控项目]
文档:自定义监控 [2013-11-06 16:18] (当前版本)
行 1: 行 1:
 +====== 自定义监控  ======
  
 +通过自定义监控,您能随心所欲的监控您想监控的数据,如Memcached、Java虚拟机、论坛在线人数等等。
 +
 +任何监控宝账户都可以免费使用自定义监控,如果您还没有注册监控宝,请[[http://www.jiankongbao.com/signup.php|点此]]注册。
 +
 +===== 为什么需要自定义监控? =====
 +
 +您想看到您Memcached服务器内存使用率的变化情况吗?您想看到您论坛一天之中在线人数的变化趋势吗?……
 +
 +在自定义监控中,您能很轻松的把您手中的数据变成富有意义的监控数据和图表。
 +
 +===== 一个例子 =====
 +假设您需要监控Memcached服务器的使用情况,您需要提供一个能通过互联网访问到的自定义监控页,比如状态页内容如下([[#memcached|状态页的实现如示例]]):
 +
 +<code xml>
 +<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>
 +</code>
 +然后您需要到监控宝中设定与其对应的自定义规则,包括指标和图,这样就可以看到您想要的监控数据了:
 +
 +{{http://wiki.jiankongbao.com/data/media/image/custom_5.gif}}
 +===== 应该了解的一些概念 =====
 +
 +==== 如何工作 ====
 +
 +监控宝定时采集您提供的状态页数据,并根据您设定的[[#%E8%87%AA%E5%AE%9A%E4%B9%89%E8%A7%84%E5%88%99|自定义规则]]给您展现一段时间内数据的变化情况。
 +
 +==== 自定义规则 ====
 +
 +自定义规则约定对哪些数据需要采集以及数据的类型,数据的组织方式,数据的展现形式等。
 +=== 指标 ===
 +指标代表自定义监控中采集的数据项,指标包括如下属性:
 +
 +**KEY**
 +
 +指标的唯一标识,可以由字母、数字或下划线组成,必须以字母或下划线开头。
 +
 +**指标类型**
 +
 +标识该指标的类型,包括:
 +  * 状态值:状态类数据,如当前系统的进程数
 +  * 计数器:累积类数据,如论坛注册人数
 +  * 描述信息:描述性数据,如版本号信息
 +  * 复合值:组合计算类数据,如磁盘空间使用率为已用空间和总空间这两个指标的复合指标,复合表达式为:(已用空间/总空间) * 100
 +
 +
 +**复合表达式**
 +
 +使用除复合值以外的其他类型指标运算的表达式。
 +
 +==== 状态页 ====
 +
 +状态页是可以通过公网访问到的Web页面,该页面按一定的格式提供需要监控的数据:如:
 +<code xml>
 +<pre>
 +key1:64
 +key2:String
 +</pre>
 +</code>
 +数据项格式为“ 键:值 ”,以换行分隔每项数据。
 +
 +===== 如何使用 =====
 +
 +==== 创建自定义规则 ====
 +填写自定义规则的[[http://www.jiankongbao.com/custom_create_rule.php|基本信息]]和各项指标数据:
 +
 +{{http://wiki.jiankongbao.com/data/media/image/custom_2.gif}}
 +
 +填写自定义规则图:
 +
 +{{http://wiki.jiankongbao.com/data/media/image/custom_3.gif}}
 +==== 创建监控项目 ====
 +选择一个已有的公共自定义规则或自己创建好的自定义规则,填入自定义监控状态页地址([[#memcached|如附录中示例]])创建监控项目:
 +
 +{{http://wiki.jiankongbao.com/data/media/image/custom_4.gif}}
 +===== 后续 =====
 +
 +我们即将推出:
 +  - 更多的公共自定义规则
 +  - 用户可以共享自己的自定义规则
 +  - 自定义监控中的告警功能
 +
 +===== 状态页示例代码 =====
 +
 +==== Memcached ====
 +=== PHP ===
 +
 +<code 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";
 +</code>
 
 
©2008 Another cool website by 80KV