Springboot-アクチュエータを使用してプロジェクトを監視します(非配布)

序文

プロジェクトの実際の開発とオンライン運用では、プロジェクトのデータと情報をリアルタイムで監視する必要があります。

Spring Boot Actuatorは、ヘルスチェック、監査、統計、HTTP追跡などのSpringBootアプリケーションの監視と管理に役立ちます。これらの機能はすべて、JMXまたはHTTPエンドポイントを介して取得できます。

SpringBootActuator:ヘルスチェック、監査、統計、および監視
では、以下に示すように、springboot-actuatorが多くのシステムの監視エンドポイントを提供します。

関数名 説明 敏感ですか
autoconfig 自動構成レポートを表示します。レポートには、すべての自動構成候補と、それらが適用される理由または適用されない理由が表示されます。 true
アプリケーション内のすべてのSpringBeanの完全なリストを表示する true
configprops すべての@ConfigurationPropertiesの照合リストを表示します true
投げ捨てる スレッドダンプを実行します true
env SpringConfigurableEnvironmentからプロパティを公開します true
健康 アプリケーションのヘルス情報を表示します(認証されていない接続を使用してアクセスすると、単純な「ステータス」が表示され、認証された接続を使用してアクセスすると、すべての情報の詳細が表示されます) false
情報 任意のアプリケーション情報を表示する false
メトリック 現在のアプリケーションの「インジケータ」情報を表示します true
マッピング すべての@RequestMappingパスの照合リストを表示します true
シャットダウン アプリを適切な方法で閉じることを許可します(デフォルトでは有効になっていません) true
痕跡 トレース情報を表示します(デフォルトは最新のHTTPリクエストの一部です) true

バージョンの選択

Springbootバージョン:2.1.14。RELEASE
管理クライアントバージョン:2.1.5
管理サーバーバージョン:2.1.5

アクチュエータの簡単な使用

プロジェクトSpringboot-Actuator-client作成し、依存関係を導入します

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

構成ファイルを追加する

server:
  port: 80
  
management:
  server:
    port: 8889 ##管理端口调整为 8889,独立的端口可以作安全控制
  endpoints:
    web:
      base-path: /xiangjiao ## actuator的访问路径(修改访问路径,2.0之前默认是/,2.0默认是/actuator)
      exposure:
        include: '*' #开放所有页面节点  默认只开启了health、info两个节点
        #exclude: 'env' #公开中的所有端点,除去 env
  endpoint:
    health:
      show-details: always

サービスを開始し、テストして観察します

http:// localhost:8889/xiangjiao/ env
ここに画像の説明を挿入

http:// localhost:8889/xiangjiaoここに画像の説明を挿入

shutdownコマンドに加えて、他のすべてのコマンドをテストできます!

シャットダウンを使用して、プロジェクトを正常に閉じます

以来shutdownノードがデフォルトで閉じられている、あなたが動作するノードを使用する必要がある場合は、設定ファイルでそれを開く必要があります。

management:
  server:
    port: 8889 ##管理端口调整为 8889,独立的端口可以作安全控制
  endpoint:
    shutdown:
      enabled: true ## 默认关闭,如果需要使用shutdown指令,则需要配置开启

別の詳細は次のとおりです。

このリクエストを使用する必要がありますPOST

テストをリクエストする:
ここに画像の説明を挿入
プロジェクトコンソールの出力を表示します。
ここに画像の説明を挿入

管理者と組み合わせてグラフィック表示を実現

上記のテストの結果から、次のことが明らかです。

1.データはjsonタイプを返します
。2。すべてがデータ情報であり、直感的ではありません。

モニタリングプロジェクトで得られた情報をより直感的に表示するにはどうすればよいですか?このとき、admin表示操作を行うことができます

管理者操作の場合、追加のserverサービスメインクラスを構成する必要があり、その下で複数のclientクラスを構成できます

管理者サーバークラスを作成します

管理サーバープロジェクトのユーザーは、各管理クライアントによってプッシュされた監視情報を受け入れます。

依存関係の紹介:

<dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-server</artifactId>
    <version>2.1.5</version>
</dependency>

構成ファイルは、プロジェクトの起動によって占有されるポート情報のみを指定します。

server:
  port: 8000
  
#spring:
#  boot:
#    admin:
#      ui:
#        title: 监控测试server
#        brand: <span>Service Monitoring Center</span>

スタートアップクラスのアノテーションはadmin server次のとおりです

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import de.codecentric.boot.admin.server.config.EnableAdminServer;

@SpringBootApplication
@EnableAdminServer //注解表示开启admin-server
public class ActuatorAdminServer {
    
    
	public static void main(String[] args) {
    
    
		try {
    
    
			SpringApplication.run(ActuatorAdminServer.class, args);
		} catch (Exception e) {
    
    
			System.out.println(e);
		}
		
	}
}

プロジェクト開始。
ここに画像の説明を挿入

Springboot-Actuator-clientプロジェクトを変更します

サーバー部分はすべての監視情報の表示ウィンドウであるため、その中のデータはデータadmin clientのプッシュ操作実現するために使用する必要があります。actuatorプロジェクトの実行中にリアルタイムの監視情報を読み取るためにのみ使用されます。プッシュ機能はありません。

したがってSpringboot-Actuator-client、依存関係を追加する必要がありますspring-boot-admin-starter-client

<dependency>
	<groupId>de.codecentric</groupId>
	<artifactId>spring-boot-admin-starter-client</artifactId>
	<version>2.1.5</version>
</dependency>

依存関係を追加した後、監視ログデータのプッシュアドレスも構成する必要があります。

server:
  port: 80
  
spring:
  boot:
    admin:
      client:
        url: http://localhost:8000  ## 监控信息推送admin server
  
management:
  server:
    port: 8889 ##管理端口调整为 8889,独立的端口可以作安全控制
  endpoints:
    web:
      base-path: /xiangjiao ## actuator的访问路径(修改访问路径,2.0之前默认是/,2.0默认是/actuator)
      exposure:
        include: '*' #开放所有页面节点  默认只开启了health、info两个节点
        #exclude: 'env' #公开中的所有端点,除去 env
  endpoint:
    health:
      show-details: always

元のactuator構成と比較して、プッシュアドレス構成のみが追加されています。

spring:
  boot:
    admin:
      client:
        url: http://localhost:8000  ## 监控信息推送admin server

スタートアッププロジェクト。

UIインターフェース表示効果

リンクにアクセス:

http:// localhost:8000

ここに画像の説明を挿入
ここに画像の説明を挿入

コードのダウンロード

githubコードのリンクアドレス

参照

Springboot中国語ドキュメント-アクチュエータ

おすすめ

転載: blog.csdn.net/qq_38322527/article/details/113482737