Kubernetesを監視するための上位10のPromQLクエリ

この記事では、Kubernetes監視するための一般的なPrometheusクエリの例を示します。





Prometheusを使い始めたばかりで、PromQLクエリの作成に問題がある場合は、PromQLスタートガイドを参照することをお勧めしますここでは理論をスキップして、すぐに実践します。





この評価は、Sysdigの経験に基づいています。これは、毎日何百人もの顧客がクラスターの監視を設定するのを支援します。





1.各名前空間のポッドの数

各名前空間のポッドの数に関する情報は、クラスター内の異常を検出するのに役立ちます。たとえば、個別の名前空間にあるポッドが多すぎる場合などです。





sum by (namespace) (kube_pod_info)
      
      



2.各名前空間のCPU制限のないコンテナーの数

アプリケーションとクラスターのパフォーマンス最適化するには、制限を適切に設定することが重要です。このクエリは、CPU制限のないコンテナを検索します。





count by (namespace)(sum by (namespace,pod,container)(kube_pod_container_info{container!=""}) unless sum by (namespace,pod,container)(kube_pod_container_resource_limits{resource="cpu"}))
      
      



3. pods namespace

pods, . , pod CrashLoopBackOff:





sum by (namespace)(changes(kube_pod_status_ready{condition="true"}[5m]))
      
      



4. Pods Not Ready namespace

pods, . :





sum by (namespace)(kube_pod_status_ready{condition="false"})
      
      



5. —

, CPU limits . . :





sum(kube_pod_container_resource_limits{resource="cpu"}) - sum(kube_node_status_capacity_cpu_cores)
      
      



6. —

Memory limits , PodEviction, . PromQL:





sum(kube_pod_container_resource_limits{resource="memory"}) - sum(kube_node_status_capacity_memory_bytes)
      
      



7.

:





sum(kube_node_status_condition{condition="Ready", status="true"}==1)
      
      



8. ,

, Ready Not Ready:





sum(changes(kube_node_status_condition{status="true",condition="Ready"}[15m])) by (node) > 2
      
      



9.

Kubernetes — . , :





sum((rate(container_cpu_usage_seconds_total{container!="POD",container!=""}[30m]) - on (namespace,pod,container) group_left avg by (namespace,pod,container)(kube_pod_container_resource_requests{resource="cpu"})) * -1 >0)
      
      



10.

, :





sum((container_memory_usage_bytes{container!="POD",container!=""} - on (namespace,pod,container) avg by (namespace,pod,container)(kube_pod_container_resource_requests{resource="memory"})) * -1 >0 ) / (1024*1024*1024)
      
      



?

PromQL, , PromQL.





Awesome Prometheus alerts collection. Prometheus alert rules, , PromQL Prometheus.








All Articles