記事のディレクトリ
序文
プロジェクトの実際の開発とオンライン運用では、プロジェクトのデータと情報をリアルタイムで監視する必要があります。
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