2016-11-24 1 views
0

prometheus에 대한 경고 쿼리를 작성하고 싶습니다. 노드가 특정 메모리 % 이상을 소비하는 경우 경고를 발생시킵니다.prometheus에 대한 경고에서 모든 노드의 메모리 상태를 확인하십시오.

동적으로 노드를 가져 와서 메모리 상태를 확인하고 싶습니다.

  1. 은 { "/"= 작업 = "는 Kubernetes-노드", ID, 예 = "$ 노드를"}

  2. 루프 쿼리

    합 (container_memory_usage_bytes 각 노드에 걸쳐 모든 노드를 읽어)/합계 (machine_memory_bytes {작업 = "는 Kubernetes-노드"예 = "$ 노드"}) * 내가 노드

    의 정적 이름을 제공하는 경우 100

이 경고 작동 인스턴스를 유지하면서 내가 K8S 노드 IP와 같은 정적 IP를 추가 할 해달라고 0

ALERT HighMemoryAlert 
    IF 100 * sum(container_memory_usage_bytes{job="kubernetes-nodes", id="/",instance="ip-170-10-10-17.eu-west-1.compute.internal"})/sum(machine_memory_bytes{job="kubernetes-nodes",instance="ip-170-10-10-17.eu-west-1.compute.internal"}) > 90 
    FOR 15m 
    LABELS { 
    service = "k8s", 
    severity = "warning" 
    } 
    ANNOTATIONS { 
    summary = "HighMemoryAlert" 
    } 

는 모든 노드 충돌하는 경우 기간에 걸쳐 변화와 다른 IP로 만든 B 수

답변

1

당신이하고 싶은까지 집계입니다 레이블이므로 so

sum by (instance)(container_memory_usage_bytes{job="kubernetes-nodes", id="/"}) 
/
    sum by (instance)(machine_memory_bytes{job="kubernetes-nodes"}) * 100 
+0

That worked..thanks – Priyanka

관련 문제