メトリックの収集
メトリックは、いくつかのプラットフォーム、オーケストレーター、および幅広いアプリケーション (Prometheus、JMX、StatsD、Kubernetes、およびその他のアプリケーション・スタックなど) から収集できます。これらのアプリケーションは、IBM Cloud®、IBM Cloud外部、またはオンプレミスで使用できます。 カスタム・メトリックを作成し、統合を追加することで、メトリックを追加することもできます。
メトリックとラベル
メトリックとは数量的な尺度であり、その特性を定義するラベルを 1 つ以上持っています。
メトリックを使用して、数値を含むデータを統計的に分析します。
メトリックは、時系列で表示されます。 時系列は、メトリック名とラベルのキーと値のペアの固有の組み合わせです。 例: website_failedRequest |region='Asia', customer_ID='abc'
データ・ポイントとは、特定の時点で時系列に対して生成される値のことです。
ラベルは、インフラストラクチャー・ラベルとメトリック記述子ラベルとして分類されます。 各メトリックには、一連の事前定義されたラベルがあります。 カスタム・メトリックの場合、追加のラベルを構成できます。
ラベルを使用すると、例えば以下のように、メトリックの特性を識別および区別できます。
- インフラストラクチャー・オブジェクトを論理階層にグループ化できます。
- データをフィルターで除外できます。
- 集約データをセグメントに分割できます。
Monitoring エージェントを使用したデフォルト・メトリックの収集
Monitoring エージェントを構成すると、デフォルトのメトリックのデータが自動的に収集されます。 これらのメトリックには、モニター時にメトリックのラベル付け、セグメント化、および表示に使用できるメタデータが含まれています。 エージェントによって自動的に収集されるメトリックを取得して、それらのメトリックで何が起こっているかを把握するために、ホストで追加のインスツルメンテーションや構成を行う必要はありません。
IBM Cloud® Monitoring サービスを使用してインフラストラクチャー、ネットワーク、およびアプリケーションをモニターするために、サポートされるホストに Monitoring エージェントをデプロイできます。 デプロイできるエージェント・タイプは、ホストによって決まります。 エージェント・タイプによって、そのホストについて自動的に収集されるメトリックが決まります。
デフォルトのメトリックの収集を開始するには、モニターする環境ごとに Monitoring エージェントを構成する必要があります。
Monitoring エージェントは、ホストごとに以下のタイプのシステム・メトリックを自動的に収集します。
-
System hosts metrics
は、すべてのプロセスのパフォーマンスとリソース使用率を分析するために使用できる、CPU、メモリー、およびストレージの使用量メトリックに関する情報を提供します。 -
File and File System metrics
は、システムで発生するファイル対話を分析するために使用できるファイルおよびファイル・システムに関する情報を提供します。 例えば、オープン・ファイル、送受信バイト数、または特定のファイル・システムの使用率に関する情報を見つけることができます。 -
Process metrics
は、サーバーで実行されるプロセスに関する情報を提供します。 例えば、これらのメトリックを使用して、プロセスの数を調べたり、クライアントまたはサーバーの情報を取得したりすることができます。 -
Network metrics
は、ネットワークに関する情報を提供します。 これらは、アプリケーション、コンテナー、およびサーバーの間で確立された接続に対する洞察を提供します。 例えば、送受信されているバイト数や、HTTP 要求、接続、および待ち時間の数に関する情報を見つけることができます。 また、SQL または MongoDB の場合、エージェントは、トラブルシューティング・モードで構成されているときに追加情報を収集します。
さらに、 Monitoring エージェントは、 Kubernetes または Red Hat OpenShift クラスターごとに、以下の種類のメトリクスを自動的に収集します
-
State metrics
: Kube 状態メトリックは、Kubernetes コンポーネント内で実行されるさまざまなオブジェクト (デプロイメント、ノード、ポッドなど) の正常性と状態について報告します。 デフォルトで収集されるメトリックのリストを確認するには、 Kubernetes Stateを参照してください。 -
Resource usage metrics
: リソース使用状況メトリックは、クラスター内で実行されているワーカー (ノード) とポッドの CPU とメモリーの正常性と状態について報告します。 データは、名前空間、ワーカー、ポッド、ワークロード・オブジェクト (デプロイメント、daemonSet など) によって分析できます。
オーケストレーションされていない環境のエージェント
デフォルトでは、このエージェントは、ホストのモニターに使用できるコア・インフラストラクチャーとネットワーク時系列を収集します。
収集されたメトリックのリストについては、 非オーケストレーション環境で使用可能なメトリック を参照してください。
オーケストレーションされた環境のエージェント
デフォルトでは、このエージェントは、非オーケストレーション環境のエージェントと同じメトリック、および Kubernetes 状態とリソース使用量のメトリックを収集します。
収集されたメトリックのリストについては、 オーケストレーションされた環境で使用可能なメトリック を参照してください。
Monitoring エージェントを使用したカスタム・メトリックの収集
Monitoring エージェントには、Syscall、StatsD、JMX、および Promscrape を介してメトリックを収集するコンポーネントが含まれています。
-
エージェントは、サーバー・システム・コールを介してカーネルから直接情報を抽出します。 システム・コールは、実行中のプロセス、メモリー割り振り、ネットワーク接続、ファイル・システムへのアクセス、リソース使用量などに関する情報を提供します。
-
エージェントには、Prometheus と呼ばれる軽量の Prometheus サーバーが含まれています。 Prometheus メトリックを収集し、それらをストレージおよび処理のために Monitoring インスタンスに送信するようにエージェントを構成できます。
Prometheus 構文を使用して Monitoring エージェントを構成し、scrape_config
設定を構成して、ターゲット、インスタンス、およびジョブを定義する必要があります。
- Promscrape は、オープン・ソースの Prometheus サーバーに基づいています。
- Monitoring エージェントのバージョンによって、Prometheus メトリックの収集に対するサポート・レベルが異なります。例えば、Monitoring エージェント v10.5.0 以上には Promscrape v2 が含まれ、Prometheus ネイティブ・サービス・ディスカバリーをサポートします。 Monitoring エージェントについて詳しくは、Monitoring エージェントのリリース・ノートを参照してください。
- Promscrape のバージョンについて詳しくは、 Promscrape V1 から V2へのマイグレーションを参照してください。
Prometheus リモート書き込みを使用したカスタム・メトリックの収集
Monitoring エージェントが使用できない環境からメトリックを収集して Monitoring インスタンスに送信するように、Prometheus リモート書き込みを構成することができます。
以下からメトリックを収集できます。
- 既存の Prometheus サーバー。
- Monitoring エージェントによってスクレイプされるほど長く存在しない可能性がある一時ジョブまたはバッチ・ジョブ。
- Monitoring エージェントが使用できない Windows ホストおよびその他のオペレーティング・システム
- Non-x86 ベースのアーキテクチャー。通常、IoT 環境またはエッジ・コンピューティングで見られます。
- 非コンテナー・ワークロード (NGNIX など)、カスタム・アプリケーション、RabbitMQ など。
Monitoring Web UI を介して Prometheus リモート書き込みを使用することにより、収集されるメトリックをモニターできます。 PromQL を使用して、標準の Prometheus 照会言語を使用してデータを照会することもできます。
詳しくは、Prometheus リモート書き込みを使用したメトリックの収集を参照してください。
Prometheus エクスポーターを使用したカスタム・メトリックの収集
Prometheus エクスポーターを使用して、Prometheus 形式のメトリックをネイティブに公開しないホスト、サービス、またはアプリからメトリックを収集できます。 これらのメトリックは、Monitoring インスタンスを介してモニターできます。
Prometheus エクスポーターには、以下のようなさまざまなソースがあります。
- 公式の輸出業者は 公式の Prometheus GitHub 組織に所属しており、 公式のラベルが貼られています。
- Sysdig は統合ライブラリを管理・維持しています。 統合ライブラリは、エンタープライズリソースカタログであり、 Kubernetes プラットフォームおよびクラウドネイティブサービス向けのサポート対象の Monitoring 統合を見つけることができます。
以下のようなさまざまなソースからメトリックを収集できます。
- Monitoring エージェントを使用できないホスト (Windows システムや VMware ESXi-Host システムなど)。
- Monitoring エージェントが使用可能なホスト。ただし、IPMI センサー・メトリックやハードウェアおよびカーネル関連のメトリックなど、その他のタイプのメトリックを収集する必要があります。
- MySQL データベースなどのサービス
詳しくは、Prometheus エクスポーターを使用したメトリックの収集を参照してください。
IBM Cloud サービスからのプラットフォーム・メトリックの収集
プラットフォーム・メトリックは、IBM Cloud のモニタリング対応サービスとプラットフォームによって公開されるメトリックです。
リージョンごとに、そのロケーションでプラットフォーム・メトリック を収集するための IBM Cloud Monitoring サービスのインスタンスを 1 つのみ構成できます。
サービス・インスタンスのプラットフォーム・メトリックをモニターするには、モニター対象の IBM Cloud Monitoring サービス・インスタンスがプロビジョンされているのと同じリージョンに IBM Cloud インスタンスをプロビジョンします。
詳しくは、プラットフォーム・メトリックの処理を参照してください。