qinfengge

qinfengge

醉后不知天在水,满船清梦压星河
github
email
telegram

spring boot JVMの監視

在中,大プログラム中、ユーザー数の増加に伴い、監視の重要性がますます高まっています。明確で理解しやすい監視システムは、開発者や運用スタッフがプログラムの問題や不足を発見するのに非常に役立ちます。

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 にアクセスして監視情報を確認します。

image

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 フォルダに配置する必要があります。

image

grafana のイメージは最新の 10.0 バージョンを使用しており、ベースは Ubuntu です。公式のダウンロードページからカスタマイズすることもできますが、最新版を使用することをお勧めします。一部のテキストが中国語に翻訳されています。

準備ができたら、 docker-compose up -d コマンドを使用してこれらのコンテナを起動します。

Prometheus の収集を検証する#

ブラウザで http://localhost:23333 を開き、メニューから Targets に切り替えて、監視タスクを確認できます。

image

image

Grafana の設定#

http://localhost:3000 にアクセスして Grafana の管理パネルに入ります。デフォルトのアカウントとパスワードは admin/admin です。
監視データを収集しましたが、Grafana の監視パネルに表示する必要があります。
言語は中国語を選択することもできます。サイドバーでホーム --> 管理 --> デフォルトの設定を選択します。

image

データソースの追加#

データソース (データベース) で新しいデータソースを追加するために、最初の prometheus を選択します。

image

prometheus のアドレスを入力します。
image

一番下でリクエストメソッドを GET に設定します。

image

監視スタイルの追加#

データソースが設定されたら、監視パネルを設定する必要があります。Grafana は、ID を使用して直接スタイルをマーケットからインポートすることができます。
例えば https://grafana.com/grafana/dashboards/4701
ダッシュボード --> 新規作成 --> インポート

image

4701 を入力して Load をクリックします。

image

完了したら、詳細な監視情報が表示されます。

image

監視指標の説明#

この記事を参照してください:Spring Boot Actuator+Prometheus + Grafana 監控 JVM 数据
Prometheus 监控 Java 服务,通过 Grafana 工具将 JVM 参数可视化,样式 4701 参数解读

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。