xwiki管理指南-监控

 

以下有不同的解决方案,你可以用来监视正在运行的XWiki实例:

  • 安装配置JavaMelody
  • 使用Profiler。使用性能分析工具需要使用特别的启动脚本,比如YourKit,启动XWiki Enterprise的命令为start_xwiki_debug.sh 8080 profiler "/Applications/YourKit Java Profiler 7.0.11.app/bin/mac"
  • 从XWiki Enterprise 2.4M2开始使用JMX技术来监测运行时XWiki实例,目前以下功能可供选择:
    • 监控Velocity macro caches
    • 监控JBoss Cache,用户、组等文件数据缓存
    • (从XE 3.1开始)监控JGroups channel以及protocols(当启动集群功能)
    • (从XE 3.1开始)监控Logback 日志配置

XWiki也有一个Monitor Plugin可以用来监控执行时间。但是这个插件将被弃用,并在未来通过JMX技术所取代。

JavaMelody

为XWiki安装JavaMelody请按以下步骤(详细请查看JavaMelody user guide用户指南):

  • 下载最新的javamelody.jar和jrobin-x.jar 并放在WEB-INF/lib文件下
  • 编辑web.xml并添加以下信息:

    ...

     monitoring
     net.bull.javamelody.MonitoringFilter

    ... other s from the default web.xml here ...


     monitoring
     /*

    ... other s from the default web.xml here ...


     net.bull.javamelody.SessionListener

    ... other s from the default web.xml here ...
    ...

  • 编辑hibernate.cfg.xml并添加:

    name="jdbc.factory_class">net.bull.javamelody.HibernateBatcherFactory

然后重新启动XWiki并通过http://localhost:8080/xwiki/monitoring访问JavaMelody 

JMX控制台

由于JMX是一个标准,你可以使用任何兼容JMX的控制台(大多数应用服务器提供了一个基于Web的JMX控制台)。JDK自带的监控分析工具JConsole。要启动它,只需执行JConsole的可执行文件。

请注意,开始从XWiki 6.3开始,如果您使用的是Standalone Distribution安装(打包好的zip其中捆绑jetty),你现在可以使用start_xwiki.sh -j(或 start_xwiki.sh --jmx)来监控/管理jetty实例(添加Jetty-specific MBeans):

xwiki管理指南-监控_第1张图片

XWiki监控缓存

XWiki可以使用不同的缓存实现。如下面所示

从XWiki 3.3开始,默认的实现是JBoss Infinispan

JBoss Infinispan

由于JBoss Infinispan原生支持JMX,我们可以直接利用这个特性

在此之前XWiki Enterprise 3.5 默认是不支持JMX。若要启用它,编辑WEB-INF/cache/infinispan/config.xml,并取消提及"jmx"两个地方的注释

以下显示了缓存列表:

xwiki管理指南-监控_第2张图片

如何清除一个给定的缓存中的所有项:

xwiki管理指南-监控_第3张图片

JBoss Cache

由于JBoss Cache原生支持JMX,我们可以直接利用这个特性。

以下显示在内存中运行的实例的所有JBoss缓存,展示缓存(例如对文件缓存)中的所有元素:

xwiki管理指南-监控_第4张图片

显示缓存统计数据 (用于文档缓存):

xwiki管理指南-监控_第5张图片

监控Velocity缓存

XWiki提供Velocity缓存内容的JMX视图。

如下:

xwiki管理指南-监控_第6张图片

xwiki管理指南-监控_第7张图片

监控JGroups

使用JConsole监控JGroups:

xwiki管理指南-监控_第8张图片

除了使用JGroups还可以通过日志观察:

  • 更改日志级别,启用日志记录
  • 从集群断开节点,并重新连接

监控Logback

使用JConsole展示怎么修改日志级别:

xwiki管理指南-监控_第9张图片

Tomcat JMX Proxy Servlet

JMX Proxy Servlet是用来获取和设置Tomcat内部组织的轻型代理。

下面是使用JMX Servlet Proxy来展示和设置JGroups Protocol Levels的一些有用的url:

  • 展示TCPPING协议当前日志级别:http://localhost:8080/manager/jmxproxy?qry=jgroups:type=protocol,cluster=event,protocol=TCPPING
  • 设置TCPPING协议日志级别为info:http://localhost:8080/manager/jmxproxy?set=jgroups:type=protocol,cluster=event,protocol=TCPPING&att=Level&val=info

更多

  • 在一个Wiki页面编写Groovy脚本来访问JMX MBean。
  • JMX Monitoring Application
  • XInit

你可能感兴趣的:(xwiki管理指南)