PKOS 스터디 6주차 정리

DevOps Engineer·2023년 3월 5일
0

개인적으로 7주 과정에서 유익한 스터디 부분
혼자서 Alertmanager를 세팅하려고 했으면 머리카락이 빠지지않았을까 라는 생각이 들 정도로 많이 배울 수 있었음

  • 실습환경 Kops(t3.small &c5.xlarge)
    kops addons: certManager, awsLoadBalancerController, externalDns, metricsServer, kubeproxy

모니터링 Alertmanager 설정

kubectl create ns monitoring
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts

#values.yaml 파일구성
cat <<EOT > ~/monitor-values.yaml

alertmanager:
  ingress:
    enabled: true
    ingressClassName: alb

    annotations:
      alb.ingress.kubernetes.io/scheme: internet-facing
      alb.ingress.kubernetes.io/target-type: ip
      alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}, {"HTTP":80}]'
      alb.ingress.kubernetes.io/certificate-arn: $CERT_ARN
      alb.ingress.kubernetes.io/success-codes: 200-399
      alb.ingress.kubernetes.io/group.name: "monitoring"

    hosts:
      - alertmanager.$KOPS_CLUSTER_NAME

    paths:
      - /*
      
      #설치명령어
 helm install kube-prometheus-stack prometheus-community/kube-prometheus-stack --version 45.0.0 --set prometheus.prometheusSpec.scrapeInterval='15s' --set prometheus.prometheusSpec.evaluationInterval='15s' -f monitor-values.yaml --namespace monitoring

#카르마 설치(alertmanager 관련 툴)
docker run -d -p 80:8080 -e ALERTMANAGER_URI=https://alertmanager.$KOPS_CLUSTER_NAME ghcr.io/prymitive/karma:latest

6주차 과정에서는 Alertmanager에 새로운 리소스를 추가하는 것을 목표로 학습을 진행하였다. prometheus의 리소스의 상태를 알림설정하는 것
그 과정에서 카르마로 편리하게 뭐가 문제인지 볼 수 있었다.

그리고 alertmanager에서 슬랙 웹훅을 활용하여 알람이 올 때 지속적으로 발생할 때 사일런스(알람끄기) 기능을 통해 끄는 법도 배웠다.

이번 학습의 경우 책의 내용을 따라하는 실습내용이 많아서 자세하게 설명이 어렵지만 어떤 부분을 추가했고 그로 인해 어떤 변화가 있었는지 간략하게 정리하려고 한다.


위 스크린샷을 보면 rules을 등록을 해주는 부분이 있는데
kubectl get prometheusrules로 확인할 수 있고 이 리소스가 있다는 걸 처음 알았다.
나는 여기서 새롭게 리소스를 생성도 해보고 새로운 옵션이 들어간 룰도 적용 시켜봤습니다.

PLG스택 설치

kubectl create ns loki
helm repo add grafana https://grafana.github.io/helm-charts

cat <<EOT > ~/loki-values.yaml
persistence:
  enabled: true
  size: 20Gi

serviceMonitor:
  enabled: true
EOT

helm install loki grafana/loki --version 2.16.0 -f loki-values.yaml --namespace loki

설치 후 학습한 내용

로그 확인의 중요성은 경험한 적이 있다. 하지만 확인 과정이 계속해서 컨테이너 이미지가 정상적인지 kubectl exec로 실행시켜 로그를 확인했었는데 로키를 통해 그라파나 내에서 로키를 소스공급자로 설정하여 쿼리형태로 확인할 수 있다는 걸 알 수 있었습니다.

profile
madame의 Techblog

0개의 댓글