集成服务监控器-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效果如下:

建立自己的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

 

作者:破  狼 
出处:http://www.cnblogs.com/whitewolf/ 
本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。该文章也同时发布在我的独立博客中-个人独立博客博客园--破狼51CTO--破狼。http://www.cnblogs.com/whitewolf/archive/2013/05/26/3100241.html

时间: 2024-10-03 10:27:44

集成服务监控器-green.monitor发布的相关文章

Java核心技术 卷Ⅰ 基础知识(原书第10版)

Java核心技术系列 Java核心技术 卷Ⅰ 基础知识 (原书第10版) Core Java Volume I-Fundamentals (10th Edition) [美] 凯S.霍斯特曼(Cay S. Horstmann) 著 周立新 陈 波 叶乃文 邝劲筠 杜永萍 译 图书在版编目(CIP)数据 Java核心技术 卷Ⅰ 基础知识(原书第10版) / (美)凯S. 霍斯特曼(Cay S. Horstmann)著:周立新等译. -北京:机械工业出版社,2016.8 (Java核心技术系列) 书

java线程简介 -共享对数据的访问

共享变量 要使多个线程在一个程序中有用,它们必须有某种方法可以互相通信或共享它们的结果. 让线程共享其结果的最简单方法是使用共享变量.它们还应该使用同步来确保值从一个线程正确传播到另一个线程,以及防止当一个线程正在更新一些相关数据项时,另一个线程看到不一致的中间结果. 线程基础中计算素数的示例使用了一个共享布尔变量,用于表示指定的时间段已经过去了.这说明了在线程间共享数据最简单的形式是:轮询共享变量以查看另一个线程是否已经完成执行某项任务. 存在于同一个内存空间中的所有线程 正如前面讨论过的,线

Java核心技术卷I基础知识1.4 Java发展简史

1.4 Java发展简史 本节将介绍Java的发展简史.这些内容来自很多出版资料(最重要的是SunWorld的在线杂志1995年7月刊上对Java创建者的专访). Java的历史要追溯到1991年,由Patrick Naughton和James Gosling(一个全能的计算机奇才)带领的Sun公司的工程师小组想要设计一种小型的计算机语言,主要用于像有线电视转换盒这类的消费设备.由于这些消费设备的处理能力和内存都很有限,所以语言必须非常小且能够生成非常紧凑的代码.另外,由于不同的厂商会选择不同的

关键词研究和竞争搜索对显示广告活动的影响

关键词包含了很多信息 对于网络媒体战略家来说,现有的按点击付费的广告活动可以说是信息的宝库.不同关键词的效果可以帮助他们创建不同风格的活动,从创作理念.广告文本.网站撰稿,到追踪位置.新的利基机会等.如果没有现成的按点击付费的广告活动可参考呢?那你可以为一项新启动的点击付费广告活动对以上所说的几个方面进行关键词研究. 这个可以从使用点击付费广告专家常用的关键词研究工具开始: 网站分析:了解哪些关键词已经证实会将流量带入某网站.这些流量会流向网站的哪些内容.以及这些流量是否会转换成目标行为等是非常

微软发布Linux集成服务3.5扩大开源支持

微软Hyper-V项目经理Ben Armstrong在一篇博客中宣布,他们"将扩展发行版支持范围,包括Red Hat Enterprise Linux/CentOS 5.5和Red Hat Enterprise Linux/CentOS 5.6."他补充说,该软件包"带来人们梦寐以求的功能,如动态内存,动态虚拟机备份到旧的RHEL版本." Linuxhttp://www.aliyun.com/zixun/aggregation/14194.html">

Linux Sys Monitor 系统运维监控器进程简介

本项目属于个人项目.本人在经常与测试工程师.工程实施工程师.运维人员的交流沟通时,发现Linux系统很不容易操作和维护. 除了用SSH.Xmanager,没有其它的好用的工具了. 所以突发奇想,是不是能做一款可视化的不用输命令行的界面工具呢? 比如很麻烦的配置一个FTP就需要设很多东西. 如果几十台机要配,是不是很费时间? 如果几十台机需要查看硬件的运行情况是不是很有难度. 虽然有些开源的web方式监控的,但是功能都不全,也不能一目了然. 也不能及时的发报警通知管理员. 对于黑客.木马的防范手段

Fido File Monitor 1.0.7发布 多线程文件监测器

Fido http://www.aliyun.com/zixun/aggregation/19352.html">File Monitor 是一个多线程文件监测器,用于用户自定义模式的实时文件搜索.当它查找到一个匹配时,则运行一个用户定义的程序.它适用于监测日志文件的问题且进行响应,目的是认识到日志文件循环,并从​​新文件开始监测. Fido File Monitor 1.0.7该版本增加了文件印戳的监测.除了解析模式匹配的文件,FIDO现在可以查看文件的时间戳.如果修改日期的变化,FID

Caché Monitor 1.61发布 SQL开发工具

Caché Monitor是一个InterSystems的数据库5603.html">缓存的SQL开发工具.它采用高级SQL查询编辑器与SQL语法高亮,实现数据库对象(也被称为智能感知)范围内的感知信息,SQL历史记录缓冲区,SQL代码格式化,查询,图形化的SQL的执行计划,SQL缩写,等等. 官方网址:http://www.cachemonitor.de/ Caché Monitor 1.61版本支持处理多个文件的​​数据库驱动程序. 下载地址:http://www.cachemonit

Filemonitor 1.6发布 文件监控器

Filemonitor是一个用于在打开和关闭文件时的文件监控器. Filemonitor 1.6该版本中的主体添加了一个扩展的选项,如查询. 软件信息:http://glsof.sourceforge.net/ 下载地址:http://sourceforge.net/projects/glsof/files/filemonitor-1.6.tar.gz/download