Prometheus との統合
項目一覧
- Cloud Managerへのプログラムによるアクセスのための OAuth 2.0認証はプレビュー機能として利用できます。
- 機能および関連するドキュメントは、プレビュー期間中にいつでも変更される可能性があります。 OAuth2.0 認証を使用するには、 Cloud Manager Public APIへのリクエストで使用する サービス アカウント を作成します。
Prometheus は指定された間隔で設定されたターゲットからメトリクスを収集し、ルール式を評価して結果を表示し、特定の条件が観察されたときにアラートをトリガーできます。
この統合により、Cloud Manager を構成して、配置に関するメトリクス データを Prometheus に送信することができます インスタンス。
前提条件
Prometheus 統合は、 MongoDB Agent を使用する オートメーション管理12 クラスターで利用できます。0 。15 。7646以降に更新します。 MongoDB Agent 12 。 0 。 15 。 7646は Cloud Manager 6でリリースされます。 0 。 7 。
Prometheus が動作している インスタンス。動作するインスタンスをセットアップするには、「 インストール ガイド 」を参照してください。
(任意)Grafana を使用して Prometheus メトリクスを視覚化します。
手順
Cloud Manager を Prometheus と統合するには :
MongoDB Cloud ManagerGoMongoDB Cloud Managerで、{0Project Integrations ページにGoします。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
Projects メニューの横にある Options メニューをクリックし、 Integrations をクリックします。
プロジェクト統合ページが表示されます。
Prometheus integration card(統合カード)で []Configure をクリックします。
(任意)すべての Prometheus メトリクスを暗号化します。
この設定を有効にすると、Cloud Manager は Prometheus インスタンスがhttps
を使用してメトリクスをスクレイピングすることを保証します。
フィールド | 説明 |
---|---|
TLS 証明書鍵ファイルパス |
以下の管理はあなたが行います。
|
TLS 証明書鍵ファイルのパスワード | 証明書鍵ファイルが暗号化されている場合は必須です。 |
希望するサービス検出メソッドを選択します。
確認方法 | 説明 | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
このメソッドには Prometheus v 2.28以降が必要です。 scrape_config 構成ファイル の一部 HTTP エンドポイント経由でターゲットを検出するため。 | |||||||||||||||||||||||||||||||||||||||
この方法により、Prometheus はYAMLまたはJSONドキュメントを読み取って、スクレイピングするターゲットを構成できます。 Discovery API にリクエストを送信し、その結果を リクエストを行うには、次のいずれかのタブでプレースホルダー テキストを置き換えるか、別の言語で独自のスクリプトを作成します。
Discovery API の詳細については、「Prometheus の最新のターゲットを返す」を参照してください。 |
Prometheus でクラスター メトリクスを表示します。
生成されたスニペットを scrape_configs にコピーする 構成ファイル の プレースホルダー テキストを置き換えます。
どちらの方法を行う場合も、構成ファイル例を 参照してください。
Prometheus インスタンスを再起動します。
Prometheus インスタンスで、上部のナビゲーション バーの
Status
をクリックし、Targets
をクリックして配置に関するメトリクスを表示します。
構成例
以下は 構成ファイル の例ですHTTP Service 検出 または ファイル サービス検出 メソッドを使用する場合。
どちらのメソッドの構成ファイルにも、次のフィールドが含まれています。
フィールド | 説明 |
---|---|
scrape_interval | ターゲットをスクレイピングする頻度を示す時間。この設定では、最小時間単位が 10 秒となっています。 |
job_name | スクレイピングされたメトリクスに割り当てられた、人間が読めるラベル。 |
metrics_path | ターゲットからメトリクスを取得する場所を示す HTTP リソース パス。 |
scheme | リクエスト用に構成された Prometheus プロトコル スキーム http またはhttps 。 https を構成する場合は、 tlsPemPath を指定する必要があります。 |
basic_auth | すべてのスクレイプ リクエストで使用する承認ヘッダー。 |
HTTP Service 検出
HTTP サービス検出メソッドには、次のサブフィールドを持つ http_sd_configs
フィールドも含まれています。
フィールド | 説明 |
---|---|
url | Prometheus がターゲットを取得する URL。 |
refresh_interval | エンドポイントを再クエリするタイミングを示す時間。 |
basic_auth | API サーバーへの認証に使用する資格情報。 |
global: scrape_interval: 15s scrape_configs: - job_name: "CM-Testing-mongo-metrics" scrape_interval: 10s metrics_path: /metrics scheme : https basic_auth: username: prom_user_61e6e34e93eac1632d39f457 password: V7hTyLfkjwiWQbv http_sd_configs: - url: https://cloud.mongodb.com/prometheus/v1.0/groups/61e6e34e93eac1632d39f457/discovery refresh_interval: 60s basic_auth: username: prom_user_61e6e34e93eac1632d39f457 password: V7hTyLfkjwiWQbv
ファイル サービスの検出
ファイル サービス検出メソッドには、次のサブフィールドを持つ file_sd_configs
フィールドも含まれます。
フィールド | 説明 |
---|---|
files | メトリクスのスクレイピング対象を抽出するためのファイルを含むリスト。 |
global: scrape_interval: 15s scrape_configs: - job_name: "CM-Testing-mongo-metrics" scrape_interval: 10s metrics_path: /metrics scheme : https basic_auth: username: prom_user_61e6e34e93eac1632d39f457 password: V7hTyLfkjwiWQbv file_sd_configs: - files: - /usr/local/etc/targets.json
Prometheus で使用できるパフォーマンス メトリクス
Prometheus を使用すると、次のメトリクスが利用できます MongoDB Atlas クラスターとの統合
MongoDB メトリクス ラベル
各 MongoDB メトリクスには次のラベルが含まれています。
ラベル | 説明 |
---|---|
group_id | プロジェクトを識別するユニークな 16 進数の文字列。 |
org_id | 組織を識別するユニークな 16 進数の文字列。 |
cl_role | クラスターのロールを定義する人間が判読できるラベル。 |
cl_name | クラスターを識別する人間が判読できるラベル。 |
rs_nm | レプリカセットを識別する人間が判読できるラベル。 |
rs_state | レプリカセットの状態を示す数値。 |
process_port | プロセスが実行されるポート。 |
MongoDB 情報メトリクス
mongodb_info
は常に1
の値を持つゲージです。 このメトリクスには、すべてのMongoDB メトリクス ラベルと、次のラベルが含まれます。
ラベル | 説明 |
---|---|
mongodb_version | メジャー、マイナー、およびパッチのバージョンを表す文字列。 |
replica_state_name | |
process_type | 実行中のプロセスを示す文字列。その値は、 mongod 、mongos 、または config です。 |
ハードウェア メトリクス
注意
Prometheus 式ブラウザで各ハードウェア メトリクスの説明を表示することもできます。
名前 | オペレーティング システム | タイプ | 説明 |
---|---|---|---|
hardware_system_cpu_nice | Unix, Darwin | カウンター | 優先順位の低いユーザー モードで費やされた時間。 |
hardware_system_cpu_io_wait | Unix | カウンター | I/O の完了を待機している時間。 |
hardware_system_cpu_irq | Unix | カウンター | 割り込みの処理に費やされた時間。 |
hardware_system_cpu_soft_irq | Unix | カウンター | ソフトリンクの処理に費やされた時間。 |
hardware_system_cpu_steal | Unix | カウンター | 仮想環境で実行中に他のオペレーティング システムで費やされた時間。 |
hardware_system_cpu_guest | Unix | カウンター | Linux カーネルの制御下にあるゲスト オペレーティング システムの仮想 CPU の実行中に費やされた時間。 |
hardware_system_cpu_guest_nice | Unix | カウンター | 調整された快適さでゲスト モードを実行するのに費やした時間。 |
hardware_system_cpu_kernel_milliseconds | すべて | カウンター | システム モードで費やした時間。 |
hardware_system_cpu_user_milliseconds | すべて | カウンター | ユーザー モードで費やした時間。 |
hardware_disk_metrics_weighted_time_io | Unix | カウンター | I/O の実行に費やした時間の重み付け。 |
hardware_disk_metrics_physical_write_count | Unix | カウンター | 処理された物理書込み I/O の数。 |
hardware_disk_metrics_physical_read_count | Unix | カウンター | 処理された物理読み取り I/O の数。 |
hardware_disk_metrics_total_time | Unix | カウンター | このブロックの仕掛けがアクティブになっている合計時間。 |
hardware_disk_metrics_idle_time | Windows | カウンター | アイドル タスクに費やされた時間。 |
hardware_disk_metrics_disk_space_free_bytes | すべて | ゲージ | マウントされたファイル システムで使用可能なディスク容量。 |
hardware_disk_metrics_disk_space_used_bytes | すべて | ゲージ | マウントされたファイル システムで使用されたディスク領域。 |
hardware_disk_metrics_read_count | すべて | カウンター | 処理された読み取り I/O の数。 |
hardware_disk_metrics_read_time_milliseconds | すべて | カウンター | 読み取り要求の合計待機時間。 |
hardware_disk_metrics_write_count | すべて | カウンター | 処理された書込み I/O の数。 |
hardware_disk_metrics_write_time_milliseconds | すべて | カウンター | 書込みリクエストの合計待機時間。 |
hardware_process_cpu_children_user | Unix | カウンター | このプロセスが子を待機するためにユーザー モードでスケジュールされた時間。 |
hardware_process_cpu_children_kernel | Unix | カウンター | このプロセスが子を待つためにカーネル モードでスケジュールされた時間。 |
hardware_process_cpu_kernel_milliseconds | すべて | カウンター | このプロセスがカーネルモードでスケジュールされた時間。 |
hardware_process_cpu_user_milliseconds | すべて | カウンター | このプロセスがユーザー モードでスケジュールされた時間。 |
hardware_system_vm_page_swap_in | Unix | カウンター | システムがディスクからスワップ インしたページ数。 |
hardware_system_vm_page_swap_out | Unix | カウンター | システムがディスクにスワップ アウトしたページ数。 |
hardware_system_memory_mem_total | Unix | ゲージ | 使用可能な RAM の合計(物理 RAM からいくつかの予約ビットとカーネル バイナリ コードを差し引いたもの)。 |
hardware_system_memory_mem_free | Unix | ゲージ | LowFree と HighFree の合計。 |
hardware_system_memory_mem_available | Unix | ゲージ | スワップなしで新しいアプリケーションを起動するために使用できるメモリ量の推定値。 |
hardware_system_memory_buffers | Unix | ゲージ | 極端に大きくなることのない未加工ディスク ブロックの一時ストレージ。 |
hardware_system_memory_cached | Unix | ゲージ | ディスクから読み取られたファイルのインメモリ キャッシュ。これには SwapCached は含まれません。 |
hardware_system_memory_swap_total | Unix | ゲージ | 使用可能なスワップ領域の合計量。 |
hardware_system_memory_swap_free | Unix | ゲージ | 未使用のスワップ領域の合計量。 |
hardware_system_memory_shared_mem | Unix | ゲージ | コンテンツが仮想メモリに存在するファイルシステムで消費されるメモリ量。 |
hardware_system_memory_swap_free_kilobytes | すべて | ゲージ | 未使用のスワップ領域の合計量。 |
hardware_system_memory_swap_total_kilobytes | すべて | ゲージ | 使用可能なスワップ領域の合計量。 |
hardware_platform_num_logical_cpus | すべて | ゲージ | 現在のプロセスで使用可能な論理 CPU の数。 |
hardware_system_network_eth0_bytes_in_bytes | すべて | カウンター | インターフェースが受信したデータのバイト数。 |
hardware_system_network_eth0_bytes_out_bytes | すべて | カウンター | インターフェースによって送信されたデータのバイト数。 |
hardware_system_network_lo_bytes_in_bytes | すべて | カウンター | インターフェースが受信したデータのバイト数。 |
hardware_system_network_lo_bytes_out_bytes | すべて | カウンター | インターフェースによって送信されたデータのバイト数。 |
ハードウェア メトリクス ラベル
各ハードウェア メトリクスには次のラベルが含まれています。
ラベル | 説明 |
---|---|
group_id | プロジェクトを識別するユニークな 16 進数の文字列。 |
org_id | 組織を識別するユニークな 16 進数の文字列。 |
process_port | プロセスが実行されるポート。 |
disk_name | ディスクを識別する人間が判読できるラベル。 |