すべてのプロダクト
Search
ドキュメントセンター

:Docker コンテナの監視

最終更新日:Dec 27, 2024

このトピックでは、企業がコンテナ化されたアプリケーションをより適切に管理および保守できるように、Docker コンテナを監視する方法について説明します。

前提条件

ステップ1:Dockerコンテナの統合

  1. Managed Service for Prometheusコンソールにログインします。左側のナビゲーションペインで、統合センターをクリックします。

  2. Dockerコンテナをクリックします。表示されるパネルで、プロンプトに従ってパラメータを設定します。以下に、主要なパラメータについて説明します。

    パラメータ

    説明

    Cadvisorインストールモード

    Container Advisor (cAdvisor) は、Google によって開発されたオープンソースのコンテナ監視ツールです。コンテナの CPU、メモリ、ネットワーク、ディスク使用率などのリソース使用状況メトリックを収集します。

    • 自動インストール:指定したフィルタ条件に基づいて自動サービス検出が実行され、ECS インスタンスが識別され、検出されたインスタンスに cAdvisor サービスがインストールされます。

    • 手動インストール:コンテナを統合する前に、ECS インスタンスに cAdvisor サービスを手動でインストールし、仮想プライベートクラウド (VPC) 内でアクセスできるように対応するポートを開く必要があります。

      説明

      ECS インスタンスのホワイトリストは、VPC の指定されたポートを開く必要があります。

    ホストサービス検出モード

    以下のオプションを指定して ECS インスタンスを選択します。

    ステインラベル選択

    ECSステインラベル:テイントを使用して ECS インスタンスを除外します。

    無条件(現在の VPC 内のすべての Windows インスタンスを選択)

    -

    タグラベル選択

    ECSインスタンスタグ:タグを使用して ECS インスタンスを照合します。

    IP CIDR

    ECS IP CIDR:指定された IP プレフィックスまたは特定のビットを共有する ECS インスタンスを照合します。VPC の CIDR ブロックを指定すると、VPC 内のすべての ECS インスタンスが選択されます。

    インスタンス ID

    ECS インスタンス ID:ECS インスタンスの ID。複数のインスタンス ID はコンマ (,) で区切ります。

    Cadvisor サービスポート

    デフォルト値:8080。

    メトリックスクレイピング間隔(単位/秒)

    デフォルト値:15。

    セキュリティグループは自動的に構成されます

    セキュリティグループチェックが失敗した場合にセキュリティグループルールを自動的に追加するかどうかを指定します。

    カスタム ECS タグの挿入

    ECS インスタンスのタグキーを指定します。その後、キーと値のペア全体がメトリックに追加されます。

ステップ2:ダッシュボードの表示

Managed Service for Prometheus は、コンテナの概要、コアコンポーネント、ノード、ポッドなどの監視の詳細を表示するための複数の組み込みダッシュボードを提供します。これらのダッシュボードは、Container Service for Kubernetes、Application Real-Time Monitoring Service、または Managed Service for Prometheus コンソールで表示できます。ダッシュボードを表示するには、次の手順を実行します。

  1. Managed Service for Prometheusコンソールにログインします。左側のナビゲーションペインで、統合管理をクリックします。

  2. 統合管理ページで、ダッシュボードのクエリタブをクリックします。ダッシュボードを表示するコンテナを選択します。69.jpgimage

ステップ3:アラートの構成

  1. Managed Service for Prometheusコンソールにログインします。左側のナビゲーションペインで、統合管理をクリックします。

  2. 統合管理ページで、統合環境タブをクリックします。ECSインスタンスタブで、VPC の名前をクリックします。

  3. コンポーネント管理タブで、アラートルールセクションの組み込みアラートルールを表示します。1.jpg

  4. 組み込みアラートルールは、アラート通知を送信せずにアラートイベントを生成します。アラートルールの通知方法を構成する場合は、[アクション] 列の編集をクリックします。

    Prometheusアラートルールの編集ページで、カスタムアラートしきい値、期間、アラートコンテンツを構成できます。詳細については、Prometheusインスタンスのアラートルールの作成を参照してください。

    2.jpg

メトリック

メトリック

測定

説明

container_blkio_device_usage_total

COUNTER

ブロック I/O デバイスのバイト使用量。

container_cpu_cfs_periods_total

COUNTER

経過した適用期間の間隔の数。

container_cpu_cfs_throttled_periods_total

COUNTER

調整された期間の間隔の数。

container_cpu_cfs_throttled_seconds_total

