对java工程实时监控方式很多,本文主要讲在springboot框架中的监控。

springboot框架,自带了actuator监控,在pom中引入jar包即可,如下

1.引入jar

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-actuator</artifactId>

</dependency>

在2.0版本之后改动很大,我这里是用的2.0.2

2.启动项目后即可访问

http://localhost:8081/webproject/actuator/health

http://localhost:8081/webproject/actuator/info

如果想让url个性化一点,在 application.propertie

配置文件中 加入

management.endpoints.web.base-path=/jiankong

那么就可以访问

http://localhost:8081/webproject/jiankong/health

3.actuator 提供了很多api(称为:节点)

默认只开放了 health、info两个节点

如果需要公开所有 则在配置文件中继续加入

management.endpoints.web.exposure.include=*

其中 health方法 是不显示具体的内容的,如需要

则继续加入配置

management.endpoint.health.show-details=always

具体方法和返回内容 可以参考API

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

4. 常用的查看具体指标的方法  /metrics/{name}

http://localhost:8081/webproject/actuator/metrics/http.server.requests

http://localhost:8081/webproject/actuator/metrics/jvm.memory.used

http://localhost:8081/webproject/actuator/metrics/jvm.threads.peak

等等,具体name 可以通过/metrics 获得,

其中 http.server.requests 是对所有请求的url的监控,次数,时间 等。

那么如果我们需要针对个别重点controller分别监控呢~~

5.分别监控,需要在controller上做些手脚

在RequestMapping 上面 加上注解 @Timed(value = "list.base", longTask = true)

value可以就用mapping 这样。

这个@Timed 注解 是 micrometer-core-1.0.3-sources.jar的 springboot监控本身用到的。

当访问过这个controller之后 就可以调用~ 注意还没有收到过请求的话是请求不到这个list.base的

http://localhost:8081/webproject/actuator/metrics/list.base

{

    "availableTags":[

        {

            "tag":"exception",

            "values":["None"]

        },

        {

            "tag":"method",

            "values":["POST"]

        },

        {

            "tag":"uri",

            "values":["/ListDataBase","root"]

        },

        {

            "tag":"status",

            "values":["200"]

        }

    ],

    "measurements":[

        {

            "statistic":"ACTIVE_TASKS",

            "value":0

        },

        {

            "statistic":"DURATION",

            "value":0

        },

        {

            "statistic":"COUNT",

            "value":1

        },

        {

            "statistic":"TOTAL_TIME",

            "value":0.306317164

        },

        {

            "statistic":"MAX",

            "value":0.306317164

        }

    ],

    "name":"list.base"

}

如果有兴趣研究更多。。。官网api

https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#production-ready-endpoints

