Computer Science
-
Prometheus - ExporterComputer Science/Monitoring 2023. 4. 16. 15:26
Exporter의 종류와 수집하는 것들 cAdvisor 컨테이너 관련 모니터링 prefix에 container가 붙는다 node-exporter 노드 관련 모니터링 sys, proc 디렉토리를 모니터링함 prefix에 node가 붙는다 kube-state-metrics 쿠버네티스 오프젝트 모니터링 deployment, demonset 등 prefix에 kube 가 붙는다 application에서 노출을 시킬때 추가로 exporter를 이용하여 노출시킨다 adapter를 붙이는데 sidecar라고 많이 부른다 각자에 맞는 prefix가 존재한다. app이 자체로 노출시키고 있는 경우도 있다. CockroachDB, Envoy, MetalLB, Kong, Zipkin 같은 경우 이미 메트릭이 노출되도록 되어..
-
Prometheus - Web UI 메뉴 간략 설명Computer Science/Monitoring 2023. 4. 16. 15:20
기타 모니터링 서비스들은 무엇이 있는가 DATADOG, New Relic - ( PIXIE ( 오픈소스 ) ), dynatrace 유료 및 PIXIE는 불편함. ZABBIX, Sentry, Nagios, Scouter k8s 환경에서는 부족하거나 불편함. Prometheus Status 에서 주의 할만한 것들 Runtime & Build Infromation Build Version Storage retention 데이터 보관기간 TSDB Status 어느 데이터가 많은지 간략하게 보여주는 곳 Command-Line Flags 옵션들의 값을 확인가능하다. Configuration 설정한 값을 확인가능하다. Rules Recording 및 Alert 관련 Rule Targets Configuration에서..
-
eks pod 수 수정Computer Science/Aws 2023. 3. 27. 12:24
https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/cni-increase-ip-addresses.html Amazon EC2 노드에 사용 가능한 IP 주소의 양 늘리기 - Amazon EKS 관리형 노드 그룹은 maxPods의 값에 최대 수를 적용합니다. vCPU가 30개 미만인 인스턴스의 경우 최대 수는 110이고 다른 모든 인스턴스의 경우 최대 수는 250입니다. 이 최대 수는 접두사 위임의 활성 docs.aws.amazon.com 위 가이드 대로 진행하면 된다. IPv6 패밀리를 사용하여 클러스터를 생성한 경우 이 과정을 건너뛰어도 된다. kubectl set env daemonset aws-node -n kube-system ENABLE_PREFIX..
-
Pod - readiness, liveness, startup probeComputer Science/k8s 2023. 3. 26. 15:32
Readiness Probe Traffic을 언제부터 받을 수 있는 지에 대한 설정 Fail이 발생하면 Traffic을 차단한다. Pod를 재실행하지는 않는다. Liveness Probe App이 잘 살아있는 지를 판별하는 설정 Fail이 발생하면 해당 Pod가 재실행 된다. Startup Probe App이 기동되었는지를 판별하는 설정 해당 설정이 success되어야 Readiness 와 Liveness가 동작하기 시작한다. 초기 App 구동 시간이 예측이 힘들고 오래걸릴 때 적용한다. 필수 ( 3중 1개 이상) httpGet 서버 상태 코드를 통해 판단 ( 200 이상 400 미만 정상) Port - 8080 Host - localhost Path - /ready HttpHeader - languag..
-
Pod의 LifecycleComputer Science/k8s 2023. 3. 26. 14:19
Pod의 Status Phase Pending 우선 Pod가 어느 Node 위에 올라갈지 결정한다. 지정된 것이 있다면 지정된 것을 사용하고 아니면 k8s가 판단한다. 성공적으로 실행될 시 PodScheduled가 true 아니면 false 가 된다. 본 Container가 기동되기 전에 초기화 해야하는 것이 있다면 실행한다.( initContainer ) 성공적으로 실행될 시 Initalized 가 true 아니면 false 가 된다. Container에 이미지를 다운한다. 3까지 과정 동안 Container의 상태는 Waiting이고 Reason 은 ContainerCreating 이다. Running Pod가 정상동작중인 상태이다. Container는 정상동작 하지 않을 수 있다. Container..
-
Helm을 이용하여 기본 Prometheus 띄워보기Computer Science/Monitoring 2023. 3. 23. 15:08
artifacthub.io 에서 prometheus의 helm chart를 다운받아 진행하였다. https://artifacthub.io/packages/helm/prometheus-community/prometheus prometheus 20.0.1 · prometheus/prometheus-community Prometheus is a monitoring system and time series database. artifacthub.io helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update pelm repo 를 다운받았고 바로 실행하였다. helm install prom..
-
Prometheus 기초 공부 내역Computer Science/Monitoring 2023. 3. 23. 12:09
Prometheus 가 다른 모니터링 도구와 큰 차이점 중 하나는 바로 Pull 방식으로 진행된다는 것이다. 기존의 다른 모니터링 도구 ( New Relic, DataDog, Pinpoint ) 는 이 클라이언트가 메트릭을 수집해서 중앙서버로 보내면 서버가 모니터링 상태를 보여주는 방식인데 Prometheus는 서버가 클라이언트에 접속해서 데이터를 가져오는 방식이다. 즉 모니터링 서비스를 위해서 각 서버마다 클라이언트가 설치되어야 함은 동일하지만 기존의 모니터링 도구들은 이 클라이언트가 중앙서버로 데이터를 전송한다면 Prometheus는 중앙에서 각 클라이언트에 접속해서 데이터를 가져온다. 이렇다보니 꼭 prometheus 서버가 아니더라도 클라이언트에서 정보를 가져올 수 있다. Prometheus 의 ..