广告
返回顶部
首页 > 资讯 > 后端开发 > Python >SpringBoot配置Actuator组件,实现系统监控
  • 570
分享到

SpringBoot配置Actuator组件,实现系统监控

2024-04-02 19:04:59 570人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录一、Actuator简介二、与SpringBoot2.0整合 1、核心依赖jar包2、Yml配置文件三、监控接口详解 1、Info接口2、Health接口3、

一、Actuator简介

监控分类

  • Actuator 提供Rest接口,展示监控信息。
  • 接口分为三大类:
  • 应用配置类:获取应用程序中加载的应用配置、环境变量、自动化配置报告等与springBoot应用相关的配置类信息。
  • 度量指标类:获取应用程序运行过程中用于监控的度量指标,比如:内存信息、线程池信息、Http请求统计等。
  • 操作控制类:提供了对应用的关闭等操作类功能。

二、与SpringBoot2.0整合 

1、核心依赖Jar包


<!-- 监控依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

2、Yml配置文件


# 端口
server:
  port: 8016

spring:
  application:
    # 应用名称
    name: node16-boot-actuator

management:
  endpoints:
    WEB:
      exposure:
        # 打开所有的监控点
        include: "*"
      # 自定义监控路径 monitor
      # 默认值:http://localhost:8016/actuator/*
      # 配置后:http://localhost:8016/monitor/*
      base-path: /monitor
  endpoint:
    health:
      show-details: always
    shutdown:
      # 通过指定接口关闭 SpringBoot
      enabled: true
  # 可以自定义端口
  # server:
  #   port: 8089

# 描述项目基础信息
info:
  app:
    name: node16-boot-actuator
    port: 8016
    version: 1.0.0
    author: cicada

三、监控接口详解 

1、Info接口

Yml文件中配置的项目基础信息


路径:http://localhost:8016/monitor/info
输出:
{
    "app": {
        "name": "node16-boot-actuator",
        "port": 8016,
        "version": "1.0.0",
        "author": "cicada"
    }
}

2、Health接口

health 主要用来检查应用的运行状态


路径:http://localhost:8016/monitor/health
输出:
{
    "status": "UP",
    "details": {
        "diskSpace": {
            "status": "UP",
            "details": {
                "total": 185496236032,
                "free": 140944084992,
                "threshold": 10485760
            }
        }
    }
}

3、Beans接口

展示了 bean 的类型、单例多例、别名、类的全路径、依赖Jar等内容。


路径:http://localhost:8016/monitor/beans
输出:
{
    "contexts": {
        "node16-boot-actuator": {
        "beans": {
            "endpointCachinGoperationInvokerAdvisor": {
                "aliases": [],
                "scope": "singleton",
                "type": "org.springframework.boot.actuate.endpoint.invoker.cache.CachingOperationInvokerAdvisor",
                "resource": "class path resource [org/springframework/boot/actuate/autoconfigure/endpoint/EndpointAutoConfiguration.class]",
                "dependencies": ["environment"]
            }
        }
    }
}

4、Conditions接口

查看配置在什么条件下有效,或者自动配置为什么无效。


路径:http://localhost:8016/monitor/conditions
输出:
{
    "contexts": {
        "node16-boot-actuator": {
            "positiveMatches": {
                "AuditAutoConfiguration#auditListener": [{
                    "condition": "OnBeanCondition",
                    "message": "@ConditionalOnMissingBean"
                }],
    }
}

5、HeapDump接口

自动生成JVM的堆转储文件HeapDump,可以使用监控工具 VisualVM 打开此文件查看内存快照。


路径:http://localhost:8016/monitor/heapdump

6、Mappings接口

描述 URI 路径和控制器的映射关系


路径:http://localhost:8016/monitor/mappings
输出:
{
    "contexts": {
        "node16-boot-actuator": {
            "mappings": {
                "dispatcherServlets": {
                    "dispatcherServlet": [ {
                        "handler": "Actuator web endpoint 'auditevents'",
                        "predicate": "{GET /monitor/auditevents || application/JSON]}",
                        "details": {
                            "handlerMethod": {
                                "className": "org.springframework.boot.actuate.endpoint.web.servlet.AbstractWebmvcEndpointHandlerMapping.Operat
                                "name": "handle",
                                "descriptor": "(Ljavax/servlet/http/httpservletRequest;Ljava/util/Map;)Ljava/lang/Object;"
                            },
                            "requestMappinGConditions": {
                                "consumes": [],
                                "headers": [],
                                "methods": ["GET"],
                                "params": [],
                                "patterns": ["/monitor/auditevents"],
                                "produces": [{
                                    "mediaType": "application/vnd.spring-boot.actuator.v2+json",
                                    "negated": false
                                }, {
                                    "mediaType": "application/json",
                                    "negated": false
                                }]
                            }
                        }
                    }
            }
    }
}

7、ThreadDump接口

展示线程名、线程ID、是否等待、线程的状态、线程锁等相关信息。


路径:http://localhost:8016/monitor/threaddump
输出:
{
    "threads": [{
        "threadName": "DestroyJavaVM",
        "threadId": 34,
        "blockedTime": -1,
        "blockedCount": 0,
        "waitedTime": -1,
        "waitedCount": 0,
        "lockName": null,
        "lockOwnerId": -1,
        "lockOwnerName": null,
        "inNative": false,
        "suspended": false,
        "threadState": "RUNNABLE",
        "stackTrace": [],
        "lockedMonitors": [],
        "lockedSynchronizers": [],
        "lockInfo": null
    }
    ]
}

8、ShutDown接口

优雅关闭 Spring Boot 应用,默认只支持POST请求。


路径:http://localhost:8016/monitor/shutdown

四、源代码地址 

GitHub地址:知了一笑
https://github.com/cicadasmile/spring-boot-base
码云地址:知了一笑
https://gitee.com/cicadasmile/spring-boot-base

以上就是SpringBoot配置Actuator组件,实现系统监控的详细内容,更多关于SpringBoot配置Actuator的资料请关注编程网其它相关文章!

--结束END--

本文标题: SpringBoot配置Actuator组件,实现系统监控

本文链接: https://www.lsjlt.com/news/128555.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作