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

Container Service for Kubernetes:ack-sysom-monitorを有効にして使用する

最終更新日:Dec 12, 2024

System Observer Monitoring (SysOM) は、OSカーネルレベルのコンテナ監視方法です。 Container Service for Kubernetes (ACK) では、SysOMに基づいてOSカーネルレベルでコンテナーを監視できます。この機能は、コンテナー化されたアプリケーションとモニターコンテナーのデプロイと移行に役立ちます。 このトピックでは、ack-sysom-monitorを有効にして使用する方法について説明します。 このトピックでは、コンテナモニタリングのSysOMメトリクスについても説明します。

前提条件

ack-sysom-monitorの概要

ack-sysom-monitorは、拡張されたBerkeley Packet Filter (eBPF) テクノロジを使用して、ノードとコンテナのメトリックを収集し、カーネルレベルでメトリックを強化するSysOMコンポーネントです。 ack-sysom-monitorは、システムメトリックに加えて、強化されたメトリックも提供し、ポッドカーネルレベルのモニタリングとノードカーネルレベルのモニタリングをサポートし、システムジッタ、遅延、リソースリーク、ポッドメモリ例外などの一般的な問題を特定するのに役立ちます。

ack-sysom-monitorの請求

ack-sysom-monitorコンポーネントを有効にすると、関連コンポーネントは自動的にManaged Service for Prometheusにモニタリングメトリックを送信します。 これらのメトリックはカスタムメトリックと見なされます。 カスタム指標には料金がかかります。

この機能を有効にする前に、課金の概要を読んで、カスタムメトリクスの課金ルールを理解することをお勧めします。 料金は、クラスターサイズとアプリケーション数によって異なります。 リソース使用量の表示の手順に従って、リソース使用量を監視および管理できます。

ack-sysom-monitorを有効にする

  1. 最初に

    ARMSコンソールを使用します。

  2. 左側のナビゲーションウィンドウで、[統合センター] をクリックします。

  3. [統合センター] ページの [インフラストラクチャ] セクションで、[SysOMシステム観察] を見つけてクリックします。

  4. SysOMシステム観察パネルの [統合の開始] ステップで、統合するACKクラスターを選択し、[OK] をクリックします。

ack-sysom-monitorの使用

手順

  1. ACKコンソールにログインします。 左側のナビゲーションウィンドウで、[クラスター] をクリックします。

  2. [クラスター] ページで、管理するクラスターの名前をクリックします。 左側のウィンドウで、[操作] > [Prometheusモニタリング] を選択します。

  3. [Prometheus Monitoring] ページで、[SysOM] タブをクリックして、ack-sysom-monitorによって提供されるメトリクスを表示します。

    ack-sysom-monitorは、ノードカーネルレベルのモニタリングとポッドカーネルレベルのモニタリングをサポートしています。

    • ノードカーネルレベルのモニタリング

      [SysOM-ノード] タブでは、ノードのCPU、メモリ、スケジューリング、ストレージ、およびネットワークメトリックを表示できます。

      image.png

    • ポッドカーネルレベルのモニタリング

      [SysOM - Pods] タブでは、ポッドのメモリ、CPU、ネットワーク、およびI/Oメトリックをリアルタイムで表示できます。

      image.png

次に何をすべきか

SysOMに基づいてカーネルレベルのコンテナーモニタリングを無効にする場合は、ack-sysom-monitorコンポーネントをアンインストールします。 これにより、追加料金の発生が回避される。 詳細については、「コンポーネントの管理」をご参照ください。

メトリクス

ack-sysom-monitorによって提供されるメトリックは、Prometheusで使用されるデータモデルに基づいて定義されます。

ノードメトリクス

ノードメトリックには、CPU、メモリ、ストレージ、ネットワーク、およびその他のメトリックが含まれます。

CPUとスケジューリングに関連するメトリック

メトリック

タイプ

単位

説明

sysom_proc_cpu_total

gauge

%

ノードのCPU稼働時間に関する情報を表示します。

このメトリックは、CPU稼働時間の合計に対する状態のCPU稼働時間の比率を示します。 次の状態がサポートされています: ユーザーモード、カーネルモード、softirq、hardirq、idle、およびiowait。

sysom_proc_cpus

gauge

%

ノード上のCPUの稼働時間に関する情報を表示します。

このメトリックは、CPUの全稼働時間に対する状態のCPUの稼働時間の比率を示します。 次の状態がサポートされています: ユーザーモード、カーネルモード、softirq、hardirq、idle、およびiowait。

sysom_proc_sirq

gauge

%

ノードのsoftirqに関する情報を表示します。

このメトリックは、各タイプのsoftirqが発生する回数を示します。 サポートされるsoftirqタイプには、HI、TIMER、NET_TX、NET_RX、BLOCK、IRQ_POLL、TASKLET、SCHED、HRTIMER、およびRCU softirqが含まれます。

sysom_proc_stat_counters

gauge

-

ノードがDステートで過剰な数のプロセスを実行しているかどうかと、システムの負荷に関する情報を表示します。

このメトリックは、実行中またはD状態のプロセス数を示します。 また、システムの起動時刻やコンテキストの切り替え回数も示します。

sysom_proc_loadavg

gauge

-

ノードの負荷平均を表示します。

このメトリックは、実行長、前の1分以内の負荷平均、前の5分以内の負荷平均、前の15分以内の負荷平均、およびシステムプロセスの総数を含む負荷平均を示します。

sysom_proc_schedstat

gauge

ns (ナノ秒)

ノードのスケジューリング待ち時間に関する情報を表示します。

このメトリックには、現在のCPUのキュー内のプロセスの待機時間や、現在のCPUで実行されるタイムスライスの長さなど、CPUスケジューリングに関連する統計が表示されます。

sysom_cpu_dist

gauge

-

ノードの全体的なスケジューリング情報を表示します。

このメトリックは、プロセスがCPUを解放する時間から、プロセスがCPUにスケジュールされる次の時間までの間隔を示します。 メトリックはまた、プロセスが次の間隔のそれぞれに入る回数をカウントします: 1us、10us、100us、1ms、10ms、100ms、および1s。

メモリに関連するメトリック

メトリック

タイプ

単位

説明

sysom_proc_meminfo

gauge

KiB

ノード上のさまざまな種類のメモリリソースの使用率を表示します。

このメトリックは、総メモリ (total) 、空きメモリ (free) 、使用可能メモリ (available) 、キャッシュ (Cache) 、バッファ (buffers) 、再生可能メモリ (SReclaimable) 、および再生不可能メモリ (SUnreclaim) を含むメモリ使用量を示します。

sysom_proc_vmstat

gauge

-

ノードのメモリ使用量とメモリイベントを詳細に表示します。

このメトリックは、さまざまなページとメモリイベントのメモリ統計を示します。 メモリ情報およびメモリイベントは、フリーページ (free pages) 、ダーティページ (dirty Pages) 、ページ読み取りおよび書き込み (pages Read/Write) 、非アクティブリストから回収されたページの数 (非アクティブリストから回収されたページ) 、およびメモリアウト (OOM) キラーがアプリケーションを殺す回数を含む。

sysom_proc_buddyinfo

gauge

-

バディシステムがカーネルメモリを割り当て、解放する方法に関する情報を表示します。

このメトリックは、すべてのメモリノードとゾーン、およびリンクリスト内のさまざまなサイズのブロック数など、カーネルバディシステムに関する詳細情報を示します。

ストレージに関連するメトリック

メトリック

タイプ

単位

説明

sysom_proc_disks

gauge

-

ノード上の各ディスクの入力、出力、IOPS、およびレイテンシに関する情報を表示します。

このメトリックは、パーティションによって完了された読み取りおよび書き込み要求の数、読み取りおよび書き込み要求の完了に使用された合計時間、読み取りおよび書き込み要求がマージされた回数、および実行中の読み取りおよび書き込み要求の数を含む、ディスクおよびパーティションの統計を示します。

sysom_fs_stat

gauge

-

ノードにマウントされたファイルシステムの使用状況を表示します。

このメトリックは、ファイルシステムのマウントターゲット、ブロックサイズ、使用済みブロックの数と使用可能なブロックの数、使用済みiノードの数と使用可能なiノードの数など、ファイルシステムの使用状況を示します。

Metrics related to networks

メトリック

タイプ

単位

説明

sysom_proc_networks

gauge

-

ノード上のネットワークインターフェイスカード (NIC) のデータ転送に関する情報を表示します。

このメトリックは、NICによって受信または送信されたデータパケットの総数、バイトの総数、デバイスドライバによって破棄されたデータパケットの総数、および送信または受信に失敗したデータパケットの総数を含む、NICのデータ転送情報を示します。

sysom_proc_pkt_status

gauge

-

ノードのネットワークプロトコルスタックによって処理されたデータパケットに関する情報を表示します。

このメトリックは、データパケットがネットワークプロトコルスタックを通過するときに発生するイベントの数を示します。これには、パケット損失の回数、オーバーフローの回数、無効なアサーションの回数などが含まれます。

sysom_sock_stat

gauge

-

このメトリックは、アプリケーションロジックまたはシステムパラメーターによって引き起こされるソケット不足またはバッファの問題を特定するのに役立ちます。

メトリックには、ソケットとバッファの使用状況に関する統計が表示されます。これには、合計ソケット、生ソケット、TCPソケット、UDPソケットの使用状況、TCPタイムウェイトまたはオーファン状態のソケット数、TCPソケットとUDPソケットのメモリ使用状況が含まれます。

sysom_softnets

gauge

-

ノード上の各CPUのNICソフトウェアが受信したデータパケットに関する情報を表示します。

このメトリックは、softirqによって受信または送信されたパケットの数、およびパケット受信softirqを処理するためにnet_rx_action関数が呼び出された回数など、CPUのNIC softirqに関する統計を示します。

sysom_net_health_hist

gauge

-

ノード上のすべてのTCP接続の往復時間 (RTT) の傾向を表示します。

このメトリックは、ノード上のすべてのTCP接続のRTTの傾向を示します。 10ミリ秒、100ミリ秒、1秒など、各平均RTT値に対応する接続数をカウントします。

sysom_net_health_count

gauge

-

このメトリックは、sysom_net_health_hlistメトリックに似ています。 このメトリックは、TCP接続の平均RTTを示します。

sysom_net_retrans_count

gauge

-

ノード上のすべてのTCP接続に関する再送信情報を表示します。

このメトリックは、TCP接続を介して再送信されるデータパケットのタイプと、各タイプの再送信データパケット (SYN、SYN-ACK、RESETパケットなど) の数を示します。

sysom_net_tcp_count

gauge

-

ノード上のTCP接続に関する基本情報を表示します。

このメトリックは、アクティブなTCP接続の数、受信または送信されたTCPセグメントの数、再送信されたTCPセグメントの数、受信に失敗したパケットの数など、TCP接続に関する統計を示します。

sysom_net_udp_count

gauge

-

ノード上のUDP接続に関する基本情報を表示します。

このメトリックは、受信または送信されたUDPパケットの数、UDP送信または受信バッファでエラーが発生した回数、使用可能なポートがないためにエラーが発生したデータパケットの数など、UDP接続に関する統計を示します。

sysom_net_ip_count

gauge

-

ノードのIPレイヤに関する基本情報を表示します。

このメトリックは、転送、受信、または送信されたデータパケットの数など、IP層に関する統計を示します。

sysom_net_icmp_count

gauge

-

ノードのICMPプロトコルに関する基本情報を表示します。

このメトリックは、ICMPによって受信または送信されるデータパケットの数、および受信または送信に失敗したデータパケットの数など、ICMPプロトコルに関する統計を示します。

その他のシステム指標

メトリック

タイプ

単位

説明

sysom_cgroups

gauge

-

異なるcgroupサブシステムで使用されるcgroupの数を表示して、cgroupリークの識別に役立ちます。

このメトリックは、CPU、Cpuacct、Memory、Pids、Blkio、およびDevicesサブシステムを含む、異なるcgroupサブシステム内のcgroupの数を示します。

sysom_uptime

gauge

s (秒)

システム負荷を表示します。

このメトリックは、システムが起動してから現在までのシステムの稼働時間を示します。 このメトリックは、システムのアイドル時間も示します。

コンテナーに関連するメトリック

コンテナメトリックには、CPU、メモリ、IO、ネットワーク、およびその他のメトリックが含まれます。

CPUとスケジューリングに関連するメトリック

メトリック

タイプ

単位

説明

sysom_container_cpu_stat

gauge

-

リソースクォータを調整する必要があるか、その他の最適化が必要かを監視および評価するのに役立ちます。

このメトリックは、各cgroupでCPU制限が適用される回数、CPU制限が適用される合計回数、CPU制限の適用期間など、コンテナーのCPU制限に関する統計を示します。

sysom_container_cpu_acctstat

gauge

%

コンテナーのCPU使用率情報を表示します。

このメトリックは、ユーザーモードでのCPU使用率、カーネルモードでのCPU使用率、および合計CPU使用率を含む、各モードで実行されるコンテナー内のタスクのCPU使用率を示します。

sysom_container_cpu_cfsquota

gauge

-

コンテナが完全公平スケジューラ (CFS) によって制限される期間を表示します。

このメトリックは、cfs_period_usおよびcfs_quota_usパラメーターを含む、各CFS時間ウィンドウ内でコンテナが実行できる時間を示します。

  • cfs_period_usパラメーターは、時間ウィンドウの長さを示します。

  • cfs_quota_usパラメーターは、cgroup内のプロセスまたはタスクが時間ウィンドウ (cfs_period_us) 内でCPUリソースを使用できる合計時間を示します。

メモリに関連するメトリック

メトリック

タイプ

単位

説明

sysom_container_memory_stat

gauge

KiB

コンテナー内のさまざまな種類のメモリリソースの使用率を表示します。

このメトリックは、合計メモリ (total) 、空きメモリ (free) 、使用可能メモリ (available) 、キャッシュ (Cache) 、バッファ (buffers) 、再生可能メモリ (SReclaimable) 、および再生不可能メモリ (SUnreclaimable) を含む、コンテナのメモリ使用量に関する統計を示します。

sysom_container_memory_filecache

gauge

KiB

このメトリックは、コンテナ内のページキャッシュの使用状況をすばやく把握し、メモリ不足、メモリ遅延、ページキャッシュの過剰使用によるメモリのジッターなどの問題を特定するのに役立ちます。

メトリックは、各コンテナ内で最も多くのページキャッシュを占有する上位10個のファイル、各ファイルのサイズ、および占有されるページキャッシュの合計サイズを含む、コンテナ内のページキャッシュの使用量を示します。

sysom_container_memory_gdrcm_latency

gauge

メモリリソース不足によるメモリ再利用による遅延の数と遅延時間が表示されます。

このメトリックは、1ミリ秒から5ミリ秒までの遅延数、5ミリ秒から10ミリ秒までの遅延数、10ミリ秒から100ミリ秒までの遅延数、100ミリ秒から500ミリ秒までの遅延数、遅延の数は500ミリ秒から1,000ミリ秒の範囲で、遅延の数は1,000ミリ秒を超えます。

sysom_container_memory_cdrcm_latency

gauge

不十分なメモリcgroupによるメモリ再利用によって引き起こされた遅延の数と遅延の持続時間を表示します。

説明

このメトリックは、現在のメモリcgroupが非ルートcgroupである場合、またはメモリ制限が現在のメモリcgroupに設定されている場合にのみ有効です。

このメトリックは、1ミリ秒から5ミリ秒の範囲の遅延数、5ミリ秒から10ミリ秒の範囲の遅延数、10ミリ秒から100ミリ秒の範囲の遅延数、100ミリ秒から500ミリ秒の範囲の遅延数、遅延の数は500ミリ秒から1,000ミリ秒の範囲で、遅延の数は1,000ミリ秒を超えます。

sysom_container_memory_cpt_latency

gauge

カーネルメモリの調整による遅延の数を表示します。 コンテナ内のプロセスがメモリリソースに適用されると、ノードのメモリが不足しているか、メモリフラグメントの数が多すぎると、メモリ調整がトリガーされます。

このメトリックは、1ミリ秒から5ミリ秒の範囲の遅延数、5ミリ秒から10ミリ秒の範囲の遅延数、10ミリ秒から100ミリ秒の範囲の遅延数、100ミリ秒から500ミリ秒の範囲の遅延数、遅延の数は500ミリ秒から1,000ミリ秒の範囲で、遅延の数は1,000ミリ秒を超えます。

IOに関連するメトリック

メトリック

タイプ

単位

説明

sysom_container_blkio_stat

gauge

-

コンテナーに関する基本的なIO情報を表示します。

このメトリックは、コンテナが使用するディスクのIO統計を示します。これには、ディスクへの読み取りまたは書き込み要求の数とバイト、キューに送信された読み取りまたは書き込み要求の数とバイト、読み取りまたは書き込み要求の待機時間が含まれます。

Metrics related to networks

メトリック

タイプ

単位

説明

sysom_container_network_stat

gauge

-

コンテナに関する基本的なデータ転送情報を表示します。

このメトリックは、仮想NICによって受信または送信されたデータパケットまたはバイトの数、および仮想NICデバイスによって破棄されたデータパケットの数を含む、仮想NICのデータ転送統計を示します。 ネットワークプロトコルスタックによって破棄されるデータパケットは考慮されない。