在中,大プログラム中、ユーザー数の増加に伴い、監視の重要性がますます高まっています。明確で理解しやすい監視システムは、開発者や運用スタッフがプログラムの問題や不足を発見するのに非常に役立ちます。
Spring Boot プログラムでは、次のツールを使用してシステムレベルの監視を行うことができます。
- Grafana は、クロスプラットフォームのオープンソースのメトリクス分析および可視化ツールです。
- Prometheus は、SoundCloud のオープンソースの監視および警告解決ソリューションであり、時系列データを保存します。
- Spring Boot Actuator は、Spring Boot アプリケーションを監視および計測することができます。
プログラムの設定#
まず、依存関係を追加する必要があります。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--actuatorの監視指標をprometheus形式に変換する-->
<dependency>
<groupId>io.micrometer</groupId>
<artifactId>micrometer-registry-prometheus</artifactId>
<version>1.7.1</version>
</dependency>
設定ファイルで監視指標を公開するように宣言します。
management:
endpoints:
web:
# 公開するエンドポイント。デフォルトではhealthとinfoの2つのエンドポイントのみが公開されます。すべてのエンドポイントを公開するには*を設定します。
# 本番環境ではすべてを公開することはお勧めしません。プロジェクトの要件に応じて公開してください。
exposure:
include: "*"
最後に、プログラムを起動して検証します。 http://localhost:8080/actuator/prometheus
にアクセスして監視情報を確認します。
Prometheus + Grafana のインストール#
Ubuntu を例に、まず docker-compose をインストールします。
apt install docker-compose
prometheus.yml 設定ファイルを作成します。
scrape_configs:
# ジョブ名
- job_name: 'actuator-springboot'
# 監視パス
metrics_path: '/actuator/prometheus'
static_configs:
# ターゲットパス
# WSLまたはサーバーを使用している場合は、IPを指定してください
- targets: ['localhost:8080']
docker-compose.yaml を作成します。
version: '3'
services:
grafana:
container_name: grafana
image: grafana/grafana-oss:10.0.0-ubuntu
environment:
- TZ=Asia/Shanghai
ports:
- 3000:3000
volumes:
- ./grafanaplugin:/var/lib/grafana/plugins/grafanaplugin
privileged: true
restart: always
prom:
image: quay.io/prometheus/prometheus:latest
volumes:
- ./monitor/prometheus.yml:/etc/prometheus/prometheus.yml
command: "--config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus"
ports:
- "23333:9090"
depends_on:
- exporter
exporter:
image: prom/node-exporter:latest
ports:
- "19100:9100"
注意事項:
prometheus.yml 設定ファイルは、docker-compose.yaml ファイルと同じ階層の monitor フォルダに配置する必要があります。
grafana のイメージは最新の 10.0 バージョンを使用しており、ベースは Ubuntu です。公式のダウンロードページからカスタマイズすることもできますが、最新版を使用することをお勧めします。一部のテキストが中国語に翻訳されています。
準備ができたら、 docker-compose up -d
コマンドを使用してこれらのコンテナを起動します。
Prometheus の収集を検証する#
ブラウザで http://localhost:23333 を開き、メニューから Targets に切り替えて、監視タスクを確認できます。
Grafana の設定#
http://localhost:3000
にアクセスして Grafana の管理パネルに入ります。デフォルトのアカウントとパスワードは admin/admin
です。
監視データを収集しましたが、Grafana の監視パネルに表示する必要があります。
言語は中国語を選択することもできます。サイドバーでホーム --> 管理 --> デフォルトの設定を選択します。
データソースの追加#
データソース (データベース) で新しいデータソースを追加するために、最初の prometheus を選択します。
prometheus のアドレスを入力します。
一番下でリクエストメソッドを GET に設定します。
監視スタイルの追加#
データソースが設定されたら、監視パネルを設定する必要があります。Grafana は、ID を使用して直接スタイルをマーケットからインポートすることができます。
例えば https://grafana.com/grafana/dashboards/4701
ダッシュボード --> 新規作成 --> インポート
4701 を入力して Load をクリックします。
完了したら、詳細な監視情報が表示されます。
監視指標の説明#
この記事を参照してください:Spring Boot Actuator+Prometheus + Grafana 監控 JVM 数据
Prometheus 监控 Java 服务,通过 Grafana 工具将 JVM 参数可视化,样式 4701 参数解读