メインコンテンツまでスキップ
Sumo Logic Japanese

Kubernetes メトリクス

このページでは、「sumologic-kubernetes-collection Deployment Guide (デプロイ ガイド)」で説明されているコレクション ソリューションをデプロイするときに収集される Kubernetes メトリクスの一覧を示します。

このページでは、「sumologic-kubernetes-collection Deployment Guide (デプロイ ガイド)」で説明されているコレクション ソリューションをデプロイするときに収集される Kubernetes メトリクスの一覧を示します。 

収集するメトリクスは、overrides.xml ファイルで指定します。デプロイ ガイドには、メトリクスのフィルタリングと再ラベル指定に関する情報、およびカスタム Prometheus メトリクスを Sumo Logic に送信する方法が記載されています。

Kube 状態メトリクス (kube-state-metrics)

kube-state-metrics は、Kubernetes API サーバをリッスンし、デプロイ、ノード、ポッドなどのオブジェクトの状態に関するメトリクスを生成するサービスです。

kube-state-metrics は Helm を使用してデプロイできます。Sumo Logic の Helm グラフをインストールするときには、考慮が必要な依存関係があります。重複を避けるために、単独の FluentD インスタンスを使用してメトリクスを収集します。  

kube-state-metrics は、GKE、EKS、AKS などの管理された Kubernetes 環境で使用するか、または自分で管理している Kubnetes デプロイで使用できます。

収集する kube-state-metrics メトリクス

このセクションでは、収集することが望ましいメトリクスを示します。すべての kube-state-metrics およびメトリクスの説明については、https://github.com/kubernetes/kube-s...ee/master/docs を参照してください。

  • デーモンセット
    • kube_daemonset_status_current_number_scheduled
    • kube_daemonset_status_desired_number_scheduled
    • kube_daemonset_status_number_misscheduled
    • kube_daemonset_status_number_unavailable
    • kube_daemonset_metadata_generation
  • デプロイ
    • kube_deployment_metadata_generation
    • kube_deployment_spec_paused
    • kube_deployment_spec_replicas
    • kube_deployment_spec_strategy_rollingupdate_max_unavailable
    • kube_deployment_status_observed_generation
    • kube_deployment_status_replicas_available
    • kube_deployment_status_replicas_unavailable
  • ノード
    • kube_node_info
    • kube_node_spec_unschedulable
    • kube_node_status_allocatable
    • kube_node_status_capacity
    • kube_node_status_condition
  • ポッド
    • kube_pod_container_info
    • kube_pod_container_resource_requests
    • kube_pod_container_resource_limits
    • kube_pod_container_status_ready
    • kube_pod_container_status_terminated_reason
    • kube_pod_container_status_waiting_reason
    • kube_pod_status_phase

kube-state-metrics の表示

Prometheus 名前空間のクラスタにPrometheus Operator をインストールします。 

次のコマンドを実行して、Kubernetes API サーバへのプロキシを開始します。 

kubectl proxy 

メトリクスを表示するには、ブラウザを次の URL で開きます。 

http://127.0.0.1:8001/api/v1/namespaces/prometheus/services/kube-prometheus-exporter-kube-state:80/proxy/metrics

Controller Manager (kube-controller-manager) メトリクス

Controller Manager のメトリクスによって、Controller Manager の重要なパフォーマンスと健全性を把握できます。

Controller Manager と通信するには、サービスをデプロイする必要があります。このデプロイは Prometheus Operator によって行われます。

kube-controller-manager メトリクスは、自分で管理している Kubnetes デプロイで収集できます。kube-controller-manager は、GKE、EKS、AKS などの管理された Kubernetes 環境では収集できません。  

収集する kube-controller-manager メトリクス

cloudprovider_*_api_request_duration_seconds*

kube-controller-manager メトリクスの表示 

Prometheus 名前空間のクラスタにPrometheus Operator をインストールします。  

次のコマンドを実行して、Kubernetes API サーバへのプロキシを開始します。 

