您的位置:首页 > 编程语言 > Java开发

java性能监控工具MoSKito学习--综述和说明

2017-12-12 17:37 489 查看
MoSKito-Essential包含了MoSKito功能的核心,也就是你想监视的一个简单的JVM应用。

MoSKito-Essential 是一个基本标准的MoSKito工程。通过他所有的模块,MoSkito-Essential包含了所有主要功能模块用于监视一个Java web应用。

MoSKito-Control 和 MoSKito-Central是构建在MoSKito-Essential之上的。

我们主要介绍包括:

第一模块:MoSKito-Essential的大概说明

第二模块:一步步开始工作在你的应用中使用MoSKito

第三模块:MoSKito-Essential的模块

第四模块:指导和管理MoSKito和你的工作

接下来我们开始第一模块的说明:

----------------------------------------------

第一模块:MoSKito-Essential的大概说明

1 MoSKito 简要

>Definition 定义

>Features特性

>>Collect any performance data 收集任何执行性能数据

>>No code change required 无需改变代码

>>See more with short intervals 通过短间隙发现更多

>>Keep your data private 私有化保存你的数据

>>Define and watch critical areas 定义和查看临界区域

>>Accumulate data and display it in charts 以图表的形式展示收集到的数据

>>Make app's inner life visible 使得应用的内部生命周期可见

>>Works with your app server 和你的应用服务一起工作

>>Use MoSKito on your mobile device 在你的手机设备上使用MoSKito。

>Other Features 其他特性

Definition 定义

MoSKito是一个多功能,零入侵,区间监视系统,收集,存储和提供瞬时分析对应用的性能数据和行为数据。

MoSKito使得你测量和优化你的应用变的更简单并且使得你的决定可视化和可量化。

Features特征

>Collect any performance data 收集任何性能数据

MoSKito是一个多功能的,它能够收集相当大范围的统计数据。在概念一章会提到,MoSKito从生产者获取数据,而且生产者几乎可以是一切。

什么是一切?线程,内存,缓存,存储,服务,平均值,执行时间,请求数,CPU使用率,IO状态,注册量,支付量,兑换,同伴性能,在线用户数,诈骗分数,负荷分配,用户依赖负荷,调用遍历,路径相关测量,你需要的一切。

不管是业务还是指示信号性能都能够被监视。MoSKito收集所有必要的信息在一个地方。

>No code change required 零入侵代码

MoSKito是零入侵的。这意味着它不要求痛苦的结合或者你的应用代码做任何改变

MoSKito可以通过拦截器,代理,注解,继承,AOP,类加载或者普通的调用而插入任何应用中。

MoSKito的统计围绕着被监视的代码,而不需要修改它。这样,在不影响你应用性能的情况下完成监视功能。

了解更多请看getting MoSKito,configuring and integrating it into your application。获取MoSKito,配置并整合它到你的应用。

See more with short intervals 通过短区间发现更多。

MoSKito 是基于区间的,它生成一个快照(记录被监视的生产者的活跃度)每次:

>>1 分钟

>>5 分钟

>>15 分钟

>>1 小时

>>12 小时

>>1 天(24小时)

这意味着,在任何时刻你能知道生产者的性能最近1分钟的,5分钟的等等。为啥是这样的呢?

一个活的系统的行为依靠无数的事情:小时,周末,天气,节假日和good karma(善缘)。为了获得一个完整的图片,你不得不考虑即使是最小的因素。

当你收集大量数据,你也许容易错过一个异常现象,影响到你的系统。但是当你收集数据通过短区间,你很容易对比它和相同时间段的数据(早上,周一等等)。按短区间方式统计总是能更好的理解你的系统的行为。

如图intervals.gif:



Keep your data private 保持你的数据私有化

许多好的监视系统,有效而且容易上手,用于云解决方案。这意味着你应用的所有性能数据被第三方服务处理过。

它当然没有问题,直到你开始注意隐私问题。要是共享性能数据违反了你的安全策略又会怎么样?

MoSKito不用任何外部服务或者资源在处理和存储数据时。它被发布到你本地的机器,并且数据收集也保存在这儿:在应用内部或者是一个私人配置的存储地方。这解决了所有的安全和隐私问题。

Define and watch critical areas 定义和监视临界区域

在你的应用内部,一些参数也许比其他参数更重要。你也许想7*24小时的监视他们,如果他们工作的很好,一目了然。

通过阈值,你能连续监视一个单一的参数(生产者)并且接受一个信号如果参数的性能超过了你设置的边界值。

如图small_threshold.png:



Accumulate data and display it in charts 统计数据并且在图表中展示

你可能需要更仔细的查看监视器参数并且随着时间的推移分析它的性能

使用收集器,你能存储MoSKito数据关于任何需要的时间段并且展示收集到的信息在一个图表中。

如图AccumulatorExample.png:



Make app's inner life visible 使得应用的内部生命可见

当你在处理一个用户的面对的问题时,你必须知道哪一个方法或许服务失败了。这样的从用户到开发者的语言的转变不仅耗时,而且是一个十分痛苦的过程。

Journeys(历程)使得事情变的容易。他们能够记录用户的行为以调用或步骤在web应用内部发生的时间和过程。历程展示了方法/函数/服务/资源,一个用户在使用应用时触发的。

Works with your app server 和你的应用服务一起工作

MoSKito的结构允许他和任何主流的应用服务一起工作。Tomcat,Jetty,Glassfish,WebLogic..你也可以继续罗列。

除非你使用的一些非常特别而且不常见的,那其他的基本不需要担心。

Use MoSKito on your mobile device 在你的手机设备上使用MoSKito.

我们有手机版的MoSKito-Essential(MoSKito UI)和MoSKito-Control(MoSKito-Control App)给ios系统,Android 应用的也很快支持。

有这些在你的手机设备上意味着你不管在哪儿都能知道你的应用此时此刻在做什么。

Other Features 其他特征

>MoSKito-inspect,被嵌入在web应用中的用户接口。

>Duplicate call detection.重复调用的检查

>Cumulated 'time-spend-in' component detection.耗时组件检查的统计

>Support for major logging frameworks.支持主流的日志框架

>Built-in monitoring for threads, memory and system values. 对线程,内存和系统值的嵌入监控

>Thread-dump and Thread creation/deletion monitoring (ThreadHistory).线程复制,创建和销毁的监控(线程历史)

>Measurement in nanoseconds, presentation in different time units.纳秒级别的测量,不同时间单位的演示。

>Custom time intervals and user-triggered intervals.自定义的时间间隔和用户触发的间隔。

>SQL queries monitoring. sql查询监视
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息