COUNTER

コンテナが調整された合計時間。

container_cpu_load_average_10s

GAUGE

過去 10 秒間のコンテナ CPU 負荷平均の値。

container_cpu_schedstat_run_periods_total

COUNTER

コントロールグループ (cgroup) プロセスが CPU 上で実行された回数。

container_cpu_schedstat_runqueue_seconds_total

COUNTER

コンテナプロセスが実行キューで待機していた時間。

container_cpu_schedstat_run_seconds_total

COUNTER

コンテナプロセスが CPU 上で実行されていた時間。

container_cpu_system_seconds_total

COUNTER

システム CPU によって消費された累積時間。

container_cpu_usage_seconds_total

COUNTER

消費された累積 CPU 時間。

container_cpu_user_seconds_total

COUNTER

ユーザー CPU によって消費された累積時間。

container_file_descriptors

GAUGE

コンテナの開いているファイル記述子の数。

container_fs_inodes_free

GAUGE

利用可能な Inode の数。

container_fs_inodes_total

GAUGE

Inode の総数。

container_fs_io_current

GAUGE

進行中の I/O の数。

container_fs_io_time_seconds_total

COUNTER

I/O によって消費された秒数の累積カウント。

container_fs_io_time_weighted_seconds_total

COUNTER

重み付けされた I/O 時間の累積。

container_fs_limit_bytes

GAUGE

ファイルシステム上でコンテナによって消費できるバイト数。

container_fs_read_seconds_total

COUNTER

読み取りに費やされた秒数の累積カウント。

container_fs_reads_bytes_total

COUNTER

読み取りバイト数の累積カウント。

container_fs_reads_merged_total

COUNTER

マージされた読み取りの累積カウント。

container_fs_reads_total

COUNTER

完了した読み取りの累積カウント。

container_fs_sector_reads_total

COUNTER

完了したセクター読み取りの累積カウント。

container_fs_sector_writes_total

COUNTER

完了したセクター書き込みの累積カウント。

container_fs_usage_bytes

GAUGE

ファイルシステム上でコンテナによって消費されたバイト数。

container_fs_write_seconds_total

COUNTER

書き込みに費やされた秒数の累積カウント。

container_fs_writes_bytes_total

COUNTER

書き込まれたバイト数の累積カウント。

container_fs_writes_merged_total

COUNTER

マージされた書き込みの累積カウント。

container_fs_writes_total

COUNTER

完了した書き込みの累積カウント。

container_enormoustlb_failcnt

COUNTER

enormouspage の使用量が制限に達した回数。

container_enormoustlb_max_usage_bytes

GAUGE

記録された enormouspage の最大使用量。

container_enormoustlb_usage_bytes

GAUGE

現在の enormouspage の使用量。

container_last_seen

GAUGE

コンテナが最後に確認された時刻。

container_llc_occupancy_bytes

GAUGE

Resource Director Technology (RDT) Memory Bandwidth Monitoring (MBM) でカウントされたコンテナの最終レベルキャッシュ使用量。

container_memory_bandwidth_bytes

GAUGE

RDT MBM でカウントされたコンテナの合計メモリ帯域幅使用量。

container_memory_bandwidth_local_bytes

GAUGE

RDT MBM でカウントされたコンテナのローカルメモリ帯域幅使用量。

container_memory_cache

GAUGE

合計ページキャッシュメモリ。

container_memory_failcnt

COUNTER

メモリ使用量が制限を超えた回数。

container_memory_failures_total

COUNTER

メモリ割り当てエラーの累積カウント。

container_memory_mapped_file

GAUGE

メモリマップファイルのサイズ。

container_memory_max_usage_bytes

GAUGE

最大メモリ使用量。

container_memory_migrate

GAUGE

メモリ移行ステータス。

container_memory_numa_pages

GAUGE

Non-Uniform Memory Access (NUMA) ノードごとに使用されたページ数。

container_memory_rss

GAUGE

常駐セットサイズ (RSS) サイズ。

container_memory_swap

GAUGE

コンテナのスワップ使用量。

container_memory_usage_bytes

GAUGE

現在のメモリ使用量。

container_memory_working_set_bytes

GAUGE

現在のワーキングセット。

container_network_advance_tcp_stats_total

GAUGE

コンテナの高度な TCP 接続の総数。

container_network_receive_bytes_total

COUNTER

受信したバイト数の累積数。

container_network_receive_errors_total

COUNTER

受信中に発生したエラーの累積カウント。

