반응형

전체 글 111

[Grafana Mimir]Metrics 저장소

Grafana Mimir고성능, 수평 확장성 시계열 데이터베이스이며, Prometheus와 호환되는 스토리지 및 쿼리 엔진입니다.대규모 모니터링 환경에서 사용합니다.Grafana Mimir는 Grafana Labs에서 개발한 클라우드 네이티브 시계열 데이터베이스로다음과 같은 주요 목적을 가지고 있습니다.- Prometehus와 100% 호환되는 Remote Write 및 Read API 제공- 멀티 테넌시 지원- 수평 확장- 장기 보존- 고가용성 HA- 쿼리 성능 최적화, 데이터 중복 제거, Rule 및 Alert 관리 등 1. Grafana Mimir 사용하는 이유 Prometheus의 한계 극복Prometheus는 로컬 스토리지 기반이며, 장기 보존이나 수평 확장이 어렵습니다.Mimir는 외부 객체..

모니터링/Mimir 2025.07.03

[Grafana faro] faro sdk

faro SDK는 웹 어플리에키션 성능 모니터링 자바스크립트 라이브러리입니다.faro SDK 역할1. RUM (Real User Monitoring)Faro SDK는 웹사이트를 사용하는 실제 사용자들의 브라우저에서 발생하는 다양한 이벤트(페이지 로드 시간, 자바스크립트 에러, 사용자 인터랙션 등)를 수집합니다.2. 성능 및 오류 데이터 수집페이지 랜더링 속도, API 호출 지연, 자바스크립트 예외 같은 성능 지표와 오류 정보를 자동으로 수집해줍니다.3. Trace 및 분산 추적 지원Faro SDK의 일부 모듈(@grafana/faro-web-tracing)은 OpenTelemetry 표준 기반의 트레이스 데이터를 생성해,분산 시스템에서 서비스 간 호출 흐름을 추적할 수 있도록 합니다.4. Grafana ..

모니터링/Tempo 2025.06.25

[Grafana tempo] Grafana tempo, Traces 로그 수집

Trace 이란?Trace 로그는 마이크로서비스(MSA) 분산 시스템에서 하나의 요청(Request)이 여러 서비스나 컴포넌트를 거쳐 처리될 때의 흐름을 기록한 로그입니다.구성 요소 Trace ID : 하나의 요청이 들어오면 전체를 추척할 수 있는 고유 ID값Span ID : 각 단계(서비스, 함수 등)의 실행을 구분하는 IDParent Span ID : 호출 관계 표현 (누가 누구를 호출했는지)시작/종료시간, 에러 상태, 태그/속성 등Trace ID: 1234abcd [app-a pod] ---> [app-b pod] ---> [app-c pod] Span 1 -> Span 2 -> Span 3어디에서 지연이 발생했는지어느 서비스에서 에러가 났는지사용자 요청이 어..

모니터링/Tempo 2025.06.20

[ EKS ] karpenter version 1.5.0

개요karpenter 이란 ?karpenter은 WorkerNode(노드)의 수를 조절하는 기능이다- Watching : 예약 불가능한 (Pending) pod를 감시한다.- Provisioning : Pending pod의 요구사항에 맞는 노드를 배포하고 배포된 노드에 pod를 스케쥴링 해준다.- Removing : 노드가 더 이상 필요하지 않을 때 노드 제거한다.- AWS 환경만 지원ClusterAutoscaler(CA) 차이점 - ClusterAutoscaler은 ASG를 사용하기 때문에 nodegroup을 구성/관리 해야하고, 노드 증설/축소 시 많은 단계가 필요해서 속도가 느리다.- ClusterAutoscaler은 예약 불가능한 pod를 감시하고, AWS 리소스를 생성 요청하기 때문에 노드 확..

[kube-state-metrics] 설치

kube-state-metrics는 Kubernetes API 서버에서 데이터를 읽어와, 클러스터 리소스의 현재 상태를 Prometheus 형식의 메트릭으로 변환해 노출하는 Exporter입니다. 1. kube-state-metrics 특징 읽기 전용(Read-only)API Server에 대해 읽기 전용 접근만 수행노출하는 정보 Kubernetes 리소스들의 상태 정보 Deployments의 현재/원하는 파드 수 노드 상태 및 라벨 파드 상태 네임스페이스 상태 PVC(퍼시스턴트 볼륨 클레임)의 바인딩 여부 등 데이터 포맷: Prometheus에서 수집 가능한 형식 (/metrics 엔드포인트에서 노출) 자체 저장 없음: kube-state-metrics는 데이터를 저장하지 않고 단순히 API에서 읽..

[OpenTelemetry] Metrics 수집

개요OpenTelemetry = otel으로 부르겠습니다.otel은 AWS EKS에서 POD의 Logs, Metrics, Traces를 수집할 수 있습니다. 1. Otel이 수집하는 Metrics 대상JobcAdvisornode-exporterkubeletkubelet-probeskube-state-metricsPath/metrics/cadvisor/metrics/metrics/metrics/probes/metrics포트10250910010250102508080내용Container(pod) 상태 수집container cpu,meme,disk,network 등Node 정보 수집cpu, mem, disk, network 등노드 및 파드 상태, 성능 메트릭 수집probe 정보 수집liveness 등k8s 리..

[OpenTelemetry] Logs 수집

개요OpenTelemetry = otel으로 부르겠습니다.otel은 AWS EKS에서 POD의 Logs, Metrics, Traces를 수집할 수 있습니다.[ 기존 Logs 수집 방법 ] WorkerNode -> Fluent-Bit -> Loki -> Grafana WorkerNode -> Promtail -> Loki -> Grafana [ otel Logs 수집 방법 ]WorkerNode -> Otel -> Loki -> Grafana 1. otel 장/단점기존에는 metrics은 prometheus으로 수집하고 logs는 promtail으로 수집하고 Agent가 여러개 였습니다.여러개의 정보를 하나의 otel 1개의 Agent으로 통합해서 수집할 수 있습니다.otel에서 수집(receiver)..

[ node 정보 ] node에 접근해서 내용보기, 사용량

kubectl debug node/xxxnode정보.internal -it --image=busybox -- chroot /host top ps -ef 등 1. kubernetes에서 node 사용량 확인kubectl top no ip-x-x-x-.ap-northeast-2.compute.internal 40m 2% 1983Mi 60% 2. pod 사용량 확인kubectl top pod kubectl top pod -A원하는 노드에서 돌아가는 pod 사용량 확인kubectl get pod -A --output=custom-columns=NAMESPACE:.metadata.namespace,NAME:.metadata.name,NODE:.spec.nodeN..

[정리] 모니터링의 단계

모니터링 5 단계 설명1. 수집 (Collect)Metrics, Logs, trace 수집2. 가공 (Processor)수집한 데이터를 가공/필터링/집계/라벨링 등 가공3. 전송 (exporter)수집된 데이터를 중앙 저장소으로 전송4. 저장 (Store)데이터를 압축/인덱싱 후 저장시계열 데이터로 저장이되어야지 grafana에서 그래프를 그릴 수 있습니다.5. 분석 및 탐색 (Analyze/Search)저장된 데이터를 검색PromQL, LogQL, trace viewer 등 언어로 검색6. 시각화 및 경보 (Visualize/Alert)저장된 데이터를 데쉬보드 시각화, 알람 설정Grafana, Alertmanager, slack/email

반응형