perfino——JVM监测工具

在JVM监测器琳琅满目的如今,作为监测工具软件,必须要有足够的特色,才能做到“出人头地”。Perfino就算一款比较有特色的JVM监测软件。它的主要功能,是对JVM进行侦测,以及对业务事务进行记录。Perfino的UI为其功能性做了优化,使得它不但能够用于及时trouble shooting,也能用于分析历史数据。通过设置不同的阈值,触发器和报警器,可以探测到JVM的异常。Perfino的最大特色,是它可以提供完整JVMTI级别的数据采样,并直接将采集的数据发送给JProfiler进行分析。这样的能力是其他的JVM监测软件不具备的。Perfino的官方网站上提供了Live Demo功能,感兴趣的读者可以直接去官网一试究竟。 


大量虚拟机的管理

perfino可以使用单个服务器监控数百虚拟机:

  • 虚拟机编组

  • 监控命名虚拟机

  • 监控虚拟机池

  • 无需连接新的虚拟机配置

  • 配置更改无需重启

商业交易监控开销可忽略不计

perfino选择了效益最大化的方法:

  • 纯Java代理,没有本地库

  • 灵活的交易命名

  • 嵌套业务交易

  • 配置再入预防嵌套事务

  • 调用树和热点

  • 历史比较

  • 未定义保留数据与自动聚合

自动检测业务交易

perfino从以下子系统中检测业务交易:

  • 从小型服务程序容器调用URL

  • EJB调用

  • Spring服务调用

  • RMI调用

商业交易方式多样

perfino提供了几种方法来自定义业务交易:

  • 自定义注释

  • POJO调用

  • perfino DEVOPS的代码标注

跨虚拟机追踪

perfino可以追踪整个VM边界事务:

  • EJB追踪

  • Web服务跟踪

  • RMI追踪

  • 图形调用

商业交易策略

perfino提供了多种方法来定义有问题的商业交易:

  • 严重延迟的交易

  • 逾期交易

  • 交易错误

  • 违规策略的单独记录

  • 违规策略的方法取样

  • 常见的策略操作

  • 基于交易命名的专业策略

数据库操作的监视

数据库使用特异探针对每个数据类型进行测量:

  • JDBC监控

  • JPA/Hibernate监控

  • NoSQL监控

  • 数据库操作的热点

  • 调用树的数据库操作

方法级采样

在特殊情况下,perfino在每个交易的基础上记录单线程方法级别调用树:

  • 在每个交易的基础上定期取样

  • 采样的违规策略

  • 方法级样本的数据库操作

  • 方法级样本的跨虚拟机追踪

  • 多个样本取均值

  • 按需抽样

末端用户体验监控

perfino可以在浏览器监视页面加载时间,并与商业交易服务器进行关联:

  • 为所有的Web请求样本测量页面加载时间

  • 支持所有主要的应用服务器

  • servlet请求中全方位透明监控脚本

  • 页面加载时间计算

遥测数据

perfino从广泛的标量数据源中记录遥测数据:
  • VM遥测

  • 数据检测

  • 遥测探头

  • MBean遥测

  • Devops遥测

  • 未定义保留数据与自动聚合

阈值

遥测可以在一定范围内被定义和监控:

  • 阈值上限与下限的定义

  • 避免违例重复阈值选项

  • 虚拟机组的违例阀值计算

触发器和提示

关于策略和阈值的违规操作列表可以被执行:

  • 策略触发

  • 阈值触发

  • 连接记数触发

  • 活动通知

  • 数据收集活动

  • 提示

内存监控

perfino提供内置高效的内存监控:

  • 加载类别和计数实例

  • 周期和按需快照

  • 历史比较

  • HPROF快照活动

MBean浏览器

您可以利用JMX检查和控制您的应用程序:

  • 无JMX服务器连接的MBeans访问

  • 显示复杂的MBean数据

  • 编辑MBean属性

  • 调用MBean操作

  • 监测数值

剖析整合

perfino集成了JProfiler,可以更方便广泛的收集需要数据:

  • 按需加载本机配置代理

  • 低开销JVMTI采样模式

内部部署

perfino可以部署,在交互或无人值守模式下进行配置:

  • 支持所有主要平台

  • 无人模式下安装

  • 监控代理的自动更新

  • 配置的存入和调出

  • 可分别部署收集器服务器和UI服务器

  • perfino UI访问的用户管理限制

  • H2的内部数据库或外部MySQL数据库


你可能感兴趣的:(perfino——JVM监测工具)