Publicité

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

Cloud-Barista Community
15 Dec 2021
Publicité

Contenu connexe

Présentations pour vous(20)

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

Publicité

Dernier(20)

Publicité

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

  1. 멀티클라우드, “새로운 생태계를 향한 클라우드 비긴어게인“ 클라우드바리스타 커뮤니티 제5차 컨퍼런스 CLOUD BARISTA 아포가토(Affogato) 한잔 어떠세요 ? 멀티클라우드 대규모 통합 모니터링 박 재 호 [세션] CB-Dragonfly: CB-Dragonfly 프레임워크 맴버
  2. 이번 세션은 … 1 멀티클라우드 서비스 개방형 인터페이스 멀티클라우드 인프라 연동 프레임워크 멀티클라우드 애플리케이션 통합관리 프레임워크 멀티클라우드 인프라 서비스 통합 관리 프레임워크 멀티클라우드 통합 모니터링 프레임워크 멀티클라우드 서비스 공통 플랫폼 응용/도메인/기관 특화 SW CB-Dragonfly CLOUD BARISTA
  3. 목 차 CB-Dragonfly 프레임워크 기술 개요 I CB-Dragonfly 프레임워크 주요 기능 II CB-Dragonfly 프레임워크 로드맵 IV CB-Dragonfly 프레임워크 개발 현황 (Affogato) III CB-Dragonfly 프레임워크 기술 시연 V 2
  4. CB-Dragonfly 프레임워크 기술 개요 *CSP *CSP: Cloud Service Provider VM VM VM 메트릭 메트릭 메트릭 CSP 별 모니터링 메트릭 제공 • 이종 클라우드 연동 환경에서의 대규모 인프라 서비스 및 애플리케이션 통합 모니터링 기능을 제공하는 멀티 클라우드 통합 모니터링 프레임워크 다양한 이종 환경의 유연한 모니터링 멀티 클라우드 특화 모니터링 대규모 멀티 클라우드 서비스 모니터링 안정적인 대규모 멀티 클라우드 모니터링을 위한 메시지 큐 기반 모니터링 트래픽 부하분산 및 모니터링 데이터 처리 기능 제공 멀티 클라우드 인프라 서비스 기반 온디맨드 모니터링, MCIS, MCKS, MC-App 등 특화 모니터링 발굴 및 수집/제공 에이전트 기반 VM 환경, 컨테이너 환경 등 다양한 환경에서 모니터링 기능 제공 As-Is To-Be 3
  5. CB-Dragonfly 프레임워크 사용자 관점 활용 시나리오 모니터링 에이전트 설치 모니터링 알람 임계치 설정 모니터링 데이터 확인 REST API & GRPC 활용 CLI 지원 API 기반 에이전트 설치 및 알람 설정 <7> <1> <2> <4> <6> 모니터링 알람 확인 <5> 모니터링 환경 변수 설정 <3> Config 파일 기반 모니터링 환경 설정 CB-Dragonfly 기능 활용 모니터링 방법(Push, Pull) 모니터링 정책(Agent, CSP) 모니터링 환경 (Max host, Collect interval 등) 모니터링 에이전트 자동 설치 알람 이벤트 핸들러 등록 알람 태스크 생성 설정 환경 조회 콜렉터 동작 제어 메트릭 정보 조회 총 73개의 모니터링 메트릭 데이터 확인 REST API 및 GRPC 기반 CB-dragonfly 기능 동작 알람 태스크 기반 알람 진단 Slack & SMTP 알람 발생 • CB-Dragonfly 프레임워크 모니터링 기능 활용 시나리오 4
  6. CB-Dragonfly 프레임워크 수집 방식 및 모니터링 대상 • CB-Dragonfly 프레임워크 모니터링 데이터 수집 방식 • Agent PUSH, Server PULL, On-Demand 등 3종 모니터링 수집 방식 지원 • CB-Dragonfly 프레임워크 모니터링 대상 • 모니터링 에이전트 기반 VM 모니터링 • CPU, Memory, Disk I/O 등 모니터링 메트릭 제공 • 모니터링 에이전트 기반 MCIS 모니터링 • CPU Freq, Network Packets 등 성능 메트릭 제공 • MCKS, MC-App 모니터링 MCIS VM MCKS VM 모니터링 에이전트 MC- App MC- App MC- App ... ... MCIS 모니터링 MCKS 모니터링 MC-App 모니터링 모니터링 대상 모니터링 데이터 수집 방식 PUSH 방식 PULL 방식 On-Demand 방식 VM 모니터링 MCIS PUSH PULL On-Demand 5
  7. • PUSH & PULL 모니터링 비교도 모니터링 PULL & PUSH 메커니즘 PULL 방식 (서버 PULL) PUSH 방식 (에이전트 PUSH) 모니터링 서버 에이전트 에이전트 에이전트 모니터링 서버 에이전트 에이전트 에이전트 • 에이전트에서 모니터링 서버로 데이터 전송 • 최소한의 설정(서버 주소, 수집 주기 등)으로 에이전트 구동 => 대규모 모니터링 환경에 적합 • 모니터링 서버에서 에이전트로 데이터 전송 • 서버 접속 허용을 위한 자격 증명, 방화벽 설정 필요 6
  8. CB-Dragonfly 프레임워크 구성도 CB-Dragonfly 구성도 모니터링 에이전트 모니터링 에이전트 모니터링 에이전트 ... 에이전트 메타데이터 관리 기능 통합 모니터링 프레임워크 API 메타 데이터 관리 CB-Dragonfly 모니터링 제어 기능 데이터 수집기 스케줄링 모니터링 정책/알람 기능 모니터링 알람 모니터링 데이터 수집 기능 모니터링 콜렉터 (에이전트 PUSH) 모니터링 콜러 (서버 PULL) 모니터링 데이터 수집 및 저장 (MCIS, MCKS, MC-App … ) 메시지 큐 모니터링 데이터 진단 모니터링 데이터 정책 설정 CB-Dragonfly 기본 기능 모니터링 부하분산 처리 기능 모니터링 에이전트 메타데이터 관리 기능 Push & Pull 방식 모니터링 모니터링 알람 진단 및 제어 기능 CB-Ladybug CB-Tumblebug CB-Dragonfly CB-WaterStrider InfluxDB & CB-Store 에이전트 기반 모니터링 메트릭 수집 개방형 API 메트릭 처리 및 저장 기능 7
  9. 모니터링 콜렉터 CB-Dragonfly 프레임워크 세부 구조도 CB-Dragonfly 통합 모니터링 프레임워크 API 모니터링 정책/알림 매니저 모니터링 알람 모니터링 데이터 진단 모듈 모니터링 데이터 정책 관리 모듈 에이전트 메타데이터 매니저 에이전트 메타데이터 관리 모듈 모니터링 콜러 매니저 콜러 제어 모듈 모니터링 콜렉터 매니저 모니터링 에이전트 PULL-LISTENER PULL 모듈 온디맨드 모듈 PUSH 모듈 통합 모니터링 수집 모듈 모니터링 지표 ... ... 1 2 4 5 7 4 1 3 7 8 1 2 스토리지 CB-Store InfluxDB 모니터링 콜러 5 6 2 6 3 8 8
  10. CB-Dragonfly 프레임워크 아키텍처 9
  11. CB-Dragonfly 프레임워크 주요 기능 1 7 6 5 4 3 2 Push & Pull 방식 모니터링 개방형 API 모니터링 알람 진단 및 제어 기능 모니터링 에이전트 메타데이터 관리 기능 메트릭 처리 및 저장 기능 에이전트 기반 모니터링 메트릭 수집 모니터링 부하분산 처리 기능 10
  12. PULL & PUSH 방식 모니터링 11
  13. 모니터링 부하분산 처리 기능 멀티 클라우드 통합 모니터링 프레임워크 모니터링 정책 기반 유연한 콜렉터 Scale in / out Stable 콜렉터 콜렉터 콜렉터 에이전트 • 대규모 환경 모니터링을 위한 콜렉터 확장 기능 지원 • 메시지 큐 기반 메트릭 데이터 수집, 모니터링 정책에 따른 유연한 콜렉터 Scale in/out 12
  14. • Hetero-IaaS 환경의 통합 모니터링 메트릭 수집 기능 • CSP Vendor Lock-in 없는 통합 수집 모듈 기반 모니터링 메트릭 수집 • VM 모니터링 메트릭, MCIS 모니터링 메트릭 제공 • 사용자 설정 기반의 다양한 모니터링 메커니즘 지원 • Listener 모듈 • 서버 요청에 대한 REST API 기반 모니터링 메트릭 전달 • 유동적인 모니터링 메커니즘 변경 기능 제공 • Push 모듈 • AMQP 기반 주기적인 모니터링 메트릭 전달 • 에이전트 상태 데이터 전달 • 통합 수집 모듈 • 사용자 설정 정보 확인 • VM 모니터링 메트릭 수집 • MCIS 모니터링 메트릭 수집 에이전트 기반 모니터링 메트릭 수집 기능 (1/2) <CB-Dragonfly 모니터링 에이전트 구조> 13
  15. 에이전트 기반 모니터링 메트릭 수집 기능 (2/2) • 모니터링 메트릭 • Affogato 버전 기준 총 73개의 모니터링 메트릭 제공 • 메트릭 종류에 따라 VM 모니터링 메트릭, MCIS 성능 모니터링 메트릭 제공 14 모니터링 메트릭 VM 모니터링 메트릭 MCIS 성능 모니터링 메트릭 CPU, Memory, Network 등 VM 모니터링 메트릭 57개 제공 CPU. Memory, File I/O 등 MCIS 성능 모니터링 메트릭 16개 제공 14
  16. • 모니터링 Aggregator 모듈 • Aggregate 주기에 따라 캐싱된 모니터링 데이터를 처리 후 TSDB(InfluxDB)에 저장 • Aggregate 함수: MIN, MAX, AVG, LAST 모니터링 메트릭 처리 및 저장 기능 모니터링 Aggregator 모듈 동작 방식 * 모니터링 데이터 기본 수집 주기 : 2 Sec * 모니터링 데이터 기본 aggregate 주기 : 10 Sec 15
  17. • 모니터링 에이전트 메타데이터 관리 기능 • CB-Dragonfly 프레임워크에서 수집 중인 모니터링 에이전트 목록 관리 • 모니터링 에이전트 태그 정보, CSP 유형, 수집 메커니즘, 헬스체크 상태 저장 모니터링 에이전트 메타데이터 관리 기능 VM MCIS Agent MCIS VM VM Agent Agent NS MCIS VM VM Agent Agent NS 에이전트 설치/삭제 에이전트 구동 시 헬스체크 정보 전달 16
  18. • 모니터링 알람 진단 및 제어 기능 모니터링 알람 진단 및 제어 기능 1. 이벤트 핸들러 등록 2. 태스크 생성 3. 알람 진단 4. 알람 생성 • 알람 이벤트 핸들러 등록 • Slack, SMTP 이벤트 핸들러 지원 • 알람 태스크 생성 • 메트릭 및 알람 임계치 설정 • 메트릭 2종 지원 (warn, critical 알람 레벨) • 생성된 태스크 기반 알람 진단 • 알람 발생 시 알람 발생 로그 생성 • 등록된 이벤트 핸들러 기반 알람 메세지 전달 17
  19. • CB-Dragonfly 프레임워크를 활용할 수 있는 다양한 API 도구 제공 • REST API, gRPC, CLI 유형으로 CB-Dragonfly 기능 활용 개방형 API REST API gRPC CLI 도구 • CLI 도구를 통해 CB-Dragonfly 기능 제공 • 환경설정 조회 기능 제공 • 콜렉터 제어 기능 제공 • 메트릭 정보 조회 기능 제공 • REST API 기반 CB-Dragonfly API 기능 제공 • 공식 문서: https://documenter.getpostm an.com/view/7454078/TzJu8w wi • gRPC 기반의 CB-Dragonfly API 기능 제공 • gogoproto 라이브러리 기반 gRPC 제공 18
  20. CB-Dragonfly 구동 환경 지원 범위 Go 바이너리 지원 Docker 지원 Docker-compose 지원 K8s, helm 지원 • 통합 모니터링 프레임워크의 다양한 배포 및 구동 환경 지원 • Container 및 Container Orchestration 환경 상의 모니터링 제공 • Docker-Compose, Kubernetes (K8s), Helm 등 19
  21. • CB-Dragonfly 프레임워크 버전 별 개발 현황 CB-Dragonfly 프레임워크 버전 별 개발 현황 Americano • 콜렉터, 콜렉터 매니저 개발 • 모니터링 수집 및 처리 모듈 개발 • VM 모니터링 개발 • 최신 데이터 모니터링 개발 • Etcd 기반 모니터링 캐싱 멀티 클라우드 모니터링 기본 매커니즘 개발 Cappucino • VM 모니터링 메트릭 추가 개발 • MCIS 모니터링 메트릭 설계 • 온디멘드 모니터링 설계 • Windows 환경 에이전트 설치 도구 개발 신규 모니터링 메트릭 발굴 및 개발 Espresso • Kafka 기반 부하분산 모듈 고도화 • MCIS 성능 모니터링 메트릭 개발 • 온디멘드 모니터링 개발 • CB-Store 기반 모니터링 캐싱 • 알람 모듈 개발 • gRPC 통신 및 CLI 도구 지원 • Cloud-Twin 환경 에이전트 구동 대규모 모니터링 기능 고도화 Cafe Mocha • PULL 방식 모니터링 개발 • PUSH/PULL 메커니즘 기반 CB-DF 구동 모듈 고도화 • PUSH/PULL 메커니즘 기반 에이전트 모듈 고도화 • MCIS 특화 메트릭 도출 • MCKS, MCAS 모니터링 PoC 신규 모니터링 매커니즘 개발 Affogato • Push 방식 모니터링 메커니즘 고도화 • 쿠버네티스 런타임 기반 대규모 모니터링 구조 개발 • MCIS 특화 메트릭 추가 개발 • MCKS 모니터링 개발 신규 모니터링 런타임 구조 개발 20
  22. CB-Dragonfly 아포가토(Affogato) 개발 현황 Push 방식 모니터링 메커니즘 고도화 K8s 환경 기반 모니터링 콜렉터 확장성 고도화 모니터링 항목 발굴 및 개발 < Affogato Version > 21
  23. 기존 Push 방식 모니터링 메커니즘의 문제점 Monitoring Agent Publish Metric Consume Metric Collector Manager Collector-Scale-In/Out MQ Topic Manager Collector Metric-Aggregator MQ Subscriber ... Aggregate Metric 2 1 1 2 Get All Topic list Distribute Topic List 3 Lookup Aggregated Metric API Handler Lookup Aggregated Metric 3 ... CB-Dragonfly < CB-Dragonfly (Ver. Cafe Mocha) > Agent Topic List Agent Metadata Dragonfly Collector Agent 설치 이후 Agent Metadata 업데이트 기능 X Kafka에 등록되어 있는 모든 Agent Topic 리스트를 5초마다 수집 Collector Manager와 Collector의 결합 구조 Topic 연산 복잡도 문제 Agent Metadata 상태 문제 단일 프로세스 문제 22
  24. Push 방식 모니터링 메커니즘 고도화 (1/3) Main Agent Metadata Manager Push Manager Collector Aggre gator InfluxDB Push Module Metric Collector Agent Conf Broker CB-Dragonfly Agent (Install) Kafka Agent Metadata 저장 { AgentState: Unhealty } Agent 설치 요청 { AgentState: Healthy } 전달 Agent Metadata 업데이트 { AgentState: Healty } 설치 요청 응답: 200 OK or 500 Fail 메트릭 수집 요청 수집 메트릭 전달 Topic 등록 및 메트릭 전송 모니터링 지표 확인 Topic Message Queue에 메트릭 데이터 저장 Opt: Agent 설치 == 200 OK 23
  25. Push 방식 모니터링 메커니즘 고도화 (2/3) Main Agent Metadata Manager Push Manager Collector Aggre gator InfluxDB Push Module Metric Collector Agent Conf Broker CB-Dragonfly Agent (Active) Kafka 모니터링 메트릭 가공 모니터링 데이터 저장 메트릭 수집 요청 수집 메트릭 전달 Topic 등록 및 메트릭 전송 에이전트 메타데이터 조회 Topic 분배 Loop 메트릭 데이터 응답 구독한 Topic의 메트릭 데이터 수집 요청 Topic Message Queue에 메트릭 데이터 저장 모니터링 지표 확인 Collector 생성 생성 성공 Topic 구독 및 목록 전달 24
  26. Push 방식 모니터링 메커니즘 고도화 (3/3) Main Agent Metadata Manager Push Manager Collector Aggre gator InfluxDB Push Module Metric Collector Agent Conf Broker CB-Dragonfly Agent (Inactive) Kafka Agent Metadata 업데이트 { AgentState: Unhealthy } Kafka Topic 구독 해지 메트릭 데이터 수집 Time-out 구독한 Topic의 메트릭 데이터 수집 요청 에이전트 메타데이터 조회 Topic 분배 Topic 구독 및 목록 전달 Collector 생성 생성 성공 Loop Topic Message Queue 조회 메트릭 수집이 안되는 Topic 전달 Metric Not Found 25
  27. • 쿠버네티스 리소스 형태의 모니터링 콜렉터 스케일 인/아웃(배포/삭제) 기능 개발 K8s 환경 기반 모니터링 콜렉터 확장성 고도화 (1/2) 26
  28. K8s 환경 기반 모니터링 콜렉터 확장성 고도화 (2/2) • Cloud-Twin 기반 대규모 모니터링 • 대규모 멀티 클라우드 인프라 가상 시험 환경 모니터링 실시 • Cloud-Twin 기반 대규모 모니터링 개념도 27
  29. 모니터링 항목 발굴 및 개발 28 멀티 클라우드 인프라 서비스 (MCIS) 모니터링 user VM의 사용자 계정 pid Process ID 값 pcpu Process CPU 점유율 pmem Process Mem 점유율 command 수행중인 Process 명령어 destination_ip 송신중인 목적지 ip packet_cnt 송신 중인 패킷 개수 packets_bytes 송신 중인 패킷들의 크기 msg 송신 현황 시스템 메시지 • VM 모니터링 5종 추가 • VM의 사용자 및 프로세스별 자원 사용량, 프로세스 수 등 • MCIS 성능 모니터링 4종 추가 • MCIS 단위 네트워크 성능 메트릭 28
  30. CB-Dragonfly 프레임워크 기술 로드맵 29
  31. CB-Dragonfly 기술 시연 30 동영상 시연이 준비되어 있습니다. : Cloud-Barista 커뮤니티(https://cloud-barista.github.io/youtube) 세션을 놓치셨다면? 걱정하지 마세요! Cloud-Barista 커뮤니티 YouTube 채널에서 확인하실 수 있습니다 ^^
  32. 감사합니다. 멀티클라우드, “새로운 생태계를 향한 클라우드 비긴어게인” Cloud-Barista Community the 5th Conference 클라우드 바리스타들의 다섯번째 이야기 본 발표자료에는 네이버에서 제공한 나눔글꼴이 적용되어 있습니다. (박 재 호/ contact-to-cloud-barista@googlegroups.com) https://github.com/cloud-barista https://cloud-barista.github.io
Publicité