kubectl proxy 

メトリクスを表示するには、ブラウザを次の URL で開きます。 

http://127.0.0.1:8001/api/v1/namespaces/kube-system/services/kube-prometheus-exporter-kube-controller-manager:10252/proxy/metrics

Scheduler (kube-scheduler) メトリクス

Scheduler と通信するには、サービスをデプロイする必要があります。このデプロイは Prometheus Operator によって行われます。

kube-scheduler メトリクスは、自分で管理している Kubnetes デプロイで収集できます。kube-scheduler メトリクスは、GKE、EKS、AKS などの管理された Kubernetes 環境では収集できません。  

収集する kube-scheduler メトリクス

  • scheduler_e2e_scheduling_latency_microseconds*
  • scheduler_binding_latency_microseconds*
  • scheduler_scheduling_algorithm_latency_microseconds*

kube-scheduler メトリクスの表示 

Prometheus 名前空間のクラスタに Prometheus Operator をインストールします。

次のコマンドを実行して、Kubernetes API サーバへのプロキシを開始します。 

kubectl proxy 

メトリクスを表示するには、ブラウザを次の URL で開きます。 

http://127.0.0.1:8001/api/v1/namespaces/kube-system/services/kube-prometheus-exporter-kube-controller-manager:10252/proxy/metrics

API サーバ (apiserver) メトリクス

apiserver メトリクスは、GKE、EKS、AKS などの管理された Kubernetes 環境で収集するか、または自分で管理している Kubnetes デプロイで収集できます。

重複を避けるために、単一のワーカーでメトリクスを収集する必要があります。

  • 収集する apiserver メトリクス
  • apiserver_request_count
  • apiserver_request_latencies*
  • etcd_request_cache_get_latencies_summary*
  • etcd_request_cache_add_latencies_summary*
  • etcd_helper_cache_hit_count
  • etcd_helper_cache_miss_count

apiserver メトリクスの表示


Prometheus 名前空間のクラスタにPrometheus Operator をインストールします。

次のコマンドを実行して、Kubernetes API サーバへのプロキシを開始します。 

kubectl proxy 

メトリクスを表示するには、ブラウザを次の URL で開きます。  

http://127.0.0.1:8001/metrics

Kubelet (kubelet) メトリクス

Kubelet は、Kubernetes マスターと Kubernetes ノード間のブリッジとして機能します。このメトリクスはマシンで実行されているポッドとコンテナを管理します。 

kubelet は、GKE、EKS、AKS などの管理された Kubernetes 環境で収集するか、または自分で管理している Kubnetes デプロイで収集できます。

クラスター内の各ノードから収集します。

収集するメトリクス

  • kubelet_docker_operations_errors
  • kubelet_docker_operations_latency_microseconds*
  • kubelet_running_container_count
  • kubelet_running_pod_count
  • kubelet_runtime_operations_latency_microseconds*
  • etcd_helper_cache_hit_count
  • etcd_helper_cache_miss_count

kubelet メトリクスの表示

Prometheus 名前空間のクラスタにPrometheus Operator をインストールします。

次のコマンドを実行して、Kubernetes API サーバへのプロキシを開始します。 

kubectl proxy 

メトリクスを表示するには、ブラウザを次の URL で開きます。 

http://127.0.0.1:8001/api/v1/nodes/NODE_NAME/proxy/metrics
 
ここで、NODE_NAME は、ノードの名前です。例:

http://127.0.0.1:8001/api/v1/nodes/ip-172-20-114-48.us-west-2.compute.internal/proxy/metrics

cAdvisor (kubelet) メトリクス

cAdvisor は、コンテナ リソースの使用量およびパフォーマンスのオープン ソース分析エージェントです。

CAdvisor メトリクスは、GKE、EKS、AKS などの管理された Kubernetes 環境で収集するか、または自分で管理している Kubnetes デプロイで収集できます。

