Java での Prometheus と Grafana の入門

Barbara Streisand
リリース: 2024-11-22 00:58:14
オリジナル
306 人が閲覧しました

監視はアプリケーションのパフォーマンス管理の重要な側面です。アプリケーションが拡大するにつれて、アプリケーションがスムーズに実行され、システムの健全性が継続的に追跡されることを保証することが不可欠になります。マイクロサービス、分散システム、クラウドネイティブ アプリケーションでは、監視ツールは単なるアドオンではなく、インフラストラクチャの重要な部分です。

最新のシステムを監視するための最も人気のある 2 つのツールは、Prometheus と Grafana です。これらのツールは、メトリクスの収集、保存、視覚化によく使用され、開発者と運用チームが問題を検出し、パフォーマンスを分析し、システムを効率的に実行し続けるのに役立ちます。

なぜ監視が必要なのでしょうか?

ユーザーに影響を与える前に問題を特定するには、モニタリングが不可欠です。 Java ベースのバックエンド、複雑なマイクロサービス環境、またはその他のシステムを使用しているかどうかに関係なく、継続的な監視により次のような洞察が得られます。

  • アプリケーションのパフォーマンス:
    応答時間、リクエスト、エラー率などの主要なパフォーマンス指標を追跡します。

  • システムの状態:
    サーバーの健全性、CPU 使用率、メモリ使用量、ディスク容量を監視して、インフラストラクチャが最適に動作していることを確認します。

  • アラート:
    問題が発生したときに通知する重要な指標のしきい値とアラートを設定します。

  • 容量計画:
    履歴データを収集して分析すると、アプリケーションのスケーリング計画を立てるのに役立ちます。

Prometheus と Grafana は、システムやアプリケーションからのデータを監視、視覚化、分析するための堅牢なソリューションを提供します。

Getting Started with Prometheus and Grafana in Java

Grafana と Prometheus の紹介

プロメテウス
Prometheus は、信頼性と拡張性を考慮して設計されたオープンソースの監視および警告ツールキットです。時系列データの収集に重点を置き、多次元データ収集をサポートし、強力なクエリと分析を可能にします。 Prometheus は、HTTP エンドポイントを介してターゲットからメトリクスを収集し、時系列データベースに保存します。これらのメトリクスは、Prometheus のクエリ言語である PromQL を使用してクエリできます。

グラファナ
Grafana は、監視と可観測性のためのオープンソース プラットフォームです。これにより、ユーザーは Prometheus を含む複数のソースからの時系列データを視覚化できます。 Grafana はダッシュボードの作成、アラートの設定、幅広いデータ ソースとの統合機能を備えているため、指標を視覚化するための最も人気のあるツールの 1 つとなっています。

Prometheus が連携してメトリクスを収集し、Grafana がインタラクティブで視覚的に魅力的な方法でメトリクスを表示します。

Docker で Prometheus を実行する

Docker で Prometheus と Grafana を実行することは、監視環境を迅速にセットアップするための簡単かつ効果的な方法です。まずは Docker で Prometheus を実行しましょう。

ステップ 1: Docker で Prometheus を実行する
次のコマンドを使用して、Prometheus をコンテナとして実行できます:

docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
ログイン後にコピー
ログイン後にコピー

このコマンドは次のことを行います:

  • Prometheus コンテナを開始します。
  • ローカル ポート 9090 をコンテナのポート 9090 にマッピングします。
  • Docker Hub の公式 Prometheus Docker イメージを使用します。 Prometheus が実行されていることを確認するには、ブラウザを開いて http://localhost:9090/ に移動します。

ステップ 2: Prometheus の構成
特定のエンドポイント (Java アプリケーションなど) からメトリクスを収集するように Prometheus を構成する必要がある場合は、Prometheus 構成ファイルを調整する必要があります。これをコンテナーにマウントすると、カスタム prometheus.yml ファイルを使用して Prometheus を実行できます。以下に例を示します:

docker run \
    -p 9090:9090 \
    -v /prometheus.yml:/etc/prometheus/prometheus.yml \
    prom/prometheus
ログイン後にコピー
ログイン後にコピー

