현재 Grafana는 V8.4.4를 사용하고 있고 제가 원하는 바는 이렇습니다.
아래와 같은 Grafana의 대시보드가 있으면
파랑색 박스는 그 전날과 비슷한 시간에 똑같이 CPU의 사용률이 올랐기에 Alert를 발생하지 않고
빨간색 박스는 그 전날과 다르게 CPU의 사용률이 측정되었기에 Alert를 발생시킵니다.
이것을 응용한다면 어제가 아닌 지난 주의 값을 비교할 수 있고
반복적인 작업이 있다면 그 부분을 제외하고 Alert를 발생할 수 있는 것입니다.
위와 같이 설정하고 싶다면 Grafana의 Alert Rule의 쿼리 부분을 계산해야합니다.
먼저 새로운 Alert Rule을 만든 다음 핵심적인 부분은 2개의 빨간색 박스입니다.
먼저 전날과 비교하려면 총 2개의 Query와 3개의 Expression이 필요합니다.
위의 A와 B쿼리는 Node-exporter에서 CPU 사용률을 가져오는 쿼리이며
B를 자세히 보시면 시간이 'now-1460m to now 1430m'을 보실 수 있습니다.
A가 4월 2일 오후 2시 50분부터 3시까지의 값을 읽어온다면
B는 4월 1일 오후 2시 40분부터 3시 10분까지의 값을 읽어옵니다.
그 이유는 작업마다 CPU가 치솟는 시간대가 약간 다를 수 있고 A를 완전히 감싸고 있어야한다고 생각해서
A의 기준값에 +-10분을 해주었습니다.
C, D는 Reduce를 통해 A와 B의 Max값을 선장하고
E는 Math를 통해 C와 D값의 차이를 구하여 30이상 벌어졌을 경우 알람이 발생하게 됩니다.
Query와 Math를 잘 이용한다면 더 수준 높은 알람을 발생시킬 수 있다고 생각합니다.
'DevOps > Grafana' 카테고리의 다른 글
Grafana의 Alert 설정 (4) | 2022.04.07 |
---|