デフォルトでは、クラスタ内の各ノードから収集され、container_name が空または POD のレコードが除外されます。

収集するメトリクス

  • container_cpu_load_average_10s
  • container_cpu_system_seconds_total
  • container_cpu_usage_seconds_total
  • container_cpu_cfs_throttled_seconds_total
  • container_memory_usage_bytes
  • container_memory_swap
  • container_spec_memory_limit_bytes
  • container_spec_memory_swap_limit_bytes
  • container_spec_memory_reservation_limit_bytes
  • container_fs_usage_bytes
  • container_fs_limit_bytes
  • container_fs_writes_bytes_total
  • container_fs_reads_bytes_total
  • container_network_receive_bytes_total
  • container_network_transmit_bytes_total
  • container_network_receive_errors_total
  • container_network_transmit_errors_total

Prometheus 名前空間のクラスタに Prometheus Operator をインストールします。

次のコマンドを実行して、Kubernetes API サーバへのプロキシを開始します。 

kubectl proxy 

メトリクスを表示するには、ブラウザを次の URL で開きます。 

http://127.0.0.1:8001/api/v1/nodes/NODE_NAME/proxy/metrics/cadvisor

 ここで、NODE_NAME は、ノードの名前です。例:

http://127.0.0.1:8001/api/v1/nodes/ip-172-20-114-48.us-west-2.compute.internal/proxy/metrics/cadvisor

Node Exporter (node-exporter) メトリクス

Node Exporter メトリクスは、GKE、EKS、AKS などの管理された Kubernetes 環境で収集するか、または自分で管理している Kubnetes デプロイで収集できます。

デフォルトでは、クラスタ内の各ノードから収集されます。

収集する Node Exporter メトリクス

  • node_load1
  • node_load5
  • node_load15
  • node_cpu_seconds_total
  • node_memory_MemAvailable_bytes
  • node_memory_MemTotal_bytes
  • node_memory_Buffers_bytes
  • node_memory_SwapCached_bytes
  • node_memory_Cached_bytes
  • node_memory_MemFree_bytes
  • node_memory_SwapFree_bytes
  • node_ipvs_incoming_bytes_total
  • node_ipvs_incoming_packets_total
  • node_ipvs_outgoing_bytes_total
  • node_ipvs_outgoing_packets_total
  • node_disk_reads_completed_total
  • node_disk_writes_completed_total
  • node_disk_read_bytes_total
  • node_disk_written_bytes_total
  • node_filesystem_avail_bytes
  • node_filesystem_free_bytes
  • node_filesystem_size_bytes

Node Exporter メトリクスの表示

sumologic 名前空間に Prometheus Operator をインストールします。

次のように kubectl port-forward を実行します。 

kubectl -n sumologic port-forward svc/prometheus-operator-prometheus-node-exporter 9100

別のコンソールでこのコマンドを実行して、メトリクスサンプルを取得し、メトリクスが生成されていることを確認します。

curl localhost:9100/metrics

Prometheus Operator ルールによって作成されたメトリクス (デフォルト)

このメトリクスは、取り込み時に Prometheus ルールによって生成されます。これらは、Exporter では使用できません。Prometheus は、このメトリクスを取得アクティビティ時に作成します。ルールによって作成されたメトリクスは、リモート書き込み API で送信されます。

Prometheus Operator ルールによって作成されたメトリクスは、GKE、EKS、AKS などの管理された Kubernetes 環境で収集するか、または自分で管理している Kubnetes デプロイで収集できます。

収集するメトリクス

up (アップ) メトリクス

Prometheus は、スクレイプに成功したかどうかを示す、up (アップ) というメトリクスを生成します。「1」の値はスクレイプが成功したことを示し、「0」の値は失敗したことを示します。この up メトリクスは、ダウンした、または問題のあるターゲットをデバッグしてアラートを生成する場合に役立ちます。各ターゲットがスクレイプごとに up メトリクスを生成します。

  • この記事は役に立ちましたか?