티스토리 뷰

메트릭등을 카운트 하여 얼럿을 생성해도 되겠지만 간단하게 로그를 카운팅 하여 얼럿을 설정 할수도 있다

 

그라파나에서 loki 로그 카운터로 얼럿을 생성하는 방법 테스트

 

먼저 로그를 찍기 위해 pod를 한개 배포함

 

% k get pod --show-labels
NAME     READY   STATUS    RESTARTS   AGE     LABELS
worker   1/1     Running   0          6d18h   run=worker

 

해당 파드의 로그 테스트 (얼럿에 추가할 로그는 임의로 trigger_alert_xxxapi_error라고 정함) 앱에서 특정 로그를 찍으면 그것을 카운팅 하는 형태

 

파드에서 STD 출력을 통해 로깅 수행

[root@worker /]# echo "trigger_alert_xxxapi_error" >> /proc/1/fd/1
[root@worker /]# echo "trigger_alert_xxxapi_error" >> /proc/1/fd/1
[root@worker /]# echo "trigger_alert_xxxapi_error" >> /proc/1/fd/1
[root@worker /]# echo "trigger_alert_xxxapi_error" >> /proc/1/fd/1
[root@worker /]# echo "trigger_alert_xxxapi_error" >> /proc/1/fd/1

파드안에서 echo 로 std출력 시킴

 

loki에서 해당 로그 잘 찍혔는지 확인

 

 

정상적으로 로그가 찍힌다

 

이제 저 로그를 카운팅 할 대상으로 얼럿을 생성하여 테스트

 

쿼리문은 아래와 같음

 

count_over_time({pod="worker"}[5m] |= "trigger_alert_xxxapi_error") > 5

 

5분간 해당 로그의 카운트가 5개가 넘으면 얼럿

 

쿼리 테스트

 

이제 이것을 이용하여 얼럿을 생성한다

 

 

파드내 에러 생성(6개)

 

[root@worker /]# echo "trigger_alert_xxxapi_error" >> /proc/1/fd/1
[root@worker /]# echo "trigger_alert_xxxapi_error" >> /proc/1/fd/1
[root@worker /]# echo "trigger_alert_xxxapi_error" >> /proc/1/fd/1
[root@worker /]# echo "trigger_alert_xxxapi_error" >> /proc/1/fd/1
[root@worker /]# echo "trigger_alert_xxxapi_error" >> /proc/1/fd/1
[root@worker /]# echo "trigger_alert_xxxapi_error" >> /proc/1/fd/1

 

설정한대로(슬랙으로 보내기) 알람 정상 작동

 

 

 

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함