들어가며
이 문서는 Apache 2.0 License인 Grafana v7.5.0 을 기준으로 작성했습니다.
Grafana v8.0 이후부터는 AGPLv3를 사용합니다.
Create Alerts
Grafana Alert을 통해 대시보드 패널에 룰을 첨부할 수 있습니다.
룰을 지정하고 대시보드를 저장하면, Grafana는 alert rules을 별도의 alert rules storage로 추출하고 이를 관리합니다.
Grafana v7.5 기준으로 그래프 패널의 Alert 탭에서만 알럿을 구성할 수 있습니다.
v8.0 이후부터 구성 파일, cli로 알럿을 구성하는 것이 가능합니다.
알럿 구성 세부사항은 공식 문서 참고
https://grafana.com/docs/grafana/v7.5/alerting/create-alerts/
Grafana alert 생성 시 주요 이슈
PromQL에 variable 사용시 alerting 불가
alert을 추가하고자 하는 대시보드 PromQL에 grafana에서 구성한 variable을 사용하면 알럿을 생성할 수 없음.
다음의 PromQL은 알럿 구성 불가
sum by (instance)(rate(node_cpu_seconds_total{mode="system",instance="$node",job="$job"}[$__rate_interval])) * 100
여기서 job은 grafana 에서 구성한 variable
다음의 PMQL은 알럿 구성 가능
1 - avg(rate(node_cpu_seconds_total{mode="idle", hostname=~"$hostname"}[$__interval])) by (hostname)
v7.5 기준으로 GUI 대쉬보드에서만 설정할 수 있음
Visualization - Graph panel 한정 alerting 가능
Panel Visualization type이 Graph인 경우에만 alert 구성이 가능합니다.
그 외 Time Series, Gauge 같은 경우 alert 구성을 지원하지 않습니다.
Grafana Query 입력 불량
Grafana Metrics에 Query를 직접 타이핑할 때 에러가 있습니다. (백문이불여일타 해보시면 바로 아실겁니다)
Prometheus에서 PromQL 쿼리 후 복사, 붙여넣기를 권장합니다.
range에 __intervals 사용시 exception error
range를 설정하는 metric의 경우 __intervals 를 range로 사용시 exception 에러가 발생합니다. (Grafana v9.0 이후까지 해당 에러 발생)
이 경우 계속하여 alert이 firing 되며, alerting을 정상적으로 수행할 수 없습니다.
이 경우 range를 특정하는 것이 권장됩니다.
예를 들어,
의 5m 과 같은 방식입니다.
Grafana - Alertmanager 연동
그라파나에서 구성한 알럿을 Alertmanager 가 관리하도록 연동합니다.
Alerting 페이지로 이동하고, 알럿을 수신 채널 설정을 위해 notification channels 탭을 선택합니다.
New Channel 을 눌러 그라파나 알럿의 새로운 채널을 추가합니다.
Type을 통해 다양한 알럿 채널을 사용할 수 있는데요.
여기서는 Prometheus Alertmanager를 사용합니다.
Slack, Discord, Line과 같은 메신저를 사용하는 것도 가능합니다
세부 설정을 위해 아래에 Notification settings를 꼭 확인하도록 합시다.
- 해당 채널을 디폴트로 하기 위해 default 에 체크
- (물론 다양한 채널을 사용하는 경우에는 꼭 하지 않아도 됩니다.)
- 그라파나 패널 이미지를 알럿에 받기 위해 include images를 체크
- resolve 되지 않은 알럿의 reminder 위해 Send reminders 체크
이렇게 Save하고, Test 를 진행하여 지정된 알럿 채널을 통해 알럿을 수신할 수 있습니다.
Grafana alert에 레이블 추가
Prometheus와 마찬가지로 Grafana alert에도 레이블을 추가할 수 있습니다.
알럿을 구성할 메트릭 Edit Panel 페이지로 이동합니다.
여기서 Rule - name은 alert의 summary가 됩니다.
하단에 있는 Tags 항목에 알럿에 추가할 레이블의 name - value를 지정합니다.
레이블이 지정된 것을 확인할 수 있습니다.
필요시 Message를 작성하여 alert의 description을 구성할 수 있습니다.
'devOps' 카테고리의 다른 글
ALL ABOUT 그라파나 패널 이미지 알럿 (v7.5 기준) (0) | 2023.07.10 |
---|