본문 바로가기

EKS/Prometheus & Grafana

(5)
Grafana - EKS Custom DashBoard 구성하기 그라파나 대시보드를 만들기 위해서는 PromSQL을 사용해야하는데, 이보다 중요한게 바로 지표가 무엇인지 정확히 아는 것 입니다. 아래를 통해서 간단하게 pod에 대한 지표를 체크할 수 있습니다. https://github.com/kubernetes/kube-state-metrics/blob/master/docs/pod-metrics.md kubernetes/kube-state-metrics Add-on agent to generate and expose cluster-level metrics. - kubernetes/kube-state-metrics github.com 하지만 가장 정확한 방법은 역시 프로메테우스를 띄우고 직접 지표를 확인해 보는 것 입니다. 여기서 원하는 지표들을 직접 찾아서 쿼리하여..
Grafana - Image Render Plugin & Slack Alert 연동 Kubernetes 환경에서 Image Render Plugin을 설치하여 Alert을 이미지와 함께 이쁘게 던지고 싶은데, 한글화된 자료가 없어서 좀 힘들었습니다. 공식자료들을 살펴보면 아래와 같은 value.yaml을 설정하면 가능하나, 실제로 적용했을 경우 알 수 없는 플러그인이라는 에러가 발생합니다. plugins: - grafana-image-renderer 돌아돌아 살피던 중 방법을 알아냈는데 순서는 아래와 같습니다. Grafana DashBoard Alert 세팅 -> Alert 발생 -> S3에 해당 이미지 업로드 -> Slack에 Alert 전달 따라서 먼저 S3에 관한 세팅해보도록 하겠습니다. 먼저 Grafana에서 사용할 수 있는 IAM 계정을 만들어줍니다. 저는 grafana-ima..
Prometheus - EFS Provisioner / PVC 연동 프로메테우스는 시계열 DB이며, 파드가 Empty Dir이 기본 속성인 것을 생각하면, 파드가 죽었을 경우 그 동안 수집한 메트릭이 모두 사라진다는 것을 알 수 있습니다. 따라서 이를 방지하기 위해서 PVC를 통해 볼륨을 매핑하여 사용하여야 하는데, AWS에서 EBS의 경우 Zone을 선택하여 사용해야하기 때문에, 이중화 삼중화 사중화등으로 구성한 경우, 프로메테우스가 해당 볼륨을 제대로 매핑할 수 없는 경우가 생깁니다. 물론, affinity 설정을 통해 PVC한 볼륨과 맞게 프로메테우스를 띄우시는 것도 방법입니다. 하지만, 이중화 구성을 못하기 때문에 EFS를 사용하여 해결하는 방법을 알아보도록 하겠습니다. --- 수정 사항 ------------------------------------------..
EKS Mornitoring - 2. AlertManager 세팅 공식다큐는 다음과 같으며, https://prometheus.io/docs/prometheus/latest/configuration/alerting_rules/ Alerting rules | Prometheus Alerting rules allow you to define alert conditions based on Prometheus expression language expressions and to send notifications about firing alerts to an external service. Whenever the alert expression results in one or more vector elements at a given po prometheus.io 각 Alert.y..
EKS Mornitoring - 1. Prometheus & Grafana 세팅 Helm을 통해서 Promethus와 Grafana를 세팅할 것이기 때문에 Helm을 세팅하지 않으셨다면, Helm세팅하기를 보시고 세팅해주세요. 먼저 Metric Server를 구성하여서 쿠버네티스에서 Metric을 확인해보도록 하겠습니다. Metric Server를 통해 HPA나 Prometheus가 현재 쿠버네티스 Pod와 Node의 각 리소스를 체크할 수 있기 때문입니다. 먼저 명령행 JSON 처리기 jq를 설치해줍니다. sudo yum install -y jq 이후 아래 명령어를 수행해서 Metric Server를 세팅해주세요. DOWNLOAD_URL=$(curl -Ls "https://api.github.com/repos/kubernetes-sigs/metrics-server/releases/..