
모종의 사유로 인해 Helm으로 Prometheus를 다시 구축하게 되었다.그 후 Prometheus UI에 접속하기 위해 Node IP + Prometheus 서버 포트로 접속을 시도했는데, 접속이 전혀 되지 않았다.포트 포워딩까지 해보며 http://loc

공부하다보니 service monitor와 pod monitor에 대한 개념이 빈약하다고 느껴 정리를 해야겠다는 생각이 들었다. 각 개념을 설명하고 두 모니터의 차이를 비교해서 적을 것이다.PodMonitor는 “파드 자체를 직접 선택해서(PodSelector)” 메트

Prometheus로 메트릭을 수집하는 방법이 여러 가지가 있다 보니 프로메테우스 설정을 하면서 순간적으로 헷갈리는 부분이 많았다.특히, Exporter를 직접 구성해서 ServiceMonitor로 연결하는 방식과 Helm Chart로 자동 구성하는 방식의 차이가 명확

컴퓨터가 절전상태가 되거나 가상머신을 껐다 킬 때마다 노드의 상태가 매우 불안정해졌다.심지어 오늘은 Ready,SchedulingDisabled상태로 떠서대체 왜 그런지 이해하고 해결하고자 마음먹었다.(이전에 찍어놨던 스냅샷으로 복원하고 싶었지만 해결해보기로 했다.)문

Blackbox Exporter는 애플리케이션 내부 메트릭을 수집하는 방식이 아니라,외부에서 특정 엔드포인트에 실제 요청을 보내어 정상 동작 여부를 확인하는 모니터링 도구이다.즉, 시스템 내부 상태가 아니라 “외부에서 바라본 서비스의 응답 상태”를 측정한다.Blackb

MySQL + mysqld-exporter 구성하기 쿠버네티스 환경에서 MySQL을 모니터링하려면 Prometheus가 읽을 수 있는 형태의 메트릭을 노출해야 한다. MySQL 자체는 메트릭을 제공하지 않기 때문에 mysqld-exporter를 추가로 배포해야 한다

이번 포스팅에서는 Kubernetes 환경에서 Redis 메트릭을 Prometheus로 수집하는 방법을 정리한다.Prometheus는 기본적으로 애플리케이션 내부 상태는 알 수 없기 때문에,Redis 내부 정보를 가져오려면 Redis Exporter가 필요하다.이번 실

Recording Rule은 Prometheus에서 자주 사용하는 계산식(PromQL) 을미리 계산해 새로운 메트릭으로 저장해두는 기능이다.이렇게 해두면,무거운 쿼리 계산이 빨라지고UI에서도 즉시 조회가 가능하며자주 쓰는 식을 “메트릭처럼” 편하게 사용할 수 있다.예를

PromQL에서 메트릭을 선택하거나 매칭할 때 사용됨.PromQL은 함수를 많이 제공한다.자주 쓰는 함수:ex)

PromQL에서도 숫자끼리 더하고 빼고 비교 가능하다.메트릭을 합치거나 평균내는 기능이며,PromQL에서 제일 많이 쓰는 기능이다.ex: 파드 개수 세기→ 현재 시점의 값 한 개업로드중..→ 시간 구간을 포함한 여러 샘플

Prometheus를 쓰다 보면 가장 많이 마주치는 개념이 바로 메트릭 타입이다.메트릭 타입을 정확히 이해해야 올바른 모니터링과 알람 설정이 가능하다.Prometheus에는 총 4가지 메트릭 타입이 있다.GaugeCounterHistogramSummary이 글에서는 각

쿠버네티스에서 Node Exporter, cAdvisor를 통해 노드/컨테이너 리소스는 잘 수집하고 있다. 근데 서비스 운영하다 보면 이런 의문이 생긴다. “애플리케이션 자체의 지표는 어떻게 보지?” 예를 들어, NGINX가 현재 처리 중인 HTTP 연결 수 요청

쿠버네티스를 모니터링할 때 흔히 Node Exporter나 cAdvisor로 CPU·메모리 같은 리소스 데이터를 수집한다. 이전 게시물(cAdvisor, Node Exporter 설명)근데 이 둘은 공통점이 있는데, "실제 사용량"만 알려주며, kubernetes 객체

cAdvisor(Container Advisor)는 쿠버네티스 노드에서 컨테이너의 리소스 사용량을 수집하는 모니터링 도구이다.도커 엔진에 기본 내장되어 있으며, CPU∙메모리∙네트워크∙디스크 I/O 같은 컨테이너 단위 메트릭을 자동으로 수집한다.쿠버네티스에서는 kube

control plane과 해당하는 node로 구성마스터 노드에서 API 서버, ETCD, 스케줄러, 컨트롤 매니저로 구성API 서버 : kubectl 명령어를 통해 마스터노드의 kube-apiserver에게 api 요청을 보냄, API 서버는 컨트롤 플레인에서 프론트

프로메테우스 Web UI Runtime & Building information Status에서 해당 메뉴로 들어가게 되면 다음과 같이 나온다. 여기에서 중요한 부분은 build information에 있는 version 부분인데, 현재 내가 쓰고 있는 버전은 2

이전 게시물에서 vmware fusion으로 실습 환경 구축하다가 트러블슈팅만 삼일 동안 꼬박 밤새서 하고 50번 이상 지웠다 깔았다를 반복하다가 결국 전부 삭제 후, 강사님이 올려주신 vagrantfile로 vagrant up을 하여 성공적으로 실습 환경을 구축하였다

헬름 설치하기 일단 프로메테우스를 설치하는데, 헬름이 설치되어 있지 않아서(helm version 했을 때 찾을 수 없었다.) 위 명령어를 통해 헬름을 설치해줬다. 프로메테우스 설치 위 명령어를 실행하여 프로메테우스를 설치해준다. 프로메테우스 설치 확인

HPA는 파드 개수를 자동으로 늘렸다 줄였다 해주는 컨트롤러이다.보통 CPU 사용량이나 메모리 사용량, 혹은 커스텀 메트릭을 기준으로 스케일링한다.동작 흐름은 대략 이렇다.metrics-server 가 각 파드/노드의 CPU·메모리 사용량을 모은다.HPA 컨트롤러가 m

버네티스에서 kubectl top 이나 HPA(오토스케일러)가 쓰는CPU / 메모리 실시간 사용량을 모아서 제공해주는 컴포넌트이다.동작 흐름은 다음과 같다.각 노드의 kubelet 이 파드 / 노드의 리소스 사용량을 노출한다.metrics-server가 주기적으로 ku