集成服务监控器-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




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

相关文章
|
5月前
|
人工智能 API 开发工具
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
GitHub MCP Server是基于Model Context Protocol的服务器工具,提供与GitHub API的无缝集成,支持自动化处理问题、Pull Request和仓库管理等功能。
1080 2
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
|
Java Maven Windows
使用Java创建集成JACOB的HTTP服务
本文介绍了如何在Java中创建一个集成JACOB的HTTP服务,使Java应用能够调用Windows的COM组件。文章详细讲解了环境配置、动态加载JACOB DLL、创建HTTP服务器、实现IP白名单及处理HTTP请求的具体步骤,帮助读者实现Java应用与Windows系统的交互。作者拥有23年编程经验,文章来源于稀土掘金。著作权归作者所有,商业转载需授权。
261 2
使用Java创建集成JACOB的HTTP服务
|
11月前
|
存储 数据可视化 Java
基于MicrometerTracing门面和Zipkin实现集成springcloud2023的服务追踪
Sleuth将会停止维护,Sleuth最新版本也只支持springboot2。作为替代可以使用MicrometerTracing在微服务中作为服务追踪的工具。
470 2
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
Voice-Pro:开源AI音频处理工具,集成转录、翻译、TTS等一站式服务
Voice-Pro是一款开源的多功能音频处理工具,集成了语音转文字、文本转语音、实时翻译、YouTube视频下载和人声分离等多种功能。它支持超过100种语言,适用于教育、娱乐和商业等多个领域,为用户提供一站式的音频处理解决方案,极大地提高工作效率和音频处理的便捷性。
660 10
Voice-Pro:开源AI音频处理工具,集成转录、翻译、TTS等一站式服务
|
9月前
|
监控 jenkins Linux
从 Jenkins 持续集成出发:探究如何监控员工电脑屏幕
Jenkins 在企业信息化管理中用于自动化构建、测试和部署,提高开发效率。本文讨论了其重要性,并从技术角度探讨了屏幕监控的可能性,但明确反对非法监控,强调应合法合规地管理企业和尊重员工隐私。
165 12
|
10月前
|
存储 Prometheus 运维
在云原生环境中,阿里云ARMS与Prometheus的集成提供了强大的应用实时监控解决方案
在云原生环境中,阿里云ARMS与Prometheus的集成提供了强大的应用实时监控解决方案。该集成结合了ARMS的基础设施监控能力和Prometheus的灵活配置及社区支持,实现了全面、精准的系统状态、性能和错误监控,提升了应用的稳定性和管理效率。通过统一的数据视图和高级查询功能,帮助企业有效应对云原生挑战,促进业务的持续发展。
251 3
|
11月前
|
存储 Java 开发工具
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
阿里云OSS(Object Storage Service)是一种安全、可靠且成本低廉的云存储服务,支持海量数据存储。用户可通过网络轻松存储和访问各类文件,如文本、图片、音频和视频等。使用OSS后,项目中的文件上传业务无需在服务器本地磁盘存储文件,而是直接上传至OSS,由其管理和保障数据安全。此外,介绍了OSS服务的开通流程、Bucket创建、AccessKey配置及环境变量设置,并提供了Java SDK示例代码,帮助用户快速上手。最后,展示了如何通过自定义starter简化工具类集成,实现便捷的文件上传功能。
2722 7
【三方服务集成】最新版 | 阿里云OSS对象存储服务使用教程(包含OSS工具类优化、自定义阿里云OSS服务starter)
|
10月前
|
安全 测试技术 数据安全/隐私保护
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
原生鸿蒙应用市场开发者服务的技术解析:从集成到应用发布的完整体验
|
11月前
|
开发框架 .NET API
Windows Forms应用程序中集成一个ASP.NET API服务
Windows Forms应用程序中集成一个ASP.NET API服务
193 9
|
11月前
|
安全 Java 测试技术
ToB项目身份认证AD集成(二):快速搞定window server 2003部署AD域服务并支持ssl
本文详细介绍了如何搭建本地AD域控测试环境,包括安装AD域服务、测试LDAP接口及配置LDAPS的过程。通过运行自签名证书生成脚本和手动部署证书,实现安全的SSL连接,适用于ToB项目的身份认证集成。文中还提供了相关系列文章链接,便于读者深入了解AD和LDAP的基础知识。
469 0

热门文章

最新文章