Publicité
Publicité

Contenu connexe

Similaire à Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)(20)

Plus de Cloud-Barista Community(17)

Publicité

Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)

  1. “오픈소스”로 만들어가는 “멀티클라우드” 생태계 클라우드바리스타 커뮤니티 제6차 컨퍼런스 CLOUD BARISTA 카페라떼(Cafe Latte) 한잔 어떠세요 ? 멀티클라우드 대규모 통합 모니터링 박 진 휘 [세션] CB-Dragonfly CB-Dragonfly 프레임워크 멤버
  2. 목 차 1 CB-Dragonfly 프레임워크 기술 개요 I CB-Dragonfly 프레임워크 주요 기능 II CB-Dragonfly 프레임워크 로드맵 IV CB-Dragonfly 프레임워크 개발 현황 (Cafe Latte) III CB-Dragonfly 프레임워크 기술 시연 V
  3. CB-Dragonfly 프레임워크 기술 개요 2 *CSP *CSP: Cloud Service Provider VM 메트릭 VM 메트릭 VM 메트릭 CSP 별 모니터링 메트릭 제공 • 이종 클라우드 연동 환경에서의 대규모 인프라 서비스 및 쿠버네티스 서비스의 통합 모니터링 기능을 제공하는 멀티 클라우드 통합 모니터링 프레임워크 다양한 이종 환경의 유연한 모니터링 다양한 클라우드 서비스 특화 모니터링 대규모 멀티 클라우드 서비스 모니터링 안정적인 대규모 멀티 클라우드 모니터링을 위한 메시지 큐 기반 모니터링 트래픽 부하분산 및 모니터링 데이터 처리 기능 제공 멀티 클라우드 인프라 서비스, 쿠버네티스 서비스 기반 특화 모니터링 메트릭 발굴 및 수집/제공 에이전트 기반 VM 환경, 컨테이너 환경 등 다양한 환경에서 모니터링 기능 제공 As-Is To-Be *K8S Pod 메트릭 NS 메트릭 메트릭 CSP K8S 서비스 별 모니터링 메트릭 제공 Node *K8S: Kubernetes
  4. CB-Dragonfly 프레임워크 사용자 관점 활용 시나리오 모니터링 에이전트 설치 모니터링 알람 임계치 설정 모니터링 데이터 확인 REST API & Go API 활용 CLI 지원 API 기반 에이전트 설치 및 알람 설정 <7> <1> <2> <4> <6> 모니터링 알람 확인 <5> 모니터링 환경 변수 설정 <3> Config 파일 기반 모니터링 환경 설정 CB-Dragonfly 기능 활용 모니터링 방법(Push, Pull) 모니터링 정책(Agent, CSP) 모니터링 환경 (Max host, Collect interval 등) 모니터링 에이전트 자동 설치 알람 이벤트 핸들러 등록 알람 태스크 생성 설정 환경 조회 콜렉터 동작 제어 메트릭 정보 조회 총 90개의 모니터링 메트릭 데이터 확인 REST API 및 Go API 기반 CB-dragonfly 기능 동작 알람 태스크 기반 알람 진단 Slack, SMTP, HTTP 알람 발생 • CB-Dragonfly 프레임워크 모니터링 기능 활용 시나리오 3
  5. CB-Dragonfly 프레임워크 수집 방식 및 모니터링 대상 • CB-Dragonfly 프레임워크 모니터링 데이터 수집 방식 • Agent PUSH, Server PULL, On-Demand 등 3종 모니터링 수집 방식 지원 • CB-Dragonfly 프레임워크 모니터링 대상 • VM 모니터링 • 모니터링 에이전트 기반 동작 • CPU, Memory, Disk I/O 등 모니터링 메트릭 제공 • MCIS 모니터링 • 모니터링 에이전트 기반 동작 • File I/O, Network Packets 등 성능 메트릭 제공 • MC-K8S 모니터링 • 모니터링 에이전트 기반 동작 • MCKS, CMKS, PMKS 등 쿠버네티스 서비스 모니터링 • 노드, 파드 단위 모니터링 정보 제공 • CPU, Memory, FS, Network 등 모니터링 메트릭 제공 4 MCIS VM K8S VM 모니터링 에이전트 Node Node Node ... ... MCIS 모니터링 MC-K8S 모니터링 모니터링 대상 모니터링 데이터 수집 방식 PUSH 방식 PULL 방식 On-Demand 방식 VM 모니터링 MCIS PUSH PULL On-Demand Namespace Pod
  6. 모니터링 콜렉터 CB-Dragonfly 프레임워크 구성도 CB-Dragonfly 통합 모니터링 프레임워크 API 모니터링 정책/알림 매니저 모니터링 알람 모니터링 데이터 진단 모듈 모니터링 데이터 정책 관리 모듈 에이전트 메타데이터 매니저 에이전트 메타데이터 관리 모듈 모니터링 콜러 매니저 콜러 제어 모듈 모니터링 콜렉터 매니저 모니터링 에이전트 에이전트 API PULL 모듈 온디맨드 모듈 PUSH 모듈 통합 모니터링 수집 모듈 모니터링 지표 ... ... 1 2 4 5 8 4 1 3 7 8 1 2 스토리지 CB-Store InfluxDB 모니터링 콜러 5 6 2 7 3 9 5 6
  7. CB-Dragonfly 프레임워크 아키텍처 6
  8. CB-Dragonfly 프레임워크 주요 기능 모니터링 에이전트 모니터링 에이전트 ... 통합 모니터링 프레임워크 API 에이전트 메타데이터 관리 기능 메타 데이터 관리 CB-Dragonfly 모니터링 제어 기능 데이터 수집기 스케줄링 모니터링 에이전트 모니터링 콜렉터 (에이전트 PUSH) 모니터링 콜러 (서버 PULL) 모니터링 데이터 수집 및 저장 (VM, MCIS,MC-K8S… ) 모니터링 데이터 수집 기능 메시지 큐 모니터링 정책/알람 기능 모니터링 알람 모니터링 데이터 진단 모니터링 데이터 정책 설정 CB-Dragonfly 기능 모니터링 부하분산 처리 기능 모니터링 에이전트 메타데이터 관리 기능 Push & Pull 방식 모니터링 모니터링 알람 진단 및 제어 기능 TSDB & Key-Value 저장소 에이전트 기반 모니터링 메트릭 수집 개방형 API 메트릭 처리 및 저장 기능 7 다양한 구동 환경 지원 이벤트 핸들러 등록 및 관리
  9. • Hetero-IaaS 환경의 통합 모니터링 메트릭 수집 기능 • CSP Vendor Lock-in 없는 통합 수집 모듈 기반 모니터링 메트릭 수집 • VM 모니터링 메트릭, MCIS 모니터링 메트릭 제공 • 사용자 설정 기반의 다양한 모니터링 메커니즘 지원 • Listener 모듈 • 서버 요청에 대한 REST API 기반 모니터링 메트릭 전달 • 유동적인 모니터링 메커니즘 변경 기능 제공 • Push 모듈 • AMQP 기반 주기적인 모니터링 메트릭 전달 • 에이전트 상태 데이터 전달 • 통합 수집 모듈 • 사용자 설정 정보 확인 • VM 모니터링 메트릭 수집 • MCIS 모니터링 메트릭 수집 에이전트 기반 모니터링 메트릭 수집 기능 (1/2) 8 <CB-Dragonfly 모니터링 에이전트 구조>
  10. 에이전트 기반 모니터링 메트릭 수집 기능 (2/2) • 모니터링 메트릭 • Affogato 버전 기준 총 73개의 모니터링 메트릭 제공 • 메트릭 종류에 따라 VM 모니터링 메트릭, MCIS 성능 모니터링 메트릭 제공 9 모니터링 메트릭 VM 모니터링 메트릭 MCIS 성능 모니터링 메트릭 CPU, Memory, Network 등 VM 모니터링 메트릭 57개 제공 CPU. Memory, File I/O 등 MCIS 성능 모니터링 메트릭 16개 제공
  11. 10 CB-Dragonfly 다양한 구동 환경 지원 (1/2) • 통합 모니터링 프레임워크의 다양한 배포 및 구동 환경 지원 • Container 및 Container Orchestration 환경 상의 모니터링 제공 • Docker-Compose, Kubernetes, Helm 등 Go 바이너리 지원 Docker 지원 Docker-compose 지원 K8s, helm 지원
  12. 11 • 런타임 환경에 따른 내부 구조 CB-Dragonfly 다양한 구동 환경 지원 (2/2) 바이너리, 컨테이너 쿠버네티스
  13. • 모니터링 PUSH & PULL 메커니즘 PULL & PUSH 방식 모니터링 (1/2) PULL 방식 (서버 PULL) PUSH 방식 (에이전트 PUSH) 모니터링 서버 에이전트 에이전트 에이전트 모니터링 서버 에이전트 에이전트 에이전트 • 에이전트에서 모니터링 서버로 데이터 전송 • 최소한의 설정(서버 주소, 수집 주기 등)으로 에이전트 구동 => 대규모 모니터링 환경에 적합 • 모니터링 서버에서 에이전트로 데이터 전송 요청 • 에이전트 접속 허용을 위한 자격 증명, 방화벽 설정 필요 12
  14. PULL & PUSH 방식 모니터링(2/2) 13
  15. 모니터링 부하분산 처리 기능 멀티 클라우드 통합 모니터링 프레임워크 모니터링 정책 기반 유연한 콜렉터 Scale in / out Stable 콜렉터 콜렉터 콜렉터 에이전트 • 대규모 환경 모니터링을 위한 콜렉터 확장 기능 지원 • 메시지 큐 기반 메트릭 데이터 수집 • 모니터링 정책에 따른 유연한 콜렉터 Scale in/out • 모니터링 대상(VM) 개수 • CSP 종류 14
  16. 15 • 모니터링 Aggregator 모듈 • Aggregate 주기에 따라 캐싱된 모니터링 데이터를 처리 후 TSDB(InfluxDB)에 저장 • Aggregate 함수: MIN, MAX, AVG, LAST 모니터링 메트릭 처리 및 저장 기능 모니터링 Aggregator 모듈 동작 방식 * 모니터링 데이터 기본 수집 주기 : 2 Sec * 모니터링 데이터 기본 aggregate 주기 : 10 Sec
  17. 16 • 모니터링 에이전트 메타데이터 관리 기능 • CB-Dragonfly 프레임워크에서 수집 중인 모니터링 에이전트 목록 관리 • 모니터링 에이전트 태그 정보, CSP 유형, 수집 메커니즘, 헬스체크 상태 저장 모니터링 에이전트 메타데이터 관리 기능 VM MCIS Agent MCIS VM VM Agent Agent NS MCIS VM VM Agent Agent NS 에이전트 설치/삭제 에이전트 구동 시 헬스체크 정보 전달
  18. 17 • 모니터링 알람 진단 및 제어 기능 모니터링 알람 진단 및 제어 기능 1. 이벤트 핸들러 등록 2. 태스크 생성 3. 알람 진단 4. 알람 생성 • 알람 이벤트 핸들러 등록 • Slack, SMTP, HTTP 이벤트 핸들러 지원 • 알람 태스크 생성 • 메트릭 및 알람 임계치 설정 • 메트릭 2종 지원 (warn, critical 알람 레벨) • 생성된 태스크 기반 알람 진단 • 알람 발생 시 알람 발생 로그 생성 • 등록된 이벤트 핸들러 기반 알람 메세지 전달 HTTP HTTP
  19. 18 • CB-Dragonfly 프레임워크를 활용할 수 있는 다양한 API 도구 제공 • REST API, Go API, CLI 유형으로 CB-Dragonfly 기능 활용 • 공식 문처 참고: CB-Dragonfly 공식 Github Wiki 개방형 API REST API Go API CLI 도구 • CLI 도구를 통해 CB-Dragonfly 기능 제공 • 환경설정 조회 기능 제공 • 콜렉터 제어 기능 제공 • 메트릭 정보 조회 기능 제공 • REST API 기반 CB-Dragonfly API 기능 제공 • Go API 기반의 CB-Dragonfly API 기능 제공 • gogoproto 라이브러리 기반 Go API 제공
  20. CB-Dragonfly 프레임워크 버전 별 개발 현황 Cafe Mocha 신규 모니터링 매커니즘 개발 Affogato 신규 모니터링 런타임 구조 개발 Cafe Latte 쿠버네티스 모니터링 기능 개발 • 모니터링 수집 모듈 개발 • 메트릭 처리 모듈 개발 • VM 모니터링 개발 • 최신 데이터 모니터링 개발 • etcd 기반 모니터링 캐싱 • VM 모니터링 메트릭 추가 개발 • MCIS 모니터링 메트릭 설계 • 온디멘드 모니터링 설계 • Windows 환경 에이전트 설치 도구 개발 • Kafka 기반 부하분산 모듈 개발 • MCIS 성능 모니터링 메트릭 개발 • 온디멘드 모니터링 개발 • CB-Store 기반 모니터링 캐싱 • 알람 모듈 개발 • Go API 통신 및 CLI 도구 지원 • Cloud-Twin 환경 에이전트 구동 • PULL 방식 모니터링 개발 • PUSH/PULL 메커니즘 기반 CB- DF 구동 모듈 고도화 • MCIS 특화 메트릭 도출 • MC-K8S 모니터링 PoC 멀티 클라우드 모니터링 기본 매커니즘 개발 Americano 신규 모니터링 메트릭 발굴 및 개발 Cappuccino 대규모 모니터링 기능 고도화 Espresso • Push 방식 모니터링 메커니즘 고도화 • 쿠버네티스 런타임 기반 대규모 모니터링 구조 개발 • MCIS 특화 메트릭 추가 개발 • MC-K8S 모니터링 개발 • 쿠버네티스 모니터링 기능 개발 • 쿠버네티스 기반 에이전트 동작 개발 • 쿠버네티스 환경 모니터링 메트릭 도 출 및 개발 • 쿠버네티스 및 MCIS 에이전트 메타데이터 관리 기능 고도화 19
  21. 20 CB-Dragonfly 카페라떼(Caffe Latte) 개발 현황 < Caffe Latte > 쿠버테니스 모니터링 메트릭 발굴 및 구현 쿠버네티스 기반 에이전트 구동 환경 지원 쿠버네티스 클러스터 모니터링 기능 구현 쿠버네티스 및 MCIS 에이전트 메타데이터 관리 고도화
  22. 21 쿠버네티스 기반 에이전트 구동 환경 지원 모니터링 에이전트 PULL-LISTENER PULL 모듈 온디맨드 모듈 PUSH 모듈 통합 모니터링 수집 모듈 모니터링 지표 Monitoring Agent Monitoring Agent Monitoring Agent • 사용자 연동 쿠버네티스 클러스터별 모니터링 에이전트 구동 기능 구현 • Daemon Set 컨트롤러 기반 클러스터 내부 노드별 에이전트 배포 • PUSH 모니터링 메커니즘 기반 에이전트 모니터링 메트릭 수집 쿠버네티스 컨셉 공식 문서 https://kubernetes.io/ko/docs/concepts/overview/components
  23. 22 쿠버네티스 클러스터 모니터링 기능 구현 • 쿠버네티스 서비스 제공자에 종속되지 않는 모니터링 기능 • EKS, AKS, GKE 등 쿠버네티스 서비스 Vendor Lock-In 개선 • 쿠버네티스 서비스 모니터링 기능을 위한 신규 모니터링 정책 설정 • 모니터링 콜렉터 스케일링 정책: 클러스터 개수 (1:1) • 모니터링 데이터 기본 수집 주기: 30초 • 모니터링 데이터 기본 Aggregate 주기: 1분 User / 3rd Party
  24. 23 쿠버네티스 및 MCIS 모니터링 에이전트 메타데이터 관리 고도화 (1/2) • 쿠버네티스, MCIS 에이전트 메타데이터 및 토픽 데이터 형식 고도화 • 서비스에 따른 데이터 기반 UUID 형식의 메타데이터 키 변경 • PUSH 모니터링 기능을 위한 Kafka 토픽으로 활용 <~Affogato> <Café latte>
  25. 24 쿠버네티스 및 MCIS 모니터링 에이전트 메타데이터 관리 고도화 (2/2) 모니터링 콜렉터 CB-Store Pod CMKS Agent MCKS Node Pod Agent Agent NS MCIS VM VM Agent Agent NS 모니터링 콜렉터 매니저 • 에이전트 헬스 체크 로직 고도화 • 기존 에이전트 메타데이터 매니저 모듈과 모니터링 콜렉터의 에이전트 상태 중복 체크 개선 • MC-K8S 환경에서의 에이전트 상태 관리 로직의 복잡성 개선 • 3개 이상의 노드로 구성된 클러스터의 에이전트 개수: 3개 1 2 3 7 4 5 6 1 2 3 4 5 6 7
  26. 25 쿠버네티스 서비스 모니터링 플로우 API Manager CB-Store Metadata Manager Collect Manager Collector CB-Dragonfly 서비스 확인 설정 확인 에이전트 생성 요청 Push Module Conf Module Metric Collector API Server Agent K8S Cluster (MC-K8S) 에이전트 환경 설정 설정 정보 로드 쿠버네티스 모니터링 메트릭 수집 메타데이터 생성 Broker Kafka 모니터링 메트릭 Publish 모니터링 메트릭 Subscribe 및 에이전트 헬스체크 에이전트 상태 전달 Influx DB 메트릭 저장 메타데이터 저장 콜렉터 생성 및 토픽 분배 Loop 에이전트 상태 수정 API 연결 및 인증 정보 확인 메타데이터 및 토픽 확인 메타데이터 수정
  27. 쿠버네티스 모니터링 메트릭 발굴 및 개발 26 쿠버네티스 모니터링 • 쿠버네티스 환경 모니터링 대상 • 클러스터 구성 노드 • 노드 또는 네임스페이스 하위 파드 CPU Usage 클러스터 구성 노드의 CPU 사용량 9종 MEMORY Usage 클러스터 구성 노드의 Memory 사용량 Available 클러스터 구성 노드의 Memory 유휴량 NETWORK Rx_bytes 클러스터 구성 노드의 수신 네트워크 데이터 양 Rx_errors 클러스터 구성 노드의 수신 네트워크의 에러 데이터 양 Tx_bytes 클러스터 구성 노드의 송신 네트워크 데이터 양 Tx_error 클러스터 구성 노드의 송신 네트워크 에러 데이터 양 FILESYSTEM Capacity 클러스터 구성 노드의 파일 시스템 전체 용량 Usage 클러스터 구성 노드의 파일 시스템 전체 사용량 CPU Usage 파드 내부 컨테이너들의 CPU 사용량 8종 MEMORY Usage 파드 내부 컨테이너들의 Memory 사용량 NETWORK Rx_bytes 파드의 수신 네트워크 데이터 크기 Rx_errors 파드의 수신 네트워크 에러 데이터 크기 Tx_bytes 파드의 송신 네트워크 데이터 크기 Tx_error 파드의 송신 네트워크 에러 데이터 크기 FILESYSTEM Rootfs_capacity 파드 내부 Root 파일 시스템의 전체 용량 Rootfs_used 파드 내부 Root 파일 시스템의 사용량
  28. CB-Dragonfly 프레임워크 기술 로드맵 27
  29. 멀티클라우드 서비스 공통 플랫폼 CLOUD BARISTA 카페라떼(Cafe Latte) 한잔 어떠세요 ? CB-Dragonfly 기술 시연 28
  30. 감사합니다. “오픈소스”로 만들어가는 “멀티클라우드” 생태계 Cloud-Barista Community the 6th Conference 클라우드 바리스타들의 여섯번째 이야기 본 발표자료에는 네이버에서 제공한 나눔글꼴이 적용되어 있습니다. (박 진 휘 / contact-to-cloud-barista@googlegroups.com) https://github.com/cloud-barista https://cloud-barista.github.io
Publicité