Java运行时监控,第3部分: 监控应用程序生态系统的性能与可用性(1) - 编程入门网
化解析来说都是很重要的问题,而这个 shell 支持的命令有限。清单 7 展示了命令的输出:
清单 7. CSS Telnet 命令的输出
清单 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 WhiteheadGroovy 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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |