개발놀이터
AWS EKS 모니터링 환경 구축에 슬랙 알람 추가하기 본문
이전 포스팅과 이어집니다!
https://coding-review.tistory.com/560
이전엔 프로메테우스 + 그라파나로 모니터링 환경을 구축해봤습니다. 이번 포스팅에선 이전 포스팅에다 슬랙을 추가해보도록 하겠습니다.
이전 포스팅 내용은 담지 않았습니다!
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update
helm install kube-state-metrics prometheus-community/kube-state-metrics --namespace kube-system
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
우선 메트릭 서버를 설치해야하는데 저는 kube-state-metrics와 metrics-server를 동시에 설치했습니다.
그리고 슬랙을 설치하고 로그인 한 뒤 webhook을 연결해줘야합니다.
슬랙 webhook을 연결하는 것은 구글에 많이 나와있어서 이 부분은 생략하도록 하겠습니다.
만약 프로메테우스를 helm으로 설치하였다면 alertmanager가 같이 들어가있을텐데요. 이전 포스팅과 다른 점이 바로 이부분입니다.
defaultRules:
rules:
alertmanager: true
etcd: true
alertmanager:
service:
type: NodePort
config:
global:
resolve_timeout: 5m
route:
group_wait: 30s
group_interval: 12h
receiver: 'slack-notifications'
routes:
- receiver: 'slack-notifications'
match:
- alertname: "InfoInhibitor|Watchdog"
receivers:
- name: 'slack-notifications'
slack_configs:
- channel: '{채널이름}'
api_uri: {slack webhook api}
send_resolved: true
kubeApiServer:
enabled: true
kubelet:
enabled: true
prometheus:
thanosService:
enabled: false
serviceMonitorSelectorNilUsesHelmValues: false
service:
type: NodePort
retention: 5d
retentionSize: "10GiB"
storageSpec:
volumeClaimTemplate:
spec:
storageClassName: gp2
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 15Gi
이렇게 변경하고 다시 프로메테우스를 배포하면 됩니다.
다시배포할 땐
helm uninstall prometheus --namespace ingress-nginx
helm install prometheus prometheus-community/prometheus --namespace ingress-nginx -f prometheus.yml
혹은 configmap만 따로 뽑아서 변경한 다음 alertmanager를 삭제하면 deployment가 알아서 다시 만들어줍니다.
그리고 그라파나로 들어가줍니다.
이전 포스팅의 그 대시보드 오른쪽에 Alert가 있는데 Alert는 대시보드를 저장하면 사용할 수 있습니다. New alert rule을 선택하면?
새로운 폴더와 evaluation group을 만들어줍니다.
그리고 맨 아래로 보면?
View or create contact points를 선택합니다.
제가 테스트한다고 하나 만들어놨는데 무시하시고 Add contact point를 선택합니다.
여기서 슬랙을 선택하고 webhook URL을 입력하면 끝!
오른쪽 위에 Test를 한번 눌러보시면 슬랙에 테스트 메세지가 전송됩니다. 이제 맨 아래 저장을 누르고 우리가 만든 슬랙을 선택하면 끝입니다.
그리고 CPU의 부하를 줘보겠습니다.
그리고 슬랙을 보면!
이렇게 알람이 오는 것을 확인할 수 있습니다.
마치며
이번 포스팅에선 모니터링에 알람까지 설정을 해봤습니다. PromQL로 동접자 쿼리를 날릴 수 있는지 확인해보고 모니터링은 마쳐야겠네요. 아 동접자 쿼리는 포스팅할 예정은 없습니다. 아마 구글에 많이 나와있지않을까 싶은데 저도 테스트만 해보고 포스팅은 안할 생각입니다.
이제 점점 인프라가 완성되고 있네요. 드디어 끝이 보입니다! 다음 포스팅에서 뵙도록 하죠!
긴 글 읽어주셔서 감사합니다. 오늘도 즐거운 하루 되세요!
'배포 > kubernetes' 카테고리의 다른 글
쿠버네티스 클러스터에 RDB배포 해? 말어? 에 대한 논쟁 (0) | 2024.10.17 |
---|---|
AWS EKS 모니터링 환경 구축하기 (Prometheus, Grafana) (0) | 2024.10.14 |
AWS EKS HPA로 확장성 높이기 (0) | 2024.10.08 |
AWS EKS 스프링 + Nginx + SSL (0) | 2024.10.05 |
AWS EKS 스프링 프로젝트에 NGINX 붙이기 (0) | 2024.10.01 |