티스토리 뷰

카테고리 없음

qb95+k8s+vm+splunk

자바바라 2025. 9. 5. 21:53

 

1. CI/CD Pipeline

  • QuickBuild v9.5
    Git webhook으로 빌드 파이프라인을 시작한다.
    → 빌드/테스트를 거쳐 아티팩트를 생성한다.
  • Artifact Repository
    빌드된 결과물(컨테이너 이미지, 패키지 등)을 저장한다.
    여기서는 Docker Registry(Harbor, Nexus, ECR 등)를 예로 들 수 있다.
  • Deployment Step
    빌드 산출물을 VM 또는 Kubernetes 환경에 배포하는 단계다.
    VM에는 Ansible/SSH를, K8s에는 Helm/ArgoCD를 호출할 수 있다.

2. VM Environment

  • QuickBuild Agent (VM)
    VM 환경에서 직접 배포 작업을 수행한다.
  • Node Exporter
    VM의 CPU, 메모리, 디스크, 네트워크 등 자원 상태를 수집한다.
    → Prometheus가 이를 스크랩한다.

3. Kubernetes Environment

  • QuickBuild Agent (Pod)
    K8s 클러스터 내에서 빌드/배포를 수행한다.
  • kube-state-metrics
    Deployment, Pod, Node 등 Kubernetes 리소스 상태를 메트릭으로 노출한다.
  • Prometheus Exporter (Fluentd/Fluent Bit, custom exporter 등)
    컨테이너 로그나 앱 지표를 Prometheus가 수집할 수 있도록 노출한다.

4. Monitoring Stack

  • Prometheus Server
    VM과 K8s에서 들어오는 메트릭을 수집/저장한다.
  • Grafana
    Prometheus를 데이터소스로 연결해 시각화 대시보드를 제공한다.

5. Data Flow

  • QuickBuild 자체의 빌드 로그/배포 상태를 Grafana에 표시할 수 있다.
    (Grafana에서 Splunk Plugin 또는 Loki 연동으로 가능)
  • Prometheus를 통해 수집된 인프라/애플리케이션 메트릭과 함께
    CI/CD 성과지표를 한 화면에서 확인할 수 있다.

Grafana 대시보드에서 표현할 주요 패널

  1. CI/CD 현황 패널
    • 빌드 성공률, 빌드 실패 추이
    • 배포 성공/실패 횟수
    • 평균 빌드/배포 소요 시간
  2. VM 자원 모니터링 패널
    • CPU/메모리 사용량
    • 디스크 사용률
    • 네트워크 트래픽
  3. Kubernetes 패널
    • Pod 상태(Running, CrashLoop 등)
    • 네임스페이스별 리소스 사용량
    • Deployment Replica 정상 여부
  4. 애플리케이션 성능 패널
    • 요청 수, 에러율(5xx/4xx)
    • Latency P95, P99
    • 로그 기반 오류 탐지
  5. 알람 규칙
    • 빌드 실패 연속 3회 이상
    • VM CPU > 90% 10분 지속
    • K8s Pod CrashLoopBackOff 발생
    • 애플리케이션 에러율 > 5%

 


 

 

 

Grafana Alloy 파이프라인 아키텍처 다이어그램. Alloy는 Prometheus, Loki, Tempo 같은 Grafana 스택을 한 번에 수집·가공·전송할 수 있는 통합 Agent 역할, 모니터링/로깅/트레이싱이 통합된 구조가 돼.

상세 설명

  1. 개발 → 빌드 단계
    • 개발자가 코드를 Git Repository에 Push.
    • QuickBuild(v9.5)가 트리거되어 CI 파이프라인을 실행하고, 빌드 아티팩트를 생성.
  2. 배포 단계
    • 빌드 산출물이 Kubernetes Cluster 또는 VM Cluster로 배포됨.
    • K8s는 Helm/Manifest 기반, VM은 Ansible/Script 기반으로 배포 가능.
  3. 모니터링 & 로깅 수집
    • Metrics (Prometheus Exporter): Pod 상태, Node 리소스, VM 자원 사용량 수집.
    • Logs (Loki): Application log, System log를 Alloy가 수집 후 Loki에 저장.
    • Tracing (Tempo): 서비스 간 요청 흐름을 Trace 데이터로 Alloy가 수집 후 Tempo에 전달.
  4. Grafana Alloy 역할
    • 각 데이터 소스(Metrics, Logs, Traces)를 통합 관리.
    • Prometheus, Loki, Tempo에 데이터를 적절히 라우팅.
    • 중앙화된 수집/가공/전송 에이전트로 동작.
  5. 시각화 & 알림
    • Grafana에서 모든 데이터를 단일 대시보드로 시각화.
    • Alerting Rule에 따라 Slack, Email, Webhook 등으로 실시간 알람 발송.

Grafana Stack 통합 모니터링,

  • Metrics + Logs + Traces를 한 화면에서 확인
  • Lightweight & Open Source 기반 운영
  • 운영 비용 절감 효과

 

 

 

 

 

 

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG more
«   2026/10   »
일 월 화 수 목 금 토
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함