集成服务监控器-green.monitor发布-阿里云开发者社区

开发者社区> 技术小胖子> 正文

集成服务监控器-green.monitor发布

简介:
+关注继续查看

   在大型企业应用开发中,一个项目经常需要依赖于多个项目集成,经常某个集成服务的升级或者不工作,会导致你所工作的服务也挂掉,甚至影响你的开发流程。你是否还在接到测试团队或者运维团队的某个Bug,而自己花费了大量时间终于查出来是某个集成服务升级或异常,在这里浪费了大量时间,在笔者为所在项目建立了一个第三方集成服务监控的Monitor,去实时监控项目所依赖的所有集成服务,数据库。现在开源在github https://github.com/greengerong/green-monitor,在其sample目录下有个使用demo。

maven dependency

<dependency>

<groupId>com.github.greengerong</groupId>

<artifactId>green.monitor</artifactId>

<version>1.2</version>

</dependency>


demo效果如下:

26183719-93e330e6d3b04c219f0ea423b973a35

建立自己的monitor:

1:首先在你spring mvc web project 的 pom文件中引 入green-monitor的dependency。(spring 3.0以上)
2:在spring mvc的 ioc context config中启用annotation dirver,如下xml:


<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"                     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xmlns:p="http://www.springframework.org/schema/p"         xmlns:mvc="http://www.springframework.org/schema/mvc"         xmlns:context="http://www.springframework.org/schema/context"         xmlns:util="http://www.springframework.org/schema/util"         xsi:schemaLocation="http://www.springframework.org/schema/beans               http://www.springframework.org/schema/beans/spring-beans-3.0.xsd               http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd               http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd               http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd">

   <mvc:annotation-driven/><context:component-scan base-package="green.monitor"/>

   <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>

   <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">

   <property name="prefix"><value>/WEB-INF/pages/</value></property>

   <property name="suffix"><value>.jsp</value></property>

   </bean>

</beans>



3:在项目resources(mian/resources)下建立monitor-config.xml。如果需要 在不同环境配置不同信息,可以在运行机器上加入key为appenv的环境变量,程序会根据不同agent加载monitor-config.[appenv].xml配置文件.或者利用mavn,gradle这类构建工具按环境输出配置信息。

配置文件形如:

<?xml version="1.0" encoding="UTF-8"?>

<monitoring version="1.0" name="monitor-sample">

   <monitors>

       <monitor name="mock-monitor">green.monitor.demo.MockMonitorRunner</monitor>

       </monitors>

   <items>

       <item monitor="http-connection" name="hello service">

           <params>

               <param name="url">http://localhost:8080/demo/hello</param>

               <param name="method">GET</param><param name="response-code">200</param>

               <param name="param">name=success</param>

           </params>

           <description>This is a monitor for hello service.should be success.</description>

       </item>

       <item monitor="http-connection" name="error service 2">

           <params>

               <param name="url">http://localhost:8080/demo/failed</param>

               <param name="method">GET</param>

               <param name="response-code">200</param>

               <param name="param">name=must be failed</param>

           </params>

           <description>This is a monitor for error service.should be failed.</description>

       </item>

           <item monitor="mock-monitor" name="Random failed Service">

           <description>This monitor will be random failed!</description>

       </item>

   </items>

</monitoring>



这样你就可以运行monitor了,url为host + “/monitor”

扩展

1:扩展runner 同时monitor为你提供了自我特定需求扩展的机会,在xml config中你应该主意到了有个monitor的配置节,这里就可以配置你自定义runner(其实现MonitorRunner接口),配置节name则作为后边item的引用name。

系统默认加入了web-service,dababase,http-connection3个常用runner。具体使用请看demo。
2:系统提供了service为基于spring restfull api,所以你可以在其他地方展示该monitor状况。(在下一个版本将提供jsonp的跨域处理)。

  monitor project repo: https://github.com/greengerong/green-monitor




 本文转自 破狼 51CTO博客,原文链接:http://blog.51cto.com/whitewolfblog/1210584,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云IoT设备身份认证-ID² 管理控制台升级发布
在科技高度发展的时代,每天都有成千上万的物联网设备被不断的生产和制造出来。物联网让生活更方便,更智能化的同时,也带来了非常多的信息安全隐患。环顾四周,你会发现周围有很多设备都是与互联网连接的,比如智能门锁、摄像头、门铃、智能手表、汽车等等。
2964 0
继李飞飞、李佳之后,谷歌云服务CEO Diane Greene辞职
云服务市场的格局基本已定,谷歌想要突围成为前三甲,又谈何容易。
270 0
动态 | 从零开始快速入门深度强化学习,OpenAI 发布学习资源 Spinning Up
资源包含了易懂的深度强化学习代码示例、习题、文档和教程。
263 0
如何发布你的Android应用程序
  本文是从 Some Things To Know About Publishing Android Apps 这篇文章翻译而来。     到目前为止,在Android交易市场(Android Market)里,已经有我的2个应用程序了,所以,我想写出一点关于Android应用程序发布过程的东西,用来告诉那些想发布自己的应用程序的朋友们,在发布过程中会遇到哪些的事情。
963 0
Linux 命令详解(四)使用 Nmon 监控 Linux 的系统性能
使用 Nmon 监控 Linux 的系统性能 http://mp.weixin.qq.com/s/fUgHwGjoWd5IQPjlnU6zFw
907 0
21119
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载