티스토리 뷰
메트릭등을 카운트 하여 얼럿을 생성해도 되겠지만 간단하게 로그를 카운팅 하여 얼럿을 설정 할수도 있다
그라파나에서 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
설정한대로(슬랙으로 보내기) 알람 정상 작동
'클라우드 > 쿠버네티스' 카테고리의 다른 글
쿠버네티스 이벤트로그 loki 로 수집 (0) | 2024.01.04 |
---|---|
1개의 ALB-Ingress로 여러개의 타켓 사용시 타켓별 설정 하는법 (0) | 2024.01.04 |
Cluster Autoscaler에서 0개짜리인 ASG를 스케일아웃 하는법 (0) | 2024.01.04 |
cronjob의 타임존 설정 (0) | 2024.01.04 |
무중단 배포를 위해 필요한 기술들 (0) | 2024.01.04 |