spring-boot-starter-actuator 简单使用

单单一个应用使用

POM

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
            <version>1.5.6.RELEASE</version>
        </dependency>

application.yml 这里开启了SpringSecurity保护,一般应用上,我们使用form作为用户登录,如果需要监控程序,那么我们会需要一个与应用业务无关的账户.可以设置一个账户角色为admin,随便什么的,可以使用httpbasic验证

#开启shutdown的安全验证
management:
  security:
    enabled: true
    roles: USER
#  port: 8060
#  address: 127.0.0.1
  health:
    mail:
      enabled: false
#允许关闭请求
endpoints:
  shutdown:
    enabled: false

httpbasic验证,密码必须是经过basic64编码,这是编码,不是加密

带着请求头去请求,返回一大串数据

{
    "mem": 1289755,
    "mem.free": 954940,
    "processors": 4,
    "instance.uptime": 268073,
    "uptime": 286927,
    "systemload.average": -1,
    "heap.committed": 1188352,
    "heap.init": 391168,
    "heap.used": 233411,
    "heap": 5563392,
    "nonheap.committed": 103808,
    "nonheap.init": 2496,
    "nonheap.used": 101404,
    "nonheap": 0,
    "threads.peak": 64,
    "threads.daemon": 45,
    "threads.totalStarted": 151,
    "threads": 49,
    "classes": 13708,
    "classes.loaded": 13750,
    "classes.unloaded": 42,
    "gc.ps_scavenge.count": 17,
    "gc.ps_scavenge.time": 331,
    "gc.ps_marksweep.count": 3,
    "gc.ps_marksweep.time": 371,
    "counter.servo.eurekaclient.transport.request": 0,
    "gauge.servo.eurekaclient.registration.lastheartbeatsec_00015": 0,
    "gauge.servo.eurekaclient.registration.lastheartbeatsec_00030": 0,
    "normalized.servo.rest.totaltime": 1.6546110833333332,
    "normalized.servo.rest.count": 0.016666666666666666,
    "gauge.servo.rest.min": 99.276665,
    "gauge.servo.rest.max": 99.276665,
    "counter.servo.timeouts": 0,
    "counter.servo.rejectedexecutions": 0,
    "counter.servo.throwables": 0,
    "gauge.servo.threadpoolused": 0,
    "gauge.servo.eurekaclient.registry.lastupdatesec_00240": 0,
    "normalized.servo.eurekaclient.transport.latency.totaltime": 0,
    "normalized.servo.eurekaclient.transport.latency.count": 0,
    "gauge.servo.eurekaclient.transport.latency.min": 0,
    "gauge.servo.eurekaclient.transport.latency.max": 0,
    "gauge.servo.eurekaclient.registration.lastheartbeatsec_00480": 0,
    "gauge.servo.eurekaclient.transport.currentsessionduration": 261187,
    "gauge.servo.response.index": 158,
    "gauge.servo.eurekaclient.registry.lastupdatesec_00060": 0,
    "counter.servo.discoveryclient_reconcilehashcodemismatch": 0,
    "normalized.servo.discoveryclient_fetchregistry.totaltime": 0.42151759999999994,
    "normalized.servo.discoveryclient_fetchregistry.count": 0.03333333333333333,
    "gauge.servo.discoveryclient_fetchregistry.min": 9.916665,
    "gauge.servo.discoveryclient_fetchregistry.max": 15.374391,
    "counter.servo.discoveryclient_reregister": 0,
    "gauge.servo.eurekaclient.registration.lastsuccessfulheartbeattimeperiod": 471,
    "gauge.servo.eurekaclient.registry.lastsuccessfulregistryfetchtimeperiod": 20672,
    "gauge.servo.eurekaclient.registry.localregistrysize": 1,
    "gauge.servo.response.loginsuccess": 102,
    "gauge.servo.eurekaclient.resolver.lastloadtimestamp": 0,
    "gauge.servo.eurekaclient.resolver.endpointssize": 1,
    "counter.servo.eurekaclient.transport.connectionerrors": 0,
    "gauge.servo.response.dump": 387,
    "gauge.servo.response.mappings": 25,
    "gauge.servo.eurekaclient.registration.lastheartbeatsec_00120": 0,
    "gauge.servo.response.images.kaptcha.jpg": 22,
    "gauge.servo.response.invoice.invoiceinfo.tolist": 146,
    "gauge.servo.response.star-star": 24,
    "gauge.servo.eurekaclient.registration.lastheartbeatsec_00060": 0,
    "gauge.servo.eurekaclient.registration.lastheartbeatsec_00240": 0,
    "gauge.servo.response.root": 365,
    "gauge.servo.response.health": 1037,
    "gauge.servo.response.getloginerror": 25,
    "gauge.servo.eurekaclient.registry.lastupdatesec_00480": 0,
    "counter.servo.discoveryclient-httpclient_reuse": 27,
    "counter.servo.discoveryclient-httpclient_createnew": 9,
    "counter.servo.discoveryclient-httpclient_request": 36,
    "counter.servo.discoveryclient-httpclient_release": 36,
    "counter.servo.discoveryclient-httpclient_delete": 8,
    "normalized.servo.discoveryclient-httpclient_requestconnectiontimer.totaltime": 0.0035334999999999997,
    "normalized.servo.discoveryclient-httpclient_requestconnectiontimer.count": 0.13333333333333333,
    "gauge.servo.discoveryclient-httpclient_requestconnectiontimer.min": 0.016037,
    "gauge.servo.discoveryclient-httpclient_requestconnectiontimer.max": 0.050036,
    "normalized.servo.discoveryclient-httpclient_createconnectiontimer.totaltime": 0.0004543833333333333,
    "normalized.servo.discoveryclient-httpclient_createconnectiontimer.count": 0.03333333333333333,
    "gauge.servo.discoveryclient-httpclient_createconnectiontimer.min": 0.013470999999999999,
    "gauge.servo.discoveryclient-httpclient_createconnectiontimer.max": 0.013791999999999999,
    "gauge.servo.connectioncount": 1,
    "gauge.servo.eurekaclient.registry.lastupdatesec_00015": 1,
    "gauge.servo.eurekaclient.transport.quarantinesize": 0,
    "gauge.servo.response.unmapped": 270,
    "gauge.servo.response.invoice.invoiceinfo.list": 335,
    "gauge.servo.eurekaclient.registry.lastupdatesec_00120": 0,
    "normalized.servo.eureka-connection-cleaner-time.totaltime": 0.00047041666666666667,
    "normalized.servo.eureka-connection-cleaner-time.count": 0.03333333333333333,
    "gauge.servo.eureka-connection-cleaner-time.min": 0.012829,
    "gauge.servo.eureka-connection-cleaner-time.max": 0.015396,
    "counter.servo.eureka-connection-cleaner-failure": 0,
    "gauge.servo.eurekaclient.registry.lastupdatesec_00030": 0,
    "httpsessions.max": -1,
    "httpsessions.active": 0
}
HTTP方法 路径 描述 鉴权
GET /autoconfig 查看自动配置的使用情况 true
GET /configprops 查看配置属性,包括默认配置 true
GET /beans 查看bean及其关系列表 true
GET /dump 打印线程栈 true
GET /env 查看所有环境变量 true
GET /env/{name} 查看具体变量值 true
GET /health 查看应用健康指标 false
GET /info 查看应用信息 false
GET /mappings 查看所有url映射 true
GET /metrics 查看应用基本指标 true
GET /metrics/{name} 查看具体指标 true
POST /shutdown 关闭应用 true
GET /trace 查看基本追踪信息 true
时间: 2024-12-21 17:40:43

spring-boot-starter-actuator 简单使用的相关文章

手把手教你定制标准Spring Boot starter,真的很清晰

写在前面 我们每次构建一个 Spring 应用程序时,我们都不希望从头开始实现具有「横切关注点」的内容:相反,我们希望一次性实现这些功能,并根据需要将它们包含到任何我们要构建的应用程序中 横切关注点 横切关注点: 指的是一些具有横越多个模块的行为 (来自维基百科的介绍) 说白了就是多个项目或模块都可以用到的内容,比如一个 SDK 在Spring Boot中,用于表示提供这种横切关注点的模块的术语是 starter,通过依赖 starter 可以轻松使用其包含的一些功能特性,无论你的工作中是否会构

Spring Boot Starter列表

转自:http://blog.sina.com.cn/s/blog_798f713f0102wiy5.html Spring Boot Starter 基本的一共有43种,具体如下: 1)spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置.日志和YAML. 2)spring-boot-starter-amqp 通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol). 3)spring-bo

Spring Boot整合actuator实现监控管理

Spring Boot使用actuator监控管理 1.在pom文件中导入相关的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> 2.直接启动Spring Boot项目,可以看到控制台中打印如下信息 注意:Spring Boot2.

自定义的Spring Boot starter如何设置自动配置注解

本文首发于个人网站:自定义的Spring Boot starter如何设置自动配置注解 在Spring Boot实战之定制自己的starter一文最后提到,触发Spring Boot的配置过程有两种方法: spring.factories:由Spring Boot触发探测classpath目录下的类,进行自动配置: @Enable:有时需要由starter的用户触发*查找自动配置文件的过程. 实战 接着上篇文章的例子,首先将spring.factories中的内容注释掉 #org.springf

开发一个属于自己的Spring Boot Starter

关于Starter Spring Boot秉承"约定大于配置"的开发方式,使得我们基于Spring Boot开发项目的效率变得十分高.相信使用过Spring Boot的小伙伴都会发现,当我们要用到某个Spring提供的组件时,只需要在pom.xml文件中添加该组件的starter依赖就能集成到项目中. 例如,在pom.xml文件中添加spring-boot-starter-web依赖,就能让项目整合Spring MVC的功能.并且在最简使用下几乎不需要进行任何的配置,而以往想要集成Sp

基于 spring boot + mybatis-plus实现简单的转账业务

需求:aa向bb转账2000 1.准备工作 简单的数据库 2.创建springboot项目,添加依赖pom.xml 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

Spring Boot(3)---自定义spring boot starter 问题

1. "Failed to process import candidates for configuration class [com.simple.....]": 主要原因: 是因为自己定制的starter在打包时(package)用了spring-boot-maven-plugin,即在你的定制starter工程的pom.xml中有如下配置: <build> <plugins> <plugin> <groupId>org.sprin

阿里微服务专家手写Spring Boot 实现一个简单的自动配置模块

为了更好的理解 Spring Boot 的 自动配置和工作原理,我们自己来实现一个简单的自动配置模块. 假设,现在项目需要一个功能,需要自动记录项目发布者的相关信息,我们如何通过 Spring Boot 的自动配置,更好的实现功能呢? 实战的开端 – Maven搭建 先创建一个Maven项目,我来手动配置下 POM 文件. 参数的配置 - 属性参数类 首先,我们定义一个自定义前缀,叫做 custom 吧.之前说到,这里的配置参数,可以通过 application.properties 中直接设置

Spring Boot + Docker + K8S 简单示例

前言 最近看了看kubernetes(k8s),感觉用这个管理docker确实比自己写一坨脚本进步太多了,简直不是一个次原的东西. 看着k8s的官方文档随手写了个小Demo,一个基于k8s的spring boot服务. 代码:https://github.com/csonezp/echo-service 前置条件 电脑已安装docker/k8s/jdk 建议安装Docker Desktop,并启用自带k8s. https://docs.docker.com/docker-for-mac/inst

Spring Boot Starter 的基本封装

1)spring-boot-starter这是Spring Boot的核心启动器,包含了自动配置.日志和YAML. 2)spring-boot-starter-amqp通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol). 3)spring-boot-starter-aop支持面向方面的编程即AOP,包括spring-aop和AspectJ. 4)spring-boot-starter-artemis通过Apache Artemi