spring boot的actuator
actuator官方的介绍
Spring Boot includes a number of additional features to help you monitor and manage your application when it’s pushed to production. You can choose to manage and monitor your application using HTTP endpoints, with JMX or even by remote shell (SSH or Telnet). Auditing, health and metrics gathering can be automatically applied to your application.
actuator是一个强大功能,有助于对应用程序进行监视和管理,通过restful api
请求来监管、审计、收集应用的运行情况
1.添加依赖
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-actuator</artifactId>
- </dependency>
2.启动项目
用浏览器打开 http://localhost:8080/actuator
- {
- "_links": {
- "self": {
- "href": "http://localhost:8080/actuator",
- "templated": false
- },
- "health": {
- "href": "http://localhost:8080/actuator/health",
- "templated": false
- },
- "health-component": {
- "href": "http://localhost:8080/actuator/health/{component}",
- "templated": true
- },
- "health-component-instance": {
- "href": "http://localhost:8080/actuator/health/{component}/{instance}",
- "templated": true
- },
- "info": {
- "href": "http://localhost:8080/actuator/info",
- "templated": false
- }
- }
- }
actuator暴露了三个简单的endpoint
开启所有接口,在application.properties中,添加
- management.endpoints.web.exposure.include=*
刷新 http://localhost:8080/actuator页面,会出现很多endpoint
- {
- "_links": {
- "self": {
- "href": "http://localhost:8080/actuator",
- "templated": false
- },
- "auditevents": {
- "href": "http://localhost:8080/actuator/auditevents",
- "templated": false
- },
- "beans": {
- "href": "http://localhost:8080/actuator/beans",
- "templated": false
- },
- "caches-cache": {
- "href": "http://localhost:8080/actuator/caches/{cache}",
- "templated": true
- },
- "caches": {
- "href": "http://localhost:8080/actuator/caches",
- "templated": false
- },
- "health-component": {
- "href": "http://localhost:8080/actuator/health/{component}",
- "templated": true
- },
- "health-component-instance": {
- "href": "http://localhost:8080/actuator/health/{component}/{instance}",
- "templated": true
- },
- "health": {
- "href": "http://localhost:8080/actuator/health",
- "templated": false
- },
- ……
- }
- }
(1)/actuator/health 查看应用健康指标
- {
- "status": "UP"
- }
(2)/actuator/info查看应用的定制信息
在配置文件中以 info 开头的配置信息
application.properties包含
- info.app.name=abc
info.app.version=1.0.0
返回结果
- {
- "app": {
- "name": "abc",
- "version": "1.0.0"
- }
- }
(3)/actuator/metrics 查看应用基本指标
返回actuator提供的所有metric的name
/actuator/metrics/{name}查看具体指标
使用 /actuator/metrics/jvm.memory.max,查看JVM最大内存
- {
- "name": "jvm.memory.max",
- "description": "The maximum amount of memory in bytes that can be used for memory management",
- "baseUnit": "bytes",
- "measurements": [
- {
- "statistic": "VALUE",
- "value": 5.583142911E9
- }
- ],
- "availableTags": [
- {
- "tag": "area",
- "values": [
- "heap",
- "nonheap"
- ]
- },
- {
- "tag": "id",
- "values": [
- "Compressed Class Space",
- "PS Survivor Space",
- "PS Old Gen",
- "Metaspace",
- "PS Eden Space",
- "Code Cache"
- ]
- }
- ]
- }
(4)/actuator/beans 应用中所有Spring Beans
的完整列表
- "contexts": {
- "application": {
- "beans": {
- "spring.jpa-org.springframework.boot.autoconfigure.orm.jpa.JpaProperties": {
- "aliases": [],
- "scope": "singleton",
- "type": "org.springframework.boot.autoconfigure.orm.jpa.JpaProperties",
- "resource": null,
- "dependencies": []
- },"uploadController": {
- "aliases": [],
- "scope": "singleton",
- "type": "com.example.demo.controller.UploadController$$EnhancerBySpringCGLIB$$b6fa2feb",
- "resource": "file [E:\\java\\demo\\target\\classes\\com\\example\\demo\\controller\\UploadController.class]",
- "dependencies": []
- },
- ……
- },
- "parentId": null
- }
- }
- }
(5)/actuator/heapdump dump 一份应用的 JVM 堆信息
可以使用 JDK 自带的 Jvm 监控工具 VisualVM 打开该文件查看内存快照
(6)/actuator/scheduledtasks 应用中的定时任务信息
(7)/actuator/env 获取全部环境属性
/actuator/env/{name} 获取特定的环境属性值
/actuator/env/java.version java版本
- {
- "property": {
- "source": "systemProperties",
- "value": "1.8.0_151"
- },
- "activeProfiles": [
- "dev"
- ],
- "propertySources": [
- {
- "name": "server.ports"
- },
- {
- "name": "servletConfigInitParams"
- },
- {
- "name": "servletContextInitParams"
- },
- {
- "name": "systemProperties",
- "property": {
- "value": "1.8.0_151"
- }
- },
- {
- "name": "systemEnvironment"
- },
- {
- "name": "random"
- },
- {
- "name": "applicationConfig: [classpath:/application.properties]"
- },
- {
- "name": "Management Server"
- }
- ]
- }
还有很多,可以去 https://docs.spring.io/spring-boot/docs/2.0.2.RELEASE/actuator-api/html/ 查看
spring boot的actuator的更多相关文章
- Spring Boot整合actuator实现监控管理
Spring Boot使用actuator监控管理 1.在pom文件中导入相关的依赖 <dependency> <groupId>org.springframework.boo ...
- 从Unauthorized 401错误学习Spring Boot的Actuator
之前用Spring Boot都是别人搭好的框架,然后自己在里面写就行了.对原理.细节上都怎么涉及,毕竟需求都做不完.但是昨天一个访问RESTful接口的401问题搞了我2个小时.网上找的很多用: ma ...
- Spring Boot (28) actuator与spring-boot-admin
在上一篇中,通过restful api的方式查看信息过于繁琐,也不直观,效率低下.当服务过多的时候看起来就过于麻烦,每个服务都需要调用不同的接口来查看监控信息. SBA SBA全称spring boo ...
- Spring Boot (27) actuator服务监控与管理
actuaotr是spring boot项目中非常强大的一个功能,有助于对应用程序进行监控和管理,通过restful api请求来监管.审计.收集应用的运行情况,针对微服务而言它是必不可少的一个环节. ...
- spring boot之actuator简介
当我们的开发工作进入尾声,部署上线之后,对于一个程序而言,可能才刚刚开始,对程序的运行情况的监控要伴随着整个生命周期. 如果这个工作由程序员自己来开发,也未尝不可,但本着不重复制造轮子的思想,我们尽量 ...
- Spring Boot之Actuator的端点
Spring Boot Actuator的关键特性是在应用程序里提供众多Web端点,通过它们了解应用程序 运行时的内部状况.有了Actuator,你可以知道Bean在Spring应用程序上下文里是如何 ...
- Spring Boot|监控-Actuator
Spring Boot 为我们提供了一个生产级特性-Actuator,包含很多实际有用的API,下面我们就一起来看看这些API. 一.Actuator 首先在程序中引入Actuator <!-- ...
- 第11章 Spring Boot使用Actuator
在生产环境中,需要实时或定期监控服务的可用性,spring-Boot的Actuator 功能提供了很多监控所需的接口. Actuator是Spring Boot提供的对应用系统的自省和监控的集成功能, ...
- spring boot监控--actuator
原文地址:http://blog.csdn.net/wh_ouyangshuang/article/details/48048111 spring-boot-actuator模块提供了一个监控和管理生 ...
随机推荐
- Redis Cluster数据分片机制
复制粘贴自: https://www.e-learn.cn/content/redis/2344485, 点击链接访问原文 仅供个人学习参考之用, 如有侵权, 请联系删除! 高级开发不得不懂的Redi ...
- 51nod1681 公共祖先
[传送门] 很明显,可以转化成求每个点在两棵树中对应的子树中有多少个相同的节点,对答案的贡献就是$C(x, 2)$.关键就是怎么求这个东西.一是,对第一棵树求出dfs序,然后dfs第二棵树,用树状数组 ...
- PHP - register globals
It seems that the developper often leaves backup files around... 似乎开发人员经常把备份文件放在… 直接下载网站备份: index.ph ...
- (知识点1)#pragma once 与 #ifndef 解析
例如 为了避免同一个文件被include多次,C/C++中有两种方式,一种是#ifndef方式,一种是#pragma once方式.在能够支持这两种方式的编译器上,二者并没有太大的区别,但是两者仍然还 ...
- rhce备战笔记
1)配置selinuxvim /etc/slinux/config SELINUX=enforcingsetenforce 1getenforce两台都做 2)配置SSHvim /etc/ssh ...
- Sublime Text 3安装Package Control并安装Processing插件
由于PDE编辑界面对中文的支撑太差,于是想换到ST3来编辑代码,结果导致了噩梦的开始. 首先,找不到“Package Control”!!! 这还怎么玩~ 于是打开http://packagecont ...
- Harbor高可用
项目需求: 实现Harbor的HTTPS高可用,由于Harbor 服务器配置不高,直接做HTTPS对上传下载镜像时,若docker客户端多时,会非常慢,为了提高harbor的效率,采用以下方式来解决. ...
- 第09组 Alpha冲刺(1/6)
队名:观光队 组长博客 作业博客 组员实践情况 王耀鑫 过去两天完成了哪些任务 文字/口头描述 完成服务器连接数据库部分代码 展示GitHub当日代码/文档签入记录 接下来的计划 与服务器连接,配合前 ...
- 【技术博客】 关于laravel5.1中文件上传测试的若干尝试
关于laravel5.1中文件上传测试的若干尝试 作者:ZGJ 版本:v1.0 PM注:本人这两天也正在尝试解决这一问题,如有进展将及时更新这一博客 在我们的软工第二阶段中,我开始着手进行后端控制器的 ...
- nginx负载均衡的5种策略及原理
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_35119422/article/de ...