監視はアプリケーションのパフォーマンス管理の重要な側面です。アプリケーションが拡大するにつれて、アプリケーションがスムーズに実行され、システムの健全性が継続的に追跡されることを保証することが不可欠になります。マイクロサービス、分散システム、クラウドネイティブ アプリケーションでは、監視ツールは単なるアドオンではなく、インフラストラクチャの重要な部分です。
最新のシステムを監視するための最も人気のある 2 つのツールは、Prometheus と Grafana です。これらのツールは、メトリクスの収集、保存、視覚化によく使用され、開発者と運用チームが問題を検出し、パフォーマンスを分析し、システムを効率的に実行し続けるのに役立ちます。
ユーザーに影響を与える前に問題を特定するには、モニタリングが不可欠です。 Java ベースのバックエンド、複雑なマイクロサービス環境、またはその他のシステムを使用しているかどうかに関係なく、継続的な監視により次のような洞察が得られます。
アプリケーションのパフォーマンス:
応答時間、リクエスト、エラー率などの主要なパフォーマンス指標を追跡します。
システムの状態:
サーバーの健全性、CPU 使用率、メモリ使用量、ディスク容量を監視して、インフラストラクチャが最適に動作していることを確認します。
アラート:
問題が発生したときに通知する重要な指標のしきい値とアラートを設定します。
容量計画:
履歴データを収集して分析すると、アプリケーションのスケーリング計画を立てるのに役立ちます。
Prometheus と Grafana は、システムやアプリケーションからのデータを監視、視覚化、分析するための堅牢なソリューションを提供します。
プロメテウス
Prometheus は、信頼性と拡張性を考慮して設計されたオープンソースの監視および警告ツールキットです。時系列データの収集に重点を置き、多次元データ収集をサポートし、強力なクエリと分析を可能にします。 Prometheus は、HTTP エンドポイントを介してターゲットからメトリクスを収集し、時系列データベースに保存します。これらのメトリクスは、Prometheus のクエリ言語である PromQL を使用してクエリできます。
グラファナ
Grafana は、監視と可観測性のためのオープンソース プラットフォームです。これにより、ユーザーは Prometheus を含む複数のソースからの時系列データを視覚化できます。 Grafana はダッシュボードの作成、アラートの設定、幅広いデータ ソースとの統合機能を備えているため、指標を視覚化するための最も人気のあるツールの 1 つとなっています。
Prometheus が連携してメトリクスを収集し、Grafana がインタラクティブで視覚的に魅力的な方法でメトリクスを表示します。
Docker で Prometheus と Grafana を実行することは、監視環境を迅速にセットアップするための簡単かつ効果的な方法です。まずは Docker で Prometheus を実行しましょう。
ステップ 1: Docker で Prometheus を実行する
次のコマンドを使用して、Prometheus をコンテナとして実行できます:
docker run --name prometheus -d -p 127.0.0.1:9090:9090 prom/prometheus
このコマンドは次のことを行います:
ステップ 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 ダッシュボードにアクセスできます。
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 にアクセスできるようになります。デフォルトのログイン認証情報は次のとおりです:
ステップ 4: Prometheus と Grafana を接続する
Prometheus と Grafana の両方が実行されたので、次のステップはそれらを接続することです。 Grafana はメトリクスをどこから取得するかを知る必要があります。 Grafana でデータ ソースとして Prometheus を追加する方法は次のとおりです:
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 アプリケーションからメトリクスを収集します。
この時点で次の内容が得られます:
ステップ 7: Grafana でダッシュボードを作成する
Grafana でデータを視覚化するには:
リクエスト数、応答時間、エラー率などのメトリクスを表示するさまざまなパネルを備えたダッシュボードを構築できるようになりました。
監視は高可用性とパフォーマンスを維持するために重要です。 Prometheus や Grafana などのツールを使用すると、Java アプリケーションの効率的な監視ソリューションを簡単にセットアップできます。
以上がJava での Prometheus と Grafana の入門の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。