Prometheus Chart 15.5.3 預設 Metrics 參考手冊
Chart:
prometheus-community/prometheusv15.5.3
環境: AWS EKS(無自訂 scrape config)
最後更新: 2026-04-22
1. 概述
prometheus-community/prometheus chart 15.5.3 預設採用 annotation-based service discovery:Prometheus 會自動掃描 Kubernetes 內所有 Service 和 Pod,只要帶有特定 annotation 就會被納入抓取。
預設啟用的子元件
| 子元件 | 類型 | 說明 |
|---|---|---|
kube-state-metrics | Deployment | 將 Kubernetes 物件狀態轉成 kube_* metrics |
prometheus-node-exporter | DaemonSet | 每個節點上收集 OS 層級的 node_* metrics |
alertmanager | Deployment | 預設啟用,可透過 Helm values 關閉 |
pushgateway | Deployment | 預設啟用,可透過 Helm values 關閉 |
2. Scrape Jobs 清單
| Job 名稱 | 抓取來源 | 主要 Metrics 類別 | 備註 |
|---|---|---|---|
prometheus | Prometheus server /metrics | prometheus_* | 自我監控 |
kubernetes-apiservers | kube-apiserver /metrics(透過 apiserver) | apiserver_* | 只抓 HTTPS 443 |
kubernetes-nodes | kubelet /metrics(透過 apiserver proxy) | kubelet_* | 節點層級 kubelet 指標 |
kubernetes-nodes-cadvisor | kubelet /metrics/cadvisor(透過 apiserver proxy) | container_* | container 層級資源用量 |
kubernetes-service-endpoints | 有 prometheus.io/scrape: "true" 的 Service Endpoint | 應用程式自訂 metrics | annotation-based |
kubernetes-service-endpoints-slow | 同上,scrape timeout 更長 | 應用程式自訂 metrics | 給 /metrics 較慢的服務 |
kubernetes-pods | 有 prometheus.io/scrape: "true" 的 Pod | 應用程式自訂 metrics | annotation-based |
kubernetes-pods-slow | 同上,scrape timeout 更長 | 應用程式自訂 metrics | 給 /metrics 較慢的 Pod |
kubernetes-services | 有 prometheus.io/probe: "true" 的 Service | blackbox probe 結果 | HTTP probe(需 blackbox-exporter) |
3. kube-state-metrics 指標(kube_*)
kube-state-metrics 監聽 Kubernetes API Server,將物件的期望狀態(spec/status)轉成 Prometheus metrics。
3.1 Pod
| Metric Name | 說明 |
|---|---|
kube_pod_status_phase | Pod 目前的 phase(Pending/Running/Succeeded/Failed/Unknown) |
kube_pod_status_ready | Pod ready condition(0/1) |
kube_pod_container_status_running | container 是否在 running 狀態 |
kube_pod_container_status_waiting | container 是否在 waiting 狀態 |
kube_pod_container_status_waiting_reason | waiting 的原因(CrashLoopBackOff、ImagePullBackOff 等) |
kube_pod_container_status_terminated_reason | terminated 的原因(OOMKilled、Error 等) |
kube_pod_container_resource_requests | container 的 resource request(CPU/memory) |
kube_pod_container_resource_limits | container 的 resource limit(CPU/memory) |
kube_pod_container_status_restarts_total | container 重啟次數累計 |
kube_pod_info | Pod 的 metadata(node、namespace、ip 等) |
kube_pod_created | Pod 創建時間(unix timestamp) |
kube_pod_owner | Pod 的 owner reference(Deployment、DaemonSet 等) |
kube_pod_labels | Pod 的所有 labels(以 label_ 前綴轉成 metrics labels) |
kube_pod_annotations | Pod 的 annotation |
3.2 Deployment
| Metric Name | 說明 |
|---|---|
kube_deployment_status_replicas | 目前的 replica 數量 |
kube_deployment_status_replicas_ready | 目前 ready 的 replica 數量 |
kube_deployment_status_replicas_available | 目前 available 的 replica 數量 |
kube_deployment_status_replicas_unavailable | 目前 unavailable 的 replica 數量 |
kube_deployment_spec_replicas | 期望的 replica 數量 |
kube_deployment_status_observed_generation | Deployment controller 觀 察到的 generation |
kube_deployment_metadata_generation | spec 的 generation |
kube_deployment_status_condition | Deployment condition(Available、Progressing 等) |
3.3 StatefulSet
| Metric Name | 說明 |
|---|---|
kube_statefulset_status_replicas | 目前的 replica 數量 |
kube_statefulset_status_replicas_ready | 目前 ready 的 replica 數量 |
kube_statefulset_status_replicas_current | 目前版本的 replica 數量 |
kube_statefulset_spec_replicas | 期望的 replica 數量 |
kube_statefulset_status_observed_generation | 觀察到的 generation |
3.4 DaemonSet
| Metric Name | 說明 |
|---|---|
kube_daemonset_status_desired_number_scheduled | 期望在多少個節點上運行 |
kube_daemonset_status_current_number_scheduled | 目前已排程的數量 |
kube_daemonset_status_number_ready | 目前 ready 的數量 |
kube_daemonset_status_number_misscheduled | 不應排程卻被排程的數量 |
kube_daemonset_status_number_unavailable | unavailable 的數量 |
3.5 Node
| Metric Name | 說明 |
|---|---|
kube_node_status_condition | 節點 condition(Ready、MemoryPressure、DiskPressure、PIDPressure 等) |
kube_node_status_allocatable | 節點可分配的資源量(CPU、memory、pods) |
kube_node_status_capacity | 節點的總資源容量 |
kube_node_info | 節點 metadata(kernel、OS、容器 runtime 版本等) |
kube_node_created | 節點加入時間 |
kube_node_labels | 節點的 labels |
kube_node_spec_taint | 節點的 taint |
kube_node_spec_unschedulable | 節點是否被設為 unschedulable |
3.6 PersistentVolumeClaim(PVC)
| Metric Name | 說明 |
|---|---|
kube_persistentvolumeclaim_status_phase | PVC 的 phase(Bound/Pending/Lost) |
kube_persistentvolumeclaim_resource_requests_storage_bytes | PVC 申請的 storage 大小 |
kube_persistentvolumeclaim_info | PVC 的 metadata(storageClass、volumeName 等) |
3.7 PersistentVolume(PV)
| Metric Name | 說明 |
|---|---|
kube_persistentvolume_status_phase | PV 的 phase(Bound/Available/Released/Failed) |
kube_persistentvolume_capacity_bytes | PV 的容量 |
kube_persistentvolume_info | PV 的 metadata |
3.8 Job / CronJob
| Metric Name | 說明 |
|---|---|
kube_job_status_succeeded | 成功完成的 Pod 數量 |
kube_job_status_failed | 失敗的 Pod 數量 |
kube_job_status_active | 目前活躍的 Pod 數量 |
kube_job_complete | Job 是否已完成 |
kube_job_failed | Job 是否已失敗 |
kube_job_spec_completions | 期望的完成次數 |
kube_cronjob_next_schedule_time | 下次排程執行時間 |
kube_cronjob_status_last_schedule_time | 上次排程時間 |
kube_cronjob_status_active | 目前活躍的 Job 數量 |
3.9 HorizontalPodAutoscaler(HPA)
| Metric Name | 說明 |
|---|---|
kube_horizontalpodautoscaler_status_current_replicas | 目前的 replica 數量 |
kube_horizontalpodautoscaler_status_desired_replicas | HPA 期望的 replica 數量 |
kube_horizontalpodautoscaler_spec_min_replicas | 最小 replica 數 |
kube_horizontalpodautoscaler_spec_max_replicas | 最大 replica 數 |
kube_horizontalpodautoscaler_status_condition | HPA condition(ScalingActive、AbleToScale、ScalingLimited 等) |
3.10 Namespace / ResourceQuota
| Metric Name | 說明 |
|---|---|
kube_namespace_status_phase | Namespace 的 phase(Active/Terminating) |
kube_resourcequota | ResourceQuota 的 used/hard 值 |
3.11 Service / Endpoint
| Metric Name | 說明 |
|---|---|
kube_service_info | Service 的 metadata |
kube_service_spec_type | Service 類型(ClusterIP、NodePort、LoadBalancer) |
kube_endpoint_info | Endpoint 的基本資訊 |
kube_endpoint_address_available | Endpoint 可用位址數量 |
kube_endpoint_address_not_ready | Endpoint 不可用位址數量 |
4. node-exporter 指標(node_*)
node-exporter 以 DaemonSet 部署在每個節點上,收集 OS 層級的 metrics。
4.1 CPU
| Metric Name | 說明 |
|---|---|
node_cpu_seconds_total | CPU 各模式(user/system/idle/iowait/steal 等)累計秒數,Counter |
node_load1 | 1 分鐘平均負載 |
node_load5 | 5 分鐘平均負載 |
node_load15 | 15 分鐘平均負載 |
4.2 Memory
| Metric Name | 說明 |
|---|---|
node_memory_MemTotal_bytes | 節點總記憶體 |
node_memory_MemFree_bytes | 空閒記憶體 |
node_memory_MemAvailable_bytes | 可用記憶體(含 buffer/cache) |
node_memory_Buffers_bytes | Buffer 記憶體 |
node_memory_Cached_bytes | Cache 記憶體 |
node_memory_SwapTotal_bytes | Swap 總量 |
node_memory_SwapFree_bytes | 空閒 Swap |