指標與監控
監控指南
DirectPV 節點透過連接埠 10443
匯出與 Prometheus 相容的指標資料。
為了在 Prometheus 中擷取資料,每個節點都必須可透過連接埠 10443
存取。
-
讓節點伺服器指標連接埠可透過
localhost:8080
存取。kubectl -n directpv port-forward node-server-4nd6q 8080:10443
-
將下列內容新增至您的 Prometheus 組態
scrape_configs: - job_name: 'directpv-monitor' # Override the global default and scrape targets from this job every 5 seconds. scrape_interval: 5s static_configs: - targets: ['localhost:8080'] labels: group: 'production'
-
在 Prometheus 網頁介面中使用 PromQL 執行 Prometheus 查詢,以測試組態。
例如,下列查詢會傳回
node1
的總位元組指標directpv_stats_bytes_total{node="node1"}
支援的指標
DirectPV 節點伺服器匯出下列指標
- directpv_stats_bytes_used
- directpv_stats_bytes_total
這些指標會依標籤 ['tenant'、'volumeID'、'node'] 分類,並表示已發佈磁碟區的磁碟區統計資料。
組態
套用下列 Prometheus 組態以擷取公開的指標
global:
scrape_interval: 15s
external_labels:
monitor: 'directpv-monitor'
scrape_configs:
- job_name: 'directpv-metrics'
scheme: http
metrics_path: /directpv/metrics
authorization:
credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: pod
relabel_configs:
- source_labels: [__meta_kubernetes_namespace]
regex: "directpv-(.+)"
action: keep
- source_labels: [__meta_kubernetes_pod_controller_kind]
regex: "DaemonSet"
action: keep
- source_labels: [__meta_kubernetes_pod_container_port_name]
regex: "healthz"
action: drop
target_label: kubernetes_port_name
- job_name: 'kubernetes-cadvisor'
scheme: https
metrics_path: /metrics/cadvisor
tls_config:
ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
insecure_skip_verify: true
authorization:
credentials_file: /var/run/secrets/kubernetes.io/serviceaccount/token
kubernetes_sd_configs:
- role: node
relabel_configs:
- action: labelmap
regex: __meta_kubernetes_node_label_(.+)
- source_labels: [__meta_kubernetes_namespace]
action: replace
target_label: kubernetes_namespace
- source_labels: [__meta_kubernetes_service_name]
action: replace
target_label: kubernetes_name
篩選
Prometheus 支援使用 PromQL 語言篩選結果。
例如,使用下列 PromQL 查詢磁碟區統計資料
-
若要篩選在
node-3
中排程的磁碟區directpv_stats_bytes_total{node="node-3"}
-
若要篩選在
node-5
中排程的tenant-1
的磁碟區directpv_stats_bytes_used{tenant="tenant-1", node="node-5"}