詳解使用spring boot admin監(jiān)控spring cloud應(yīng)用程序
Spring Boot提供的監(jiān)控接口,例如:/health、/info等等,實(shí)際上除了之前提到的信息,還有其他信息業(yè)需要監(jiān)控:當(dāng)前處于活躍狀態(tài)的會(huì)話數(shù)量、當(dāng)前應(yīng)用的并發(fā)數(shù)、延遲以及其他度量信息。
最近在找一個(gè)spring cloud的監(jiān)控組件,要求粒度要到每一個(gè)接口的,hystrix dashboard顯然不適合,也不是這個(gè)應(yīng)用場(chǎng)景。后來發(fā)現(xiàn)了spring boot admin這個(gè)神器,可以注冊(cè)到Eureka和spring cloud無縫整合,頁面AngularJS寫的還算湊合,里面包含有許多功能:
顯示 name/id 和版本號(hào) 顯示在線狀態(tài) Logging日志級(jí)別管理 JMX beans管理 Threads會(huì)話和線程管理 Trace應(yīng)用請(qǐng)求跟蹤 應(yīng)用運(yùn)行參數(shù)信息,如: Java 系統(tǒng)屬性 Java 環(huán)境變量屬性 內(nèi)存信息 Spring 環(huán)境屬性
好了,不多說,直接上和eureka整合的代碼,它可以通過eureka注冊(cè)表里面的信息來對(duì)每一個(gè)服務(wù)進(jìn)行監(jiān)控。
1、構(gòu)建service-admin工程,pom如下:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.lovnx</groupId>
<artifactId>micro-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>service-admin</artifactId>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.7</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server</artifactId>
<version>1.4.6</version>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-server-ui</artifactId>
<version>1.4.6</version>
</dependency>
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-core</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Camden.SR5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2、啟動(dòng)主類:
package com.lovnx;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.annotation.Configuration;
import de.codecentric.boot.admin.config.EnableAdminServer;
@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@EnableAdminServer
public class SpringBootAdminApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootAdminApplication.class, args);
}
}
3、配置文件application.properties:
server.port=7088 spring.application.name=service-admin eureka.client.serviceUrl.defaultZone=http://localhost:7070/eureka/ management.security.enabled=false info.version=@project.version@
4、logback.xml(實(shí)現(xiàn)日志級(jí)別修改功能):
<configuration> <include resource="org/springframework/boot/logging/logback/base.xml"/> <jmxConfigurator/> </configuration>
5、啟動(dòng):

6、注意:
如果要監(jiān)控注冊(cè)到eureka的服務(wù),必須要在這個(gè)服務(wù)里面引入:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
來開啟一些管理功能,且須在配置文件加入一句:
management.security.enabled=false
關(guān)閉安全驗(yàn)證。
代碼托管:https://github.com/Lovnx/micro-service
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Maven引入本地Jar包并打包進(jìn)War包中的方法
本篇文章主要介紹了Maven引入本地Jar包并打包進(jìn)War包中的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-11
java實(shí)現(xiàn)遠(yuǎn)程桌面的實(shí)例代碼
下面小編就為大家分享一篇java實(shí)現(xiàn)遠(yuǎn)程桌面的實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01
JAVA 對(duì)接騰訊云直播的實(shí)現(xiàn)
這篇文章主要介紹了JAVA 對(duì)接騰訊云直播的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
Java 中的 DataInputStream 介紹_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
DataInputStream 是數(shù)據(jù)輸入流。它繼承于FilterInputStream。接下來通過本文給大家介紹Java 中的 DataInputStream的相關(guān)知識(shí),需要的朋友參考下吧2017-05-05
Simple Java Mail郵件發(fā)送實(shí)現(xiàn)過程解析
這篇文章主要介紹了Simple Java Mail郵件發(fā)送實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
利用Java反射機(jī)制實(shí)現(xiàn)對(duì)象相同字段的復(fù)制操作
這篇文章主要介紹了利用Java反射機(jī)制實(shí)現(xiàn)對(duì)象相同字段的復(fù)制操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08
Java?RabbitMQ的持久化和發(fā)布確認(rèn)詳解
這篇文章主要為大家詳細(xì)介紹了RabbitMQ的持久化和發(fā)布確認(rèn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03

