Prometheus との統合
項目一覧
Prometheus は指定された間隔で設定されたターゲットからメトリクスを収集し、ルール式を評価して結果を表示し、特定の条件が観察されたときにアラートをトリガーできます。
この統合により、Atlas を構成して、配置に関するメトリクス データを Prometheus インスタンスに送信することができます。
制限
Atlas for Governmentは Prometheus 統合をサポートしていません。
前提条件
Prometheus 統合は
M10+
クラスターでのみ利用可能です。Prometheus インスタンスが動作しています。動作するインスタンスをセットアップするには、「インストール ガイド」を参照してください。
Prometheus インスタンスをホストしているデバイスの IP を IP アクセス リストに追加します。
注意
IP アクセス リストに
0.0.0.0/0
を追加すると、パブリック インターネットのどこからでもクラスターにアクセスできるようになりますが、Atlas は Prometheus 統合を無効にします。0.0.0.0/0
がすでに IP アクセス リストに含まれている場合、Atlas は Prometheus 統合の構成を中止します。(任意)Grafana を使用して Prometheus メトリクスを視覚化します。
手順
Atlas と Prometheus の統合を構成する方法。
Atlasで、Go Project Integrations{0 ページに します。
まだ表示されていない場合は、希望するプロジェクトを含む組織を選択しますナビゲーション バーのOrganizationsメニュー
まだ表示されていない場合は、ナビゲーション バーのProjectsメニューから目的のプロジェクトを選択します。
Projects メニューの横にある Options メニューをクリックし、 Integrations をクリックします。
プロジェクト統合ページが表示されます。
希望するサービス検出メソッドを選択します。
確認方法 | 説明 | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
このメソッドには Prometheus v2.28 以降が必要です。HTTP エンドポイント経由でターゲットを検出するために、構成ファイルの scrape_config 部分を自動的に生成します。
| ||||||||||||||||||||||||||||||||||
この方法により、Prometheus は YAML または JSON ドキュメントを読み取って、スクレイピングするターゲットを構成できます。Discovery API にリクエストを送信し、その結果を リクエストを行うには、次のいずれかのタブでプレースホルダー テキストを置き換えるか、別の言語で独自のスクリプトを作成します。
|
Discovery API の詳細については、「Prometheus の最新のターゲットを返す」を参照してください。
Prometheus でクラスター メトリクスを表示します。
生成されたスニペットを scrape_configs にコピーする 構成ファイル の プレースホルダー テキストを置き換えます。
どちらの方法を行う場合も、構成ファイル例を 参照してください。
Prometheus インスタンスを再起動します。
Prometheus インスタンスで、上部のナビゲーション バーの
Status
をクリックし、Targets
をクリックして配置に関するメトリクスを表示します。
構成例
HTTP SD またはファイル サービス検出メソッドを使用する場合の構成ファイル の例を、次に示します。
どちらのメソッドの構成ファイルにも、次のフィールドが含まれています。
フィールド | 説明 |
---|---|
scrape_interval | ターゲットをスクレイピングする頻度を示す時間。この設定では、最小時間単位が 10 秒となっています。 |
job_name | スクレイピングされたメトリクスに割り当てられた、人間が読めるラベル。 |
metrics_path | ターゲットからメトリクスを取得する場所を示す HTTP リソース パス。 |
scheme | リクエストに対して構成するプロトコル スキーム。 |
basic_auth | すべてのスクレイプ リクエストで使用する承認ヘッダー。 |
HTTP Service 検出
HTTP サービス検出メソッドには、次のサブフィールドを持つ http_sd_configs
フィールドも含まれています。
フィールド | 説明 |
---|---|
url | Prometheus がターゲットを取得する URL。 |
refresh_interval | エンドポイントを再クエリするタイミングを示す時間。 |
basic_auth | API サーバーへの認証に使用する資格情報。 |
global: scrape_interval: 15s scrape_configs: - job_name: "Cloud-Testing-mongo-metrics" scrape_interval: 10s metrics_path: /metrics scheme : https basic_auth: username: prom_user_618d48e05277a606ed2496fe password: fSIMUngfTmOTVEB4 http_sd_configs: - url: https://cloud.mongodb.com/prometheus/v1.0/groups/618d48e05277a606ed2496fe/discovery refresh_interval: 60s basic_auth: username: prom_user_618d48e05277a606ed2496fe password: fSIMUngfTmOTVEB4
ファイル サービスの検出
ファイル サービス検出メソッドには、次のサブフィールドを持つ file_sd_configs
フィールドも含まれます。
フィールド | 説明 |
---|---|
files | メトリクスのスクレイピング対象を抽出するためのファイルを含むリスト。 |
global: scrape_interval: 15s scrape_configs: - job_name: "Cloud-Testing-mongo-metrics" scrape_interval: 10s metrics_path: /metrics scheme : https basic_auth: username: prom_user_618d48e05277a606ed2496fe password: fSIMUngfTmOTVEB4 file_sd_configs: - files: - /usr/local/etc/targets.json
Prometheus で使用できるパフォーマンス メトリクス
Atlas クラスターで Prometheus 統合を使用すると、次のメトリクスが利用できます。
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_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_sectors_read | カウンター | 読み込まれたセクターの数。 |
hardware_disk_metrics_sectors_written | カウンター | 書込まれたセクターの数。 |
hardware_disk_metrics_total_time_milliseconds | カウンター | このブロックの仕掛けがアクティブになっている合計時間。 |
hardware_disk_metrics_weighted_time_io_milliseconds | カウンター | I/O の実行に費やした時間の重み付け。 |
hardware_disk_metrics_write_count | カウンター | 処理された書込み I/O の数。 |
hardware_disk_metrics_write_time_milliseconds | カウンター | 書込みリクエストの合計待機時間。 |
hardware_platform_num_logical_cpus | ゲージ | 現在のプロセスで使用可能な論理 CPU の数。 |
hardware_process_cpu_children_kernel_milliseconds | カウンター | このプロセスが子を待つためにカーネル モードでスケジュールされた時間。 |
hardware_process_cpu_children_user_milliseconds | カウンター | このプロセスが子を待機するためにユーザー モードでスケジュールされた時間。 |
hardware_process_cpu_kernel_milliseconds | カウンター | このプロセスがカーネルモードでスケジュールされた時間。 |
hardware_process_cpu_user_milliseconds | カウンター | このプロセスがユーザー モードでスケジュールされた時間。 |
hardware_system_cpu_guest_milliseconds | カウンター | Linux カーネルの制御下にあるゲスト オペレーティング システムの仮想 CPU の実行中に費やされた時間。 |
hardware_system_cpu_guest_nice_milliseconds | カウンター | 調整された快適さでゲスト モードを実行するのに費やした時間。 |
hardware_system_cpu_idle_milliseconds | カウンター | アイドル タスクに費やされた時間。 |
hardware_system_cpu_io_wait_milliseconds | カウンター | I/O の完了を待機している時間。 |
hardware_system_cpu_irq_milliseconds | カウンター | 割り込みの処理に費やされた時間。 |
hardware_system_cpu_kernel_milliseconds | カウンター | システム モードで費やした時間。 |
hardware_system_cpu_nice_milliseconds | カウンター | 優先順位の低いユーザー モード(nice)で費やされた時間。 |
hardware_system_cpu_soft_irq_milliseconds | カウンター | softirqs サービスに費やした時間。 |
hardware_system_cpu_steal_milliseconds | カウンター | 仮想環境で実行中に他のオペレーティング システムで費やされた時間。 |
hardware_system_cpu_user_milliseconds | カウンター | ユーザー モードで費やした時間。 |
hardware_system_memory_buffers_kilobytes | ゲージ | 極端に大きくなることのない未加工ディスク ブロックの一時ストレージ。 |
hardware_system_memory_cached_kilobytes | ゲージ | ディスクから読み取られたファイルのインメモリ キャッシュ。これには SwapCached は含まれません。 |
hardware_system_memory_mem_available_kilobytes | ゲージ | スワップなしで新しいアプリケーションを起動するために使用できるメモリ量の推定値。 |
hardware_system_memory_mem_free_kilobytes | ゲージ | LowFree と HighFree の合計。 |
hardware_system_memory_mem_total_kilobytes | ゲージ | 使用可能な RAM の合計(物理 RAM からいくつかの予約ビットとカーネル バイナリ コードを差し引いたもの)。 |
hardware_system_memory_shared_mem_kilobytes | ゲージ | コンテンツが仮想メモリに存在するファイルシステムで消費されるメモリ量。 |
hardware_system_memory_swap_free_kilobytes | ゲージ | 未使用のスワップ領域の合計量。 |
hardware_system_memory_swap_total_kilobytes | ゲージ | 使用可能なスワップ領域の合計量。 |
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 | カウンター | インターフェースによって送信されたデータのバイト数。 |
hardware_system_vm_page_swap_in | カウンター | システムがディスクからスワップ インしたページ数。 |
hardware_system_vm_page_swap_out | カウンター | システムがディスクにスワップ アウトしたページ数。 |
ハードウェア メトリクス ラベル
各ハードウェア メトリクスには次のラベルが含まれています。
ラベル | 説明 |
---|---|
group_id | プロジェクトを識別するユニークな 16 進数の文字列。 |
org_id | 組織を識別するユニークな 16 進数の文字列。 |
process_port | プロセスが実行されるポート。 |
disk_name | ディスクを識別する人間が判読できるラベル。 |