これにより、ローカルの prometheus.yml ファイルがコンテナにマウントされます。 Prometheus を起動した後、http://localhost:9090/ に移動して Prometheus ダッシュボードにアクセスできます。

Getting Started with Prometheus and Grafana in Java

Docker で Grafana を実行する

Prometheus が実行され、Grafana を追加してデータを視覚化します。

ステップ 3: Docker で Grafana を実行する
Grafana は Docker 経由で簡単にデプロイできます。次のコマンドを実行して Grafana コンテナを起動します:

Docker で Grafana を実行する

docker run -d -p 3000:3000 grafana/grafana-enterprise

ログイン後にコピー
ログイン後にコピー

Grafana が実行されると、http://localhost:3000/login で Web UI にアクセスできるようになります。デフォルトのログイン認証情報は次のとおりです:

  • ユーザー名: 管理者
  • パスワード: 管理者

Getting Started with Prometheus and Grafana in Java

ステップ 4: Prometheus と Grafana を接続する
Prometheus と Grafana の両方が実行されたので、次のステップはそれらを接続することです。 Grafana はメトリクスをどこから取得するかを知る必要があります。 Grafana でデータ ソースとして Prometheus を追加する方法は次のとおりです:

  1. Grafana にログインします。
  2. 左側のサイドバーにある歯車アイコンをクリックして、設定メニューを開きます。
  3. データ ソースを選択します。
  4. データ ソースの追加 をクリックします。
  5. データ ソースの種類として Prometheus を選択します。
  6. HTTP セクションで、URL を Prometheus インスタンスに設定します (例: http://172.0.0.1:9090)。
  7. 保存してテスト をクリックして、Grafana が Prometheus に正常に接続できることを確認します。

サンプル Java プロジェクトの作成

Prometheus にメトリクスを公開する単純な Java ベースのプロジェクトを作成してみましょう。 Prometheus と簡単に統合できる、JVM ベースのアプリケーションのメトリクス収集ファサードである Micrometer を使用します。

ステップ 5: Java アプリケーションを作成する

必要な依存関係を pom.xml ファイルに追加します。
全てを繋ぐ。

docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
ログイン後にコピー
ログイン後にコピー

次に、Java アプリケーションで、Prometheus が収集できるエンドポイントを公開します。例:

docker run \
    -p 9090:9090 \
    -v /prometheus.yml:/etc/prometheus/prometheus.yml \
    prom/prometheus
ログイン後にコピー
ログイン後にコピー

このセットアップでは、Prometheus が収集できるエンドポイント /metrics を作成します。 Micrometer によって収集されたメトリクスを公開し、Prometheus 形式で利用できます。

ステップ 6: メトリクスを Prometheus に公開する
Java アプリケーションがメトリクスを収集しているので、アプリケーションから /metrics エンドポイントを取得するように Prometheus に指示する必要があります。 prometheus.yml 構成ファイルを更新してターゲットを含めます:

docker run -d -p 3000:3000 grafana/grafana-enterprise

ログイン後にコピー
ログイン後にコピー

同じマシン上で実行されている場合は、IP アドレスまたはローカルホストに置き換えます。 Prometheus は Java アプリケーションからメトリクスを収集します。

Getting Started with Prometheus and Grafana in Java

すべてを接続する

この時点で次の内容が得られます:

  • Prometheus は Java アプリケーションからメトリクスをスクレイピングします。
  • Grafana が視覚化ツールとして設定されています。

ステップ 7: Grafana でダッシュボードを作成する
Grafana でデータを視覚化するには:

  1. Grafana の ダッシュボード タブに移動します。
  2. 新しいダッシュボードをクリックします。
  3. パネルを追加し、データ ソースとしてPrometheusを選択します。
  4. PromQL クエリを作成してメトリクスを取得します (例: http_requests_total)。

リクエスト数、応答時間、エラー率などのメトリクスを表示するさまざまなパネルを備えたダッシュボードを構築できるようになりました。

Getting Started with Prometheus and Grafana in Java

監視は高可用性とパフォーマンスを維持するために重要です。 Prometheus や Grafana などのツールを使用すると、Java アプリケーションの効率的な監視ソリューションを簡単にセットアップできます。

以上がJava での Prometheus と Grafana の入門の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート