このページでは、Google Cloud Managed Service for Prometheus を使用して、厳選された一連の cAdvisor / Kubelet 指標を Cloud Monitoring に送信するように Google Kubernetes Engine(GKE)クラスタを構成する方法について説明します。このページでは、これらの指標が Monitoring に書き込まれる際の形式と、指標のクエリ方法についても説明します。
厳選された一連の指標は、デフォルトですべての Kubernetes Deployment に組み込まれた cAdvisor / Kubelet 指標セットのサブセットで、取り込み量と関連コストの削減に関連する指標が含まれます。
始める前に
作業を始める前に、次のタスクが完了していることを確認してください。
- Google Kubernetes Engine API を有効にする。 Google Kubernetes Engine API の有効化
 - このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化する。すでに gcloud CLI をインストールしている場合は、
gcloud components updateコマンドを実行して最新のバージョンを取得します。以前のバージョンの gcloud CLI では、このドキュメントのコマンドを実行できない場合があります。 
要件
cAdvisor / Kubelet の指標を収集するには、GKE クラスタが次の要件を満たしている必要があります。
- クラスタで GKE バージョン 1.29.3-gke.1093000 以降が実行されている。バージョン 1.29.3-gke.1093000 以降を実行するクラスタを作成すると、cAdvisor / Kubelet パッケージはデフォルトで有効になります。
 - クラスタでシステム指標が有効になっている。
 - クラスタで Google Cloud Managed Service for Prometheus マネージド コレクションが有効になっている。新しいクラスタでは、Google Cloud Managed Service for Prometheus マネージド コレクションがデフォルトで有効になっています。
 
cAdvisor / Kubelet 指標の収集の構成
cAdvisor / Kubelet 指標は、 Google Cloud コンソール、gcloud CLI、または Terraform を使用して、既存の GKE クラスタで有効にできます。
コンソール
クラスタの [詳細] タブで cAdvisor / Kubelet 指標を構成するには、次の操作を行います。
- 
Google Cloud コンソールで [Kubernetes クラスタ] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Kubernetes Engine] である結果を選択します。
 クラスタの名前をクリックします。
[機能] で「Cloud Monitoring」というラベルの付いた行の編集アイコンをクリックします。
表示された [Cloud Monitoring の編集] ダイアログ ボックスで、[Cloud Monitoring を有効にする] が選択されていることを確認します。
[コンポーネント] プルダウン メニューで、指標の収集元となる cAdvisor / Kubelet コンポーネントを選択します。
- cAdvisor
 - Kubelet
 
[OK] をクリックします。
[変更を保存] をクリックします。
gcloud
指標を収集するようにクラスタを更新します。
gcloud container clusters update CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --enable-managed-prometheus \
    --monitoring=SYSTEM,CADVISOR,KUBELET
次のように置き換えます。
CLUSTER_NAME: 既存のクラスタの名前。COMPUTE_LOCATION: クラスタの Compute Engine のロケーション。
monitoring フラグに指定された値のセットは、以前の設定をオーバーライドします。
Terraform
Terraform を使用して cAdvisor / Kubelet 指標の収集を構成するには、google_container_cluster の Terraform レジストリの monitoring_config ブロックをご覧ください。Terraform で Google Cloud を使用する場合の一般的な情報については、 Google Cloudと Terraform をご覧ください。
指標の形式
Cloud Monitoring に書き込まれる Kubernetes cAdvisor / Kubelet の指標はすべて、リソースタイプ prometheus_target を使用します。各指標名には接頭辞 prometheus.googleapis.com/ が使用され、Prometheus 指標タイプ(/gauge、/histogram、/counter など)を示す接尾辞が付いています。それ以外の場合、各指標名はオープンソースの Kubernetes によって公開される指標名と同一です。
Cloud Monitoring からのエクスポート
cAdvisor / Kubelet 指標は、Cloud Monitoring API を使用して Cloud Monitoring からエクスポートできます。すべての cAdvisor / Kubelet 指標は Google Cloud Managed Service for Prometheus を使用して取り込まれるため、cAdvisor / Kubelet 指標は Prometheus Query Language(PromQL)を使用してクエリできます。Monitoring Query Language(MQL)を使用してクエリすることもできます。
指標のクエリ
cAdvisor / Kubelet 指標をクエリするときに使用する名前は、PromQL と Cloud Monitoring ベースの機能(MQL、Metrics Explorer のメニュー形式のインターフェースなど)のどちらを使用するかによって異なります。
次の cAdvisor / Kubelet 指標の表では、指標名ごとに 2 つのバージョンを示します。
- PromQL の指標名: Google Cloud コンソールの Cloud Monitoring ページまたは Cloud Monitoring API の PromQL フィールドで PromQL を使用する場合は、PromQL の指標名を使用します。
 - Cloud Monitoring の指標名: 他の Monitoring 機能を使用する場合は、以下の表の Cloud Monitoring の指標名を使用します。この名前には 
prometheus.googleapis.com/を付ける必要があります(表中の項目では省略されています)。 
cAdvisor 指標
この表の Cloud Monitoring の指標名には、prometheus.googleapis.com/ という接頭辞を付ける必要があります。この接頭辞は、表中の項目では省略されています。
| PromQL の指標名 Cloud Monitoring の指標名  | 
  |
|---|---|
| 
     種類、タイプ、単位
 モニタリング対象リソース 必要な GKE バージョン  | 
   説明 ラベル  | 
  
    container_cpu_cfs_periods_totalcontainer_cpu_cfs_periods_total/counter
    | 
  |
    CUMULATIVE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     経過した適用期間の間隔回。30 秒ごとにサンプリングされます。cpu
    | 
  
    container_cpu_cfs_throttled_periods_totalcontainer_cpu_cfs_throttled_periods_total/counter
    | 
  |
    CUMULATIVE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     スロットリングされた期間の間隔数。30 秒ごとにサンプリングされます。cpu
    | 
  
    container_cpu_usage_seconds_totalcontainer_cpu_usage_seconds_total/counter
    | 
  |
    CUMULATIVE、DOUBLE、s
    prometheus_target 1.29.3-gke.1093000  | 
   
     CPU の累積消費時間。30 秒ごとにサンプリングされます。cpu
    | 
  
    container_fs_limit_bytescontainer_fs_limit_bytes/gauge
    | 
  |
    GAUGE、DOUBLE、By
    prometheus_target 1.29.3-gke.1093000  | 
   
     このファイル システム上のコンテナが消費可能なバイト数。30 秒ごとにサンプリングされます。disk
    | 
  
    container_fs_read_seconds_totalcontainer_fs_read_seconds_total/counter
    | 
  |
    CUMULATIVE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     完了した読み取りの累積数。30 秒ごとにサンプリングされます。diskIO
    | 
  
    container_fs_reads_bytes_totalcontainer_fs_reads_bytes_total/counter
    | 
  |
    CUMULATIVE、DOUBLE、By
    prometheus_target 1.29.3-gke.1093000  | 
   
     読み取りの累積バイト数。30 秒ごとにサンプリングされます。diskIO
    | 
  
    container_fs_reads_totalcontainer_fs_reads_total/counter
    | 
  |
    CUMULATIVE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     完了した読み取りの累積数。30 秒ごとにサンプリングされます。diskIO
    | 
  
    container_fs_usage_bytescontainer_fs_usage_bytes/gauge
    | 
  |
    GAUGE、DOUBLE、By
    prometheus_target 1.29.3-gke.1093000  | 
   
     このファイル システム上のコンテナによって消費されたバイト数。30 秒ごとにサンプリングされます。disk
    | 
  
    container_fs_write_seconds_totalcontainer_fs_write_seconds_total/counter
    | 
  |
    CUMULATIVE、DOUBLE、s
    prometheus_target 1.29.3-gke.1093000  | 
   
     書き込みの累積秒数。30 秒ごとにサンプリングされます。diskIO
    | 
  
    container_fs_writes_bytes_totalcontainer_fs_writes_bytes_total/counter
    | 
  |
    CUMULATIVE、DOUBLE、By
    prometheus_target 1.29.3-gke.1093000  | 
   
     書き込みの累積バイト数。30 秒ごとにサンプリングされます。diskIO
    | 
  
    container_fs_writes_totalcontainer_fs_writes_total/counter
    | 
  |
    CUMULATIVE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     完了した書き込みの累積数。30 秒ごとにサンプリングされます。diskIO
    | 
  
    container_memory_rsscontainer_memory_rss/gauge
    | 
  |
    GAUGE、DOUBLE、By
    prometheus_target 1.29.3-gke.1093000  | 
   
     RSS のサイズ。30 秒ごとにサンプリングされます。memory
    | 
  
    container_memory_working_set_bytescontainer_memory_working_set_bytes/gauge
    | 
  |
    GAUGE、DOUBLE、By
    prometheus_target 1.29.3-gke.1093000  | 
   
     現在の作業セット。30 秒ごとにサンプリングされます。memory
    | 
  
    container_network_receive_bytes_totalcontainer_network_receive_bytes_total/counter
    | 
  |
    CUMULATIVE、DOUBLE、By
    prometheus_target 1.29.3-gke.1093000  | 
   
     受信バイトの累積数。30 秒ごとにサンプリングされます。network
    | 
  
    container_network_receive_packets_dropped_totalcontainer_network_receive_packets_dropped_total/counter
    | 
  |
    CUMULATIVE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     受信中にドロップされたパケットの累積数。30 秒ごとにサンプリングされます。network
    | 
  
    container_network_receive_packets_totalcontainer_network_receive_packets_total/counter
    | 
  |
    CUMULATIVE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     受信したパケットの累積数。30 秒ごとにサンプリングされます。network
    | 
  
    container_network_transmit_bytes_totalcontainer_network_transmit_bytes_total/counter
    | 
  |
    CUMULATIVE、DOUBLE、By
    prometheus_target 1.29.3-gke.1093000  | 
   
     送信バイトの累積数。30 秒ごとにサンプリングされます。network
    | 
  
    container_network_transmit_packets_dropped_totalcontainer_network_transmit_packets_dropped_total/counter
    | 
  |
    CUMULATIVE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     送信中にドロップされたパケットの累積数。30 秒ごとにサンプリングされます。network
    | 
  
    container_network_transmit_packets_totalcontainer_network_transmit_packets_total/counter
    | 
  |
    CUMULATIVE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     送信されたパケットの累積数。30 秒ごとにサンプリングされます。network
    | 
  
Kubelet 指標
この表の Cloud Monitoring の指標名には、prometheus.googleapis.com/ という接頭辞を付ける必要があります。この接頭辞は、表中の項目では省略されています。
| PromQL の指標名 Cloud Monitoring の指標名  | 
  |
|---|---|
| 
     種類、タイプ、単位
 モニタリング対象リソース 必要な GKE バージョン  | 
   説明 ラベル  | 
  
    kubelet_certificate_manager_server_ttl_secondskubelet_certificate_manager_server_ttl_seconds/gauge
    | 
  |
    GAUGE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     Kubelet が提供する証明書の最も短い TTL(有効期間)のゲージ。この値は、証明書の有効期限までの秒数です(期限切れの場合は負の値になります)。提供している証明書が無効であるか未使用の場合、値は +INF になります。30 秒ごとにサンプリングされます。 | 
  
    kubelet_node_namekubelet_node_name/gauge
    | 
  |
    GAUGE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     ノードの名前。数は常に 1 です。30 秒ごとにサンプリングされます。node
    | 
  
    kubelet_pleg_relist_duration_secondskubelet_pleg_relist_duration_seconds/histogram
    | 
  |
    CUMULATIVE、DISTRIBUTION、s
    prometheus_target 1.29.3-gke.1093000  | 
   
     PLEG で Pod 一覧の再表示にかかる期間(秒)。30 秒ごとにサンプリングされます。 | 
  
    kubelet_pod_worker_duration_secondskubelet_pod_worker_duration_seconds/histogram
    | 
  |
    CUMULATIVE、DISTRIBUTION、s
    prometheus_target 1.29.3-gke.1093000  | 
   
     1 つの Pod の同期にかかる期間(秒)。オペレーションの種類(作成、更新、同期)で分類されます。30 秒ごとにサンプリングされます。operation_type
    | 
  
    kubelet_running_containerskubelet_running_containers/gauge
    | 
  |
    GAUGE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     現在実行中のコンテナの数。30 秒ごとにサンプリングされます。container_state
    | 
  
    kubelet_running_podskubelet_running_pods/gauge
    | 
  |
    GAUGE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     実行中の Pod サンドボックスがある Pod の数。30 秒ごとにサンプリングされます。 | 
  
    kubelet_runtime_operations_totalkubelet_runtime_operations_total/counter
    | 
  |
    CUMULATIVE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     ランタイム オペレーションの累積数。オペレーションの種類で分類されます。30 秒ごとにサンプリングされます。operation_type
    | 
  
    kubelet_volume_stats_available_byteskubelet_volume_stats_available_bytes/gauge
    | 
  |
    GAUGE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     Volume で使用可能なバイト数。30 秒ごとにサンプリングされます。namespace
     persistentvolumeclaim
    | 
  
    kubelet_volume_stats_capacity_byteskubelet_volume_stats_capacity_bytes/gauge
    | 
  |
    GAUGE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     Volume の容量(バイト数)。30 秒ごとにサンプリングされます。namespace
     persistentvolumeclaim
    | 
  
    kubelet_volume_stats_inodeskubelet_volume_stats_inodes/gauge
    | 
  |
    GAUGE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     Volume 内の i ノードの最大数。30 秒ごとにサンプリングされます。namespace
     persistentvolumeclaim
    | 
  
    kubelet_volume_stats_inodes_freekubelet_volume_stats_inodes_free/gauge
    | 
  |
    GAUGE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     Volume 内の空き i ノードの数。30 秒ごとにサンプリングされます。namespace
     persistentvolumeclaim
    | 
  
    kubelet_volume_stats_inodes_usedkubelet_volume_stats_inodes_used/gauge
    | 
  |
    GAUGE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     Volume 内で使用されている i ノードの数。30 秒ごとにサンプリングされます。namespace
     persistentvolumeclaim
    | 
  
    kubelet_volume_stats_used_byteskubelet_volume_stats_used_bytes/gauge
    | 
  |
    GAUGE、DOUBLE、1
    prometheus_target 1.29.3-gke.1093000  | 
   
     Volume で使用されているバイト数。30 秒ごとにサンプリングされます。namespace
     persistentvolumeclaim
    |