`
k19421
  • 浏览: 70673 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

spring集成dropwizard metrics

    博客分类:
  • java
 
阅读更多

dropwizard metrics是一个非常有用的监控工具

我用他来做远程接口的调用次数,响应时间监控,项目是基于spring的,怎么把metrics集成进来呢

话不多少,直接上代码

1、在pom.xml中添加依赖

        <dependency>
            <groupId>com.ryantenney.metrics</groupId>
            <artifactId>metrics-spring</artifactId>
            <version>3.1.3</version>
        </dependency>
        <dependency>
            <groupId>io.dropwizard.metrics</groupId>
            <artifactId>metrics-servlets</artifactId>
            <version>3.1.2</version>
        </dependency>

 2、添加一个spring的配置文件,让spring能读取到

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:metrics="http://www.ryantenney.com/schema/metrics"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                        http://www.springframework.org/schema/beans/spring-beans.xsd
                        http://www.ryantenney.com/schema/metrics
                        http://www.ryantenney.com/schema/metrics/metrics.xsd ">
    <!-- Creates a MetricRegistry bean -->
    <metrics:metric-registry id="metricRegistry" />

    <!-- Creates a HealthCheckRegistry bean (Optional) -->
    <metrics:health-check-registry id="health" />

    <!-- Registers BeanPostProcessors with Spring which proxy beans and capture metrics -->
    <!-- Include this once per context (once in the parent context and in any subcontexts) -->
    <metrics:annotation-driven metric-registry="metricRegistry" />

    <!-- 将registry注入到ServletContextAttribute中
         AdminServlet需要使用到这两个属性-->
    <bean
            class="org.springframework.web.context.support.ServletContextAttributeExporter">
        <property name="attributes">
            <map>
                <entry key="com.codahale.metrics.servlets.MetricsServlet.registry">
                    <ref bean="metricRegistry" />
                </entry>
                <entry key="com.codahale.metrics.servlets.HealthCheckServlet.registry">
                    <ref bean="health" />
                </entry>
            </map>
        </property>
    </bean>
</beans>

 3、在web.xml中添加servlet配置,方便通过servlet直接读取统计到的数据

<servlet>
        <servlet-name>AdminServlet</servlet-name>
        <servlet-class>com.codahale.metrics.servlets.AdminServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>AdminServlet</servlet-name>
        <url-pattern>/dropwizard/*</url-pattern>
    </servlet-mapping>

 4、在需要监控的方法上面加上类似@Timed的注解

5、打开浏览器,输入localhost:8080/dropwizard就可以看到一个监控菜单了

(网络有点扯淡,上传不了图片了)

6、默认他的方法耗时的单位是秒,执行频率是次/秒,如果需要修改成毫秒,次/分钟,需要在web.xml中添加如下配置

    <context-param>
        <param-name>com.codahale.metrics.servlets.MetricsServlet.durationUnit</param-name>
        <param-value>MILLISECONDS</param-value>
    </context-param>
    <context-param>
        <param-name>com.codahale.metrics.servlets.MetricsServlet.rateUnit</param-name>
        <param-value>MINUTES</param-value>
    </context-param>

 

 

 

 

分享到:
评论

相关推荐

    metrics-3.1.3-release

    5. **集成**:Dropwizard Metrics可以轻松地与其他框架和库集成,如Spring、Jetty、Cassandra等。这使得在实际项目中应用Metrics变得非常简单。 6. **时态指标**:Metrics支持时态指标,可以跟踪数据随时间的变化,...

    metrics-spring, 用于度量的Spring Integration.zip

    metrics-spring, 用于度量的Spring Integration spring的#Metrics ##Aboutmetrics-spring 模块集成了 Dropwizard度量库和 spring,并提供了XML和Java配置。这里模块执行以下操作:创建包含使用 @Timed 。@

    spring-boot-jvm-monitoring-demo:使用Dropwizard指标库在Spring Boot应用程序中公开JVM指标的演示

    总的来说,“spring-boot-jvm-monitoring-demo”项目提供了一个实战示例,展示了如何在Spring Boot应用中集成Dropwizard Metrics来监控JVM指标,这对于理解和优化应用性能至关重要。通过学习这个项目,开发者可以更...

    Metrics3.0集成SpringMVC

    集成Metrics3.0到SpringMVC项目中,首先需要在项目的pom.xml文件中引入Metrics3.0的Spring支持依赖,例如`metrics-spring`库: ```xml &lt;groupId&gt;io.dropwizard.metrics &lt;artifactId&gt;metrics-spring &lt;version&gt;3....

    metricsui:监控 Spring Boot 应用程序

    首先,`metricsui` 是一个轻量级的监控解决方案,它提供了一个用户界面,用于展示Spring Boot应用中集成的Dropwizard Metrics的度量数据。Dropwizard Metrics是一个强大的库,能够收集和报告应用程序的各种运行时...

    spring-data-neo4j-cross-store-3.0.1.RELEASE.zip

    综上所述,"spring-data-neo4j-cross-store-3.0.1.RELEASE.zip"和"metrics-new-relic.zip"涉及了Spring Data Neo4j对图形数据库的集成,以及DropWizard和新Relic在性能监控方面的应用。这些工具和技术都是现代Java...

    blog-metrics:用于使用 dropwizard 指标和 statsd 配置 Spring Boot 应用程序的源存储库

    通过在Spring Boot应用中集成Dropwizard,我们可以获取到诸如内存使用、线程状态、请求处理时间等关键性能指标,这些数据对于理解和优化应用性能至关重要。 在Spring Boot中配置Dropwizard指标,通常需要以下步骤:...

    flume-jdbc-channel-1.5.0.1.zip

    【描述】"dropwizard-spring.zip, DropWizard的Spring集成" 提到了DropWizard和Spring的整合。DropWizard是一个用于构建高性能、生产就绪的Java微服务的工具包。它包含了Jetty服务器、Jersey RESTful服务、Jackson ...

    java仓储管理系统源码-xdiamond:全局配置中心

    和spring集成,使用简单 完善的权限系统 集成LDAP登陆,支持同步LDAP组/用户 支持http RESTful api获取配置 以secret key防止非法获取配置 丰富的metrics, connection统计 使用技术 netty mybatis spring mvc shiro ...

    dropwizard一个非常简单的库用于构建生产就绪RESTWeb服务

    4. **Metrics**:Dropwizard集成了CodaHale Metrics库,用于收集和报告应用程序的运行时指标,如内存使用、请求处理时间和异常计数等。这有助于监控服务的健康状况,及时发现性能瓶颈。 5. **YAML配置**:...

    Metrics是一个Java库,它可以让您对代码在生产中的作用有无与伦比的了解

    5. **集成支持(Integration)**:Metrics与其他流行的Java框架如Spring、Jersey、Dropwizard等有良好的集成,可以直接在这些框架中使用Metrics进行监控。 6. **版本4.2.x**:您提到的`metrics-release-4.2.x`表示...

    sample-dropwizard:Dropwizard 练习

    Dropwizard 集成了 Metrics 库,可以收集和报告服务的性能指标,如请求速率、内存使用情况等。这些信息对于监控和优化服务非常有价值。 10. **日志管理** Dropwizard 使用 Logback 进行日志记录,可以在配置文件...

    基于java的数据监控与管理平台技术实现.zip

    其次,对于数据收集,我们可以利用Java的Metrics库,如Dropwizard Metrics或micrometer,它们提供了丰富的指标接口,可以监控CPU使用率、内存分配、线程状态以及HTTP请求等。通过这些指标,我们可以实时了解系统的...

    基于Java的监控框架.zip

    - **Dropwizard Metrics**:一个强大的度量库,支持多种度量类型,包括计数器、定时器、直方图等,可以与其他监控系统(如Graphite、Elasticsearch)集成。 - **Zipkin**:专注于收集和可视化微服务架构中的调用链...

    HikariCP所需jar包

    2. **metrics-healthchecks-3.1.2.jar**:这是Dropwizard Metrics库的一部分,用于健康检查。HikariCP可以通过这个库提供的接口,对连接池的状态进行实时监控,比如检查连接的有效性,及时发现并处理可能存在的问题...

    java实现的监控某平台的后端代码.zip

    4. **性能指标收集**:可以使用第三方库如Metrics(Dropwizard Metrics)、Micrometer等来收集如响应时间、请求数量、错误率等指标。 5. **Spring Boot Actuator**:对于基于Spring Boot的应用,Actuator提供了丰富...

    Announcements-1.1.0.zip

    在实际应用中,"metrics-cloudwatch"可以与其他Java应用框架(如Spring、Dropwizard等)无缝集成。通过在应用程序中引入这个库,只需简单的配置即可实现度量数据的自动上报。例如,可以使用以下方式初始化...

    spring-boot-firehose:Spring 启动库使用 firehose 事件并转换为 dropwizar 指标

    标题 "spring-boot-firehose:Spring 启动库使用 firehose 事件并转换为 dropwizard 指标" 描述了一个将 Spring Boot 应用程序与 Amazon Web Services (AWS) 的 Firehose 服务集成的项目。Firehose 是 AWS Kinesis 的...

    java做的监控应用实例

    9. **自定义监控指标**:除了上述标准监控项,还可以根据业务需求定义自定义指标,通过`Metrics`框架(如Dropwizard Metrics)来收集和报告。 10. **监控告警**:当监控数据超过预设阈值时,应触发告警通知开发者。...

    RESTful-Web-Services-with-Dropwizard:Safari图书-使用Dropwizard的RESTful Web服务

    - **安全认证**:可以集成Jersey Security或Spring Security实现用户认证和授权。 - **健康检查**:Dropwizard提供了健康检查接口,可以检查应用的运行状态,确保服务的可用性。 - **日志管理**:利用Logback或Log4j...

Global site tag (gtag.js) - Google Analytics