container_network_receive_packets_dropped_total

COUNTER

受信中にドロップされたパケットの累積カウント。

container_network_receive_packets_total

COUNTER

受信したパケットの累積カウント。

container_network_tcp6_usage_total

GAUGE

コンテナの TCP6 接続の数。

container_network_tcp_usage_total

GAUGE

コンテナの TCP 接続の数。

container_network_transmit_bytes_total

COUNTER

送信されたバイト数の累積カウント。

container_network_transmit_errors_total

COUNTER

送信中に発生したエラーの累積カウント。

container_network_transmit_packets_dropped_total

COUNTER

送信中にドロップされたパケットの累積カウント。

container_network_transmit_packets_total

COUNTER

送信されたパケットの累積カウント。

container_network_udp6_usage_total

GAUGE

コンテナの UDP6 接続の数。

container_network_udp_usage_total

GAUGE

コンテナの UDP 接続の数。

container_oom_events_total

COUNTER

コンテナで観測されたメモリ不足イベントの数。

container_perf_events_scaling_ratio

GAUGE

perf イベントカウンターのスケーリング比率。

container_perf_events_total

COUNTER

perf コアイベントのスケーリングされたカウンター。

container_perf_uncore_events_scaling_ratio

GAUGE

perf アンコアイベントカウンターのスケーリング比率。イベントはイベントラベルで識別できます。「PMU」ラベルと「socket」ラベルは、イベントが測定された Performance Monitoring Unit (PMU) と CPU ソケットを示します。

container_perf_uncore_events_total

COUNTER

perf アンコアイベントのスケーリングされたカウンター。イベントはイベントラベルで識別できます。「PMU」ラベルと「socket」ラベルは、イベントが測定された PMU と CPU ソケットを示します。

container_processes

GAUGE

コンテナで実行されているプロセスの数。

container_referenced_bytes

GAUGE

/proc/smaps ファイルの Referenced フィールドに基づく、最後の測定サイクル中のコンテナ参照バイト数。

container_sockets

GAUGE

コンテナの開いているソケットの数。

container_spec_cpu_period

GAUGE

コンテナの CPU 期間。

container_spec_cpu_quota

GAUGE

コンテナの CPU クォータ。

container_spec_cpu_shares

GAUGE

コンテナの CPU シェア。

container_spec_memory_limit_bytes

GAUGE

コンテナのメモリ制限。

container_spec_memory_reservation_limit_bytes

GAUGE

コンテナのメモリ予約制限。

container_spec_memory_swap_limit_bytes

GAUGE

コンテナのメモリ スワップ制限。

container_start_time_seconds

GAUGE

コンテナの開始時刻。形式:Unix タイムスタンプ。

container_tasks_state

GAUGE

指定された状態 (スリープ、実行中、停止、中断不可、iowait) のタスクの数。

container_threads

GAUGE

コンテナで実行されているスレッドの数。

container_threads_max

GAUGE

コンテナで許可されるスレッドの最大数。

container_ulimits_soft

GAUGE

コンテナのルートプロセスのソフト ulimit 値。

machine_cpu_cache_capacity_bytes

GAUGE

NUMA ノードと CPU コアに割り当てられたキャッシュサイズ(バイト単位)。

machine_cpu_cores

GAUGE

論理 CPU コアの数。

machine_cpu_physical_cores

GAUGE

物理 CPU コアの数。

machine_cpu_sockets

GAUGE

CPU ソケットの数。

machine_dimm_capacity_bytes

GAUGE

すべてのメモリモジュールの合計 RAM DIMM 容量。

machine_dimm_count

GAUGE

RAM DIMM の数。

machine_memory_bytes

GAUGE

マシンにインストールされているメモリ量。

machine_swap_bytes

GAUGE

マシンで使用可能なスワップメモリの量。

machine_node_distance

GAUGE

NUMA ノードとターゲット NUMA ノード間の距離。

machine_node_enormouspages_count

GAUGE

NUMA ノードに割り当てられた enormouspage の数。

machine_node_memory_capacity_bytes

GAUGE

NUMA ノードに割り当てられたメモリ量。

machine_nvm_avg_power_budget_watts

GAUGE

不揮発性メモリ (NVM) の電力バジェット。

machine_nvm_capacity

GAUGE

NVM 容量値。

machine_thread_siblings_count

GAUGE

CPU スレッドシブリングの数。

参考文献

効率的で安定した Docker コンテナ監視システムを構築するにはどうすればよいですか?