zoukankan      html  css  js  c++  java
  • SpringBoot Actuator 服务监控与管理

    Maven 依赖

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    View Code

    配置Actuator

    # 若要访问端点信息,需要配置用户名和密码
    spring:
      security:
        user:
          name: admin
          password: 123456
    management:
      # 端点信息接口使用的端口,为了和主系统接口使用的端口进行分离
      server:
        port: 8090
    #    servlet:
    #      context-path: /sys
      # 端点健康情况,默认值"never",设置为"always"可以显示硬盘使用情况和线程情况
      endpoint:
        health:
          show-details: always
      # 设置端点暴露的哪些内容,默认["health","info"],设置"*"代表暴露所有可访问的端点
      endpoints:
        web:
          exposure:
            include: '*'
    View Code

    监控信息查看http://localhost:8090/actuator/health,可查看信息列表:

    ID描述敏感(Sensitive)
    autoconfig 显示一个auto-configuration的报告,该报告展示所有auto-configuration候选者及它们被应用或未被应用的原因 true
    beans 显示一个应用中所有Spring Beans的完整列表 true
    configprops 显示一个所有@ConfigurationProperties的整理列表 true
    dump 执行一个线程转储 true
    env 暴露来自Spring ConfigurableEnvironment的属性 true
    health 展示应用的健康信息(当使用一个未认证连接访问时显示一个简单的’status’,使用认证连接访问则显示全部信息详情) false
    info 显示任意的应用信息 false
    metrics 展示当前应用的’指标’信息 true
    mappings 显示一个所有@RequestMapping路径的整理列表 true
    shutdown 允许应用以优雅的方式关闭(默认情况下不启用) true
    trace 显示trace信息(默认为最新的一些HTTP请求) true

    Micrometer

      运行良好的应用离不开对性能指标的收集。这些性能指标可以有效地对生产系统的各方面行为进行监控,帮助运维人员掌握系统运行状态和查找问题原因。性能指标监控通常由两个部分组成:第一个部分是性能指标数据的收集,需要在应用程序代码中添加相应的代码来完成;另一个部分是后台监控系统,负责对数据进行聚合计算和提供 API 接口。在应用中使用计数器、计量仪和计时器来记录关键的性能指标。在专用的监控系统中对性能指标进行汇总,并生成相应的图表来进行可视化分析。

      目前已经有非常多的监控系统,这些监控系统一般都会提供不同语言和平台使用的第三方库,这不可避免的会带来供应商锁定的问题。一旦针对某监控系统的数据收集代码添加到应用程序中,当需要切换监控系统时,也要对应用程序进行大量的修改。Micrometer 的出现恰好解决了这个问题,其作用可以类比于 SLF4J 在 Java 日志记录中的作用。

      Micrometer 为 Java 平台上的性能数据收集提供了一个通用的 API,应用程序只需要使用 Micrometer 的通用 API 来收集性能指标即可。Micrometer 会负责完成与不同监控系统的适配工作。这就使得切换监控系统变得很容易。Micrometer 还支持推送数据到多个不同的监控系统。

      Micrometer 中有两个最核心的概念,分别是计量器(Meter)和计量器注册表(MeterRegistry)。计量器表示的是需要收集的性能指标数据,而计量器注册表负责创建和维护计量器。每个监控系统有自己独有的计量器注册表实现。

      Springboot2.X后actuator中使用了Micrometer。

    集成至Prometheus(见后续篇)

  • 相关阅读:
    【原】使用Spring自带的JdbcTemplate。
    【原】MyBatis执行DDL:create table,drop table等等
    【转】java获取当前路径的几种方法
    【原】Java程序调用远程Shell脚本
    [转载] 使用Kettle进行数据迁移(ETL)
    appium原理
    python之global关键字的用法
    python之selenium定位(xpath)
    android 稳定性monkey测试
    python之selenium随记(几种等待的用法)
  • 原文地址:https://www.cnblogs.com/wishonline/p/13398406.html
Copyright © 2011-2022 走看看