快速业务通道

Java运行时监控,第3部分: 监控应用程序生态系统的性能与可用性(1) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
化解析来说都是很重要的问题,而这个 shell 支持的命令有限。清单 7 展示了命令的输出:

清单 7. CSS Telnet 命令的输出

Service Name           State   Conn Weight Avg  State                              Load Transitions ecommerce1_ssl          Alive     0   1  255      0 ecommerce2_ssl          Down     0   1  255      0 admin1_ssl            Alive     0   1   2     2982 admin2_ssl            Down     0   1  255      0 clientweb_ssl          Alive     0   1  255      0

清单 8 展示了用于执行和解析命令的命令集。注意 <preFormatter beanName="FormatCSSServiceResult"/> 标记。它引用了一个包含几行 Groovy 脚本的 Spring bean。Telnet shell 命令的原始输出被传给 Groovy 脚本,然后返回值以一种更友好的格式被传给命令数据提取器。还要注意的是,为了标记为 Status 的列中的值,跟踪器类型被覆盖成了 STRING 类型。眼光尖锐的读者将会注意到这个列不存在,但是 Groovy 脚本的一部分工作就是解决两个列均使用 State 名的问题(您知道这其中的原委),所以 Groovy 脚本将第一个列重命名为 Status。

清单 8. CSS CommandSet

<CommandSet name="CiscoCSS">
   <Commands>
      <Command>
         <shellCommand>show service summary</shellCommand>
       <paragraphSplitter>\n\n\n\n</paragraphSplitter>
       <preFormatter beanName="FormatCSSServiceResult"/>
       <Extractors>
          <CommandResultExtract>
             <paragraph id="0" name="Service Summary" header="true"/>
        <columns entryName="0" values="1-5" offset="0"/>
        <tracers default="SINT">
           <tracer type="STRING">Status</tracer>
        </tracers>
        <lineSplit>\n</lineSplit>
          </CommandResultExtract>
       </Extractors>
         </Command>
   </Commands>
</CommandSet>

Java运行时监控,第3部分: 监控应用程序生态系统的性能与可用性(1)(8)

时间:2011-02-13 IBM Nicholas Whitehead

Groovy bean 的益处有很多。首先,它的脚本是动态配置的,所以可以在运行时更改它。其次,该 bean 可以检测出源发生了变更,并会在下一次调用它时调用 Groovy 编译器,所以它的性能是足够好的。此外,此种语言含有丰富的解析功能,且容易编写。清单 9 展示了包含内联源代码文本的 Groovy bean:

清单 9. Groovy 格式化 bean

<bean id="FormatCSSServiceResult"
   class="org.runtimemonitoring.spring.groovy.GroovyScriptManager"
   init-method="init" lazy-init="false">
   <property name="sourceCode"><value><![CDATA[
      String[] lines = formatTarget.toString().split("\r\r\n");
      StringBuffer buff = new StringBuffer();
      lines.each() {
         if(!(
            it.contains("Load  Transitions") ||
            it.contains("show service summary&

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号