게시글
질문&답변
2024.08.10
operator alertmanager 연결 관련 문의
안녕하세요. 현재 여러 프로메테우스 인스턴스에서 하나의 Alertmanager를 사용하여 알림을 보내고자 하는 환경을 구성하려고 하시는 것으로 이해했습니다. 이러한 구성에 대해 관심이 있는 분들을 위해 일반적인 구성 방법을 설명드리겠습니다. 실무에서는 일반적으로 하나의 프로메테우스 인스턴스에 하나의 Alertmanager를 연결하는 방식을 사용합니다. 여러 프로메테우스를 통합하여 하나의 프로메테우스로 데이터를 집계한 후, 이 통합된 프로메테우스에서 Alertmanager로 알림을 전달하는 방법도 많이 사용됩니다. 이를 위해 Grafana Mimir, Prometheus Agent 모드, remote_write/remote_read 등의 방법을 고려해보실 수 있습니다. 현재 구성하신 환경에 대해 몇 가지 점검해보시면 좋을 것 같습니다. 프로메테우스 설정에서 Alertmanager 설정이 제대로 동기화되었는지 확인합니다. 알림 규칙(alert-rule)이 적용되었고, 알림이 발생할 때 Alertmanager로 제대로 전달되는지 확인합니다. 이를 위해 Prometheus와 Alertmanager의 로그를 확인해보시는 것도 좋습니다. 제가 드린 가이드가 강의 외 실습 환경에서는 쿠버네티스 클러스터 버전, 네트워크, 보안 정책 등 다양한 요인으로 인해 동작이 달라질 수 있습니다. 그에 따라 일부 모호한 영역의 트러블슈팅 가이드를 제공하기 어려운 점 양해 부탁드립니다. 경우에 따라서, 다른 구현 방법을 고려해보시는 것도 좋은 방법이 될 수 있습니다. 감사합니다.
- 0
- 1
- 82
질문&답변
2024.05.05
helm으로 프로메테우스 설치 시 PVC 관련 질문
안녕하세요 김연규 님 쿠버네티스의 pvc가 생성 될 때 storageclass를 통해서 pv를 프로비저닝 하고 있습니다. 이 때 사용되는 프로비저닝 설정을 관리하는 것이 바로 storageclass 인데요. storageclass의 경우 애너테이션을 통해서 아무런 설정없이 바로 사용할 default storageclass를 설정할 수 있습니다. [1] 현재 실습에서는 2.1 에서 vagrant up으로 실습환경을 구성할 때 위와 같은 설정이 적용되어 있기 때문에, 명시적으로 pvc에서 사용할 storageclass를 지정하지 않아도 nfs를 통해서 pv 설정이 가능한 것입니다. 관련하여 아래의 코드와 참고자료를 확인해보시면 이해에 도움이 되실 것 같습니다. 코드 https://github.com/SeongJuMoon/_Lecture_prom_learning.kit/blob/d447c21a64bc35d6c0570716eb550c83fb118d7a/ch2/2.1/extra-k8s-pkgs.sh#L45C1-L45C99 kubectl annotate storageclass managed-nfs-storage storageclass.kubernetes.io/is-default-class=true 참고자료 [1] https://kubernetes.io/docs/concepts/storage/storage-classes/#default-storageclass 학습에 도움이 되시길 바랍니다. 감사합니다.
- 0
- 2
- 238
질문&답변
2024.04.03
kube-prometheus 란 무엇인가요?
안녕하세요 mc1.shin 님 kube-prometheus 레포지토리는 prometheus-operator를 활용해서 쿠버네티스 내부를 모니터링하는 모니터링 설정(YAML), 그런 설정들을 반복적으로 만드는 템플릿 도구(jsonnet), 이를 적용하기 위한 문서(docs)가 담긴 레포지토리입니다. 따라서 문서 레포(kube-prometheus) 원본은 https://github.com/prometheus-operator/prometheus-operator 에서 빌드된 것이므로, 이미지 자체는 편하신 곳에서 다운로드 받아 구성하시면 됩니다. 내려받은 두 곳에서의 오퍼레이터 동작이 다른 경우 오퍼레이터 버전에 따른 동작 차이 일 수 있으니 강의에서 제공드린 버전의 오퍼레이터를 설치하시길 권고드립니다. 감사합니다. 문성주 드림
- 0
- 1
- 129
질문&답변
2024.02.09
9.9 강의 그라파나 대시보드에 JSON 파일 import 오류
안녕하세요 dldmschd222 님 문의 주신 9.9 강의에서의 대시보드를 임포트 했을 때 No alerts matching filters 에러가 나타나는 것은 현재 프로메테우스에 경보 규칙이 생성되어 있지 않아서 발생하는 문제인 것으로 확인됩니다 9.9 실습에서는 프로메테우스 오퍼레이터 환경에서 배포한 경보(alert)을 보여주고 있기 때문에 No alerts matching filters이 생성되지 않은 상황이라면 현재 실습 환경에 네이티브 프로메테우스 환경이신지 확인 한번 부탁 드립니다. 만약 네이티브 프로메테우스 환경에서 실습을 진행하고 계시다면 9.6.프로메테우스-스택으로 구성 변경하기 를 참고하셔서 환경을 변경한 다음에 실습을 진행해주시면 문제가 해결될 것으로 보입니다. 감사합니다. 즐거운 설 연휴 보내세요. 문성주 드림
- 0
- 1
- 182
질문&답변
2024.01.15
5.7 table 패널 실습문의
안녕하세요 bj jung 님 혹시 table 패널 쿼리 입력기에서 Run Queries 를 다시 눌러도 현상이 비슷하실까요? 현상이 동일하다면 현재 실습 환경에서 프로메테우스가 정상적으로 배포되어 있는지 확인이 필요할 것 같아요. 우선 위 두 가지 방식을 통해서 문제가 해소되는지 확인해주실 수 있나요? 감사합니다. 문성주 드림
- 0
- 1
- 137
질문&답변
2024.01.03
6.3 강의 질문.
안녕하세요 bj jung님 지금 설정하신 relabel_configs는 수집 이후에 해당 메트릭을 수집할 지 말지 조치하는 후처리 설정입니다. kube-proxy의 경우 프로메테우스의 쿠버네티스 서비스 디스커버리를 통해 수집해온 엔드포인트에서 kube-proxy의 서비스 IP 부분을 추려내기 위해서 relabel_configs와 같은 내용으로 후처리를 통해서 kube-proxy 엔드포인트로부터 메트릭을 수집하도록 조치하고 있습니다. 하지만 현재 실습의 harbor 구성은 vagrant로 가상머신을 만든 다음, 가상머신 IP를 프로메테우스에 설정하기 때문에 별도 후처리가 필요하지 않은 상황입니다. 따라서, relabel_configs 를 지워보신 후에 수집이 되는지 확인 부탁드립니다. 아울러 relabel_config에 대해 추가적으로 궁금하신 내용은 보강 A.11.004.프로메테우스 오퍼레이터의 메트릭 생성 과정(리레이블,relabel) 를 확인해주시길 바랍니다. 감사합니다. 문성주 드림
- 0
- 1
- 155
질문&답변
2023.12.03
metric-server 이중화로 인한 grafana 대시보드 이중 출력 문의
안녕하세요 95park 님 문의해주신 디플로이먼트로부터 생성된 파드의 상태를 모니터링 하기 위해서 다음의 쿼리를 활용해보시는 것이 좋을 것 같습니다. kube_pod_container_status_ready{pod=~"^metrics-server.+"} 위 메트릭을 통해서 파드의 이름이 메트릭 서버로 시작하는 파드에 대한 상태를 Stat 패널로 시각화 하는게 좋을 것 같습니다. (사진) 그라파나 학습에 도움이 되시길 바라며, 남은 주말 잘 보내세요! 문성주 드림
- 0
- 2
- 304
질문&답변
2023.11.29
metric-server 이중화로 인한 grafana 대시보드 이중 출력 문의
안녕하세요 95park 님 이 경우에는 우선 명시적으로 Deployment > ReplicaSet을 통하여 Pod가 생성되었기에 값이 2로 나오는 것이 맞는 상황입니다. 여기서 원하시는 것이 해당 ReplicaSet으로 배포된 metrics-server의 ready 상태를 확인하고 싶으신건지 문의드립니다.
- 0
- 2
- 304
질문&답변
2023.11.28
Grafana PromQL 관련 질문
안녕하세요. 95park 님 익스포터의 경우 개발자에 따라서 문서화가 잘되어있는 것이 있고, 문서 자체가 없는 것이 있습니다. 가장 빠르게 메트릭을 사용하는 방법을 확인하는 것은 공식 문서의 예제 혹은 익스포터 코드를 참고하는 방법이 좋습니다. 하지만 매번 익스포터 코드와 공식 문서를 보기가 어려울 수 있습니다. 이 경우에는 실무에서 PromQL를 참조해서 사용할 수 있게끔 만들어둔 믹스인 문서를 참고해보시면 좋을 것 같습니다. 감사합니다. 문성주 드림
- 0
- 1
- 174
질문&답변
2023.10.12
ch2/2.1로 vagrant up 명령어로 구성을 했는데 extenal ip에 pending이라고 나오네요.
안녕하세요 더스와이스 님 올려 주신 내용을 확인해보니까 메탈LB 배포는 정상적으로 진행되었지만 메탈LB에 배포된 다음에 필요한 설정이 누락되어 들어간 것 같습니다. 실습 구성 때 vagrant up 후 540초 및 600초 이후에 설정 내용을 kubectl로 적용하게 설정해놨는데요. 클러스터 설정이 600초 이상으로 지연되어서 kubectl로 설정해야하는 metallb 구성이 누락된 것으로 추측됩니다. 현재 실습에서 정상적으로 metallb를 동작하게 하기 위해서는 다음과 같은 명령어를 컨트롤플레인 노드(192.168.1.10)에서 실행해주시면 됩니다. 만약 명령어 실행 이후에도 정상적으로 EXTERNAL_IP가 나타나지 않는다면 말씀해주세요. kubectl apply -f ~/_Lecture_graf_learning.kit/ch2/2.1/extra-k8s-pkgs/metallb-l2mode.yaml kubectl apply -f ~/_Lecture_graf_learning.kit/ch2/2.1/extra-k8s-pkgs/metallb-iprange.yaml 답변이 늦어져서 죄송합니다. 문성주 드림
- 0
- 2
- 270