springboot 实时监控 spring-boot-starter-actuator 包的更多相关文章

  1. SpringBoot 之Spring Boot Starter依赖包及作用

    Spring Boot 之Spring Boot Starter依赖包及作用 spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置.日志和YAML. spri ...

  2. SpringBoot 之Spring Boot Starter依赖包及作用(自己还没有看)

    spring-boot-starter 这是Spring Boot的核心启动器,包含了自动配置.日志和YAML. spring-boot-starter-amqp 通过spring-rabbit来支持 ...

  3. Spring Boot (九): 微服务应用监控 Spring Boot Actuator 详解

    1. 引言 在当前的微服务架构方式下,我们会有很多的服务部署在不同的机器上,相互是通过服务调用的方式进行交互,一个完整的业务流程中间会经过很多个微服务的处理和传递,那么,如何能知道每个服务的健康状况就 ...

  4. Spring Boot整合actuator实现监控管理

    Spring Boot使用actuator监控管理 1.在pom文件中导入相关的依赖 <dependency> <groupId>org.springframework.boo ...

  5. Spring boot 打成jar包问题总结

    Spring boot 打成jar包问题总结 1.Unable to find a single main class from the following candidates 1.1.问题描述 m ...

  6. Spring Boot (28) actuator与spring-boot-admin

    在上一篇中,通过restful api的方式查看信息过于繁琐,也不直观,效率低下.当服务过多的时候看起来就过于麻烦,每个服务都需要调用不同的接口来查看监控信息. SBA SBA全称spring boo ...

  7. Spring Boot (十): Spring Boot Admin 监控 Spring Boot 应用

    Spring Boot (十): Spring Boot Admin 监控 Spring Boot 应用 1. 引言 在上一篇文章<Spring Boot (九): 微服务应用监控 Spring ...

  8. 年轻人的第一个自定义 Spring Boot Starter!

    陆陆续续,零零散散,栈长已经写了几十篇 Spring Boot 系列文章了,其中有介绍到 Spring Boot Starters 启动器,使用的.介绍的都是第三方的 Starters ,那如何开发一 ...

  9. 从零开始开发一个Spring Boot Starter

    一.Spring Boot Starter简介 Starter是Spring Boot中的一个非常重要的概念,Starter相当于模块,它能将模块所需的依赖整合起来并对模块内的Bean根据环境( 条件 ...

  10. 一个简单易上手的短信服务Spring Boot Starter

    前言 短信服务在用户注册.登录.找回密码等相关操作中,可以让用户使用更加便捷,越来越多的公司都采用短信验证的方式让用户进行操作,从而提高用户的实用性. Spring Boot Starter 由于 S ...

随机推荐

  1. mysql 存储过程 动态表名

    今天写存储过程时,遇到要将表名最为参数的问题,如果不涉及到游标的话,使用prepare可以解决问题,但是,动态表名要运用在游标中的话,则prepare就得靠边站了. 集众人之智慧,最后,使用临时表解决 ...

  2. Cloudera-Manager(一) —— 基本概念及使用

    概念 Cloudera Manager(简称CM)是Cloudera公司开发的一款大数据集群安装部署利器,这款利器具有集群自动化安装.中心化管理.集群监控.报警等功能,极大的提高集群管理的效率. AP ...

  3. 【大数据作业十一】分布式并行计算MapReduce

    作业要求:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3319 1.用自己的话阐明Hadoop平台上HDFS和MapReduce的功 ...

  4. git的commit撤销

    写完代码后,我们一般这样 git add . //添加所有文件 git commit -m "本功能全部完成" 执行完commit后,想撤回commit,怎么办? 这样凉拌: gi ...

  5. dubbo架构角色

    角色 Dubbo有5个参与者:其中Monitor.Registry不是必须的 Provider 暴露服务的服务提供方 Consumer 调用远程服务的服务消费方(负载均衡) Registry 服务注册 ...

  6. Gitlab修改用户密码

    sudo gitlab-rails console production > user=User.where(name: "root").first > user.pa ...

  7. 通过OpenSSL来生成PEM格式的私钥、PKCS8格式的私钥、公钥|pfx格式的私钥、cer格式的公钥

    1.生成PEM格式RSA私钥 不对输出的文件内容进行加密 openssl genrsa -out private-rsa.key 对输出的文件内容进行加密(DES/AES128/AES256等) op ...

  8. Spring 整合 myBatis

    思路 数据库连接池交给 Spring 管理 SqlSessionFactory 交给 Spring 管理 从 Spring 容器中直接获得 mapper 的代理对象 步骤 创建工程 导入 jar 创建 ...

  9. OpenShift上的OpenvSwitch入门

    前段时间参加openshift培训,通过产品部门的讲解,刷新了我对OpenShift一些的认识,今天先从最弱的环节网络做一些了解吧. Openvswitch是openshift sdn的核心组件,进入 ...

  10. 两种Redis持久化原理的详解

    Redis为持久化提供了两种方式: RDB:在指定的时间间隔能对你的数据进行快照存储. AOF:记录每次对服务器写的操作,当服务器重启的时候会重新执行这些命令来恢复原始的数据. 本文将通过下面内容的介 ...