-
Notifications
You must be signed in to change notification settings - Fork 11
Feature and Usage
pjini edited this page Jul 7, 2022
·
26 revisions
그림에서 보는 바와 같이,
CB-Dragonfly를 이용하여 멀티클라우드를 모니터링하는 순서는 다음과 같다.
1. 모니터링 환경 설정
2. CB-Dragonfly 구동
3. 멀티클라우드 VM에 모니터링 에이전트 설치
4. 모니터링 알람 임계치 설정
5. 멀티클라우드 VM 모니터링 실시
CB-Dragonfly가 제공하는 주요 기능은 다음과 같고, 세부 내용은 아래와 같다.
1. 모니터링 에이전트 자동 설치(Multi-Cloud Monitoring Agent Auto-Installation)
2. 멀티클라우드 VM 모니터링 정보 조회(Multi-Cloud VM Monitoring Information Look-up)
3. 멀티클라우드 모니터링 이상치 메트릭 알림(Multi-Cloud Monitoring Outlier Metric Alert)
- 대상 클라우드(=CSP) VM에 모니터링 에이전트 자동 설치를 위하여 필요한 메타 데이터 정보를 입력받는다.
- 메타 데이터 정보는 REST API를 통해 받으며 주요 정보는 다음과 같다
- MCIS 정보: CSP 타입, MCIS ID, 네임스페이스 ID, VM ID, IP
- VM 접속 정보: VM의 SSH 접속 계정, SSH 접근 키, 접속 포트
- API 활용 예시
curl --location -g --request POST 'http://localhost:9090/dragonfly/agent/install' \ --form 'mcis_id="test_mcis_id"' \ --form 'vm_id="test_vm_id"' \ --form 'public_ip="0.0.0.0"' \ --form 'user_name="user_name"' \ --form 'ssh_key="{{Hash Key}}' \ --form 'cspType="AWS"'
- 인터페이스 규격 및 예시
- CB-Dragonfly는 모니터링 메트릭, CB-Dragonfly 환경 및 알림 설정 정보를 API 기반으로 조회할 수 있다.
- 모니터링 메트릭은 VM 에이전트로부터 다음과 같은 모니터링 메트릭들을 수집한다.
- VM 모니터링 메트릭: Cpu, Mem, Disk I/O 등 52가지 메트릭
- MCIS 모니터링 메트릭: Cpu, Mem, Database, Network 등 21가지 메트릭
- MCK8S 모니터링 메트릭: Node, Pod 등 16가지 메트릭
- 멀티클라우드 모니터링 메트릭 종류
- VM 모니터링 메트릭 조회 기능은 사용자에게 모니터링 메트릭 또는 메트릭들의 평균, 최소, 최대 값 등의 정보를 제공한다.
- 모니터링 메트릭 조회 시 주요 입력 정보는 다음과 같다.
- 네임스페이스 이름: 예시) test_namespace
- MCIS 이름: 예시) test_mcis_id
- VM 이름: 예시) test_vm_id
- VM 주소 정보: 예시) 0.0.0.0
- 조회하고자 하는 메트릭 이름: 예시) cpu
- API 활용 예시: 모니터링 메트릭 조회
curl --location -g --request GET 'http://localhost:9090/dragonfly/ns/test_namespace/mcis/test_mcis_id/vm/test_vm_id/agent_ip/0.0.0.0/metric/cpu'
- 모니터링 메트릭 통계치 조회 시 주요 입력 정보는 다음과 같다.
- 네임스페이스 이름: 예시) test_namespace
- MCIS 이름: 예시) test_mcis_id
- VM 이름: 예시) test_vm_id
- 조회하고자 하는 메트릭 이름: 예시) cpu
- 모니터링 단위: 예시) min
- 메트릭 통계 기준: 예시) avg
- 모니터링 조회 범위: 예시) 5m
- API 활용 예시: 모니터링 메트릭 통계치 조회
curl --location -g --request GET 'http://localhost:9090/dragonfly/ns/test_namespace/mcis/test_mcis_id/vm/test_vm_id/metric/cpu/info?periodType=min&statisticsCriteria=avg&duration=5m'
- 모니터링 메트릭 조회 시 주요 입력 정보는 다음과 같다.
- MCIS 모니터링 메트릭 조회 기능은 사용자에게 MCIS 모니터링 메트릭 값을 제공한다.
- 조회 시 주요 입력 정보는 다음과 같다.
- 네임스페이스 이름: 예시) test_namespace
- MCIS 이름: 예시) test_mcis_id
- VM 이름: 예시) test_vm_id
- VM 주소 정보: 예시) 0.0.0.0
- 조회하고자 하는 메트릭 이름: 예시) cpu
- API 활용 예시
curl --location -g --request GET 'http://localhost:9090/dragonfly/ns/test_namespace/mcis/test_mcis_id/vm/test_vm_id/agent_ip/0.0.0.0/metric/cpu/mcis-monitoring-info'
- MCK8S 모니터링 메트릭 조회 기능은 사용자에게 MCK8S 모니터링 메트릭 값을 제공한다.
- 조회 시 주요 입력 정보는 다음과 같다.
- 네임스페이스 이름: 예시) test_ns
- MCK8S 이름: 예시) test_mck8s
- 조회하고자 하는 메트릭 이름: 예시) node, pod
- 조회하고자 하는 메트릭 분류 기준: 예시) cluster, node, namespace, pod
- API 활용 예시
curl --location --request GET 'http://13.125.246.184:30090/dragonfly/ns/test_ns/mck8s/test_mck8s/metric/node/info?groupBy=node&node=test_node&namespace=test_ns&pod=test_pod&periodType=m&statisticsCriteria=last&duration=5m'
- 모니터링 알림 조회 기능은 사용자에게 모니터링 알람 이벤트 및 이벤트 핸들러 정보를 제공한다.
- API 활용 예시
curl --location -g --request GET 'http://localhost:9090/dragonfly/alert/task/cpualert/events?level=warning'
- 알람 이벤트 핸들러 조회 API 활용 예시
curl --location --request GET 'http://localhost:9090/dragonfly/alert/eventhandlers?eventType=slack'
- API 활용 예시
- 모니터링 설정 정보 조회 기능은 사용자에게 CB-Dragonfly의 모니터링 설정 정보를 제공한다.
- API 활용 예시
curl --location -g --request GET 'http://localhost:9090/dragonfly/config'
- API 활용 예시
- 인터페이스 규격 및 예시
- 멀티클라우드 VM 모니터링 메트릭 중 이상치가 감지될 경우 사용자에게 알림을 제공한다.
- 알림을 위해서는 이벤트 핸들러 및 알람 태스크를 API 요청 기반으로 생성해야한다.
- 이벤트 핸들러는 알림의 종류 설정을 담당하며 Slack 및 SMTP를 제공한다.
- Slack 이벤트 핸들러 생성을 위한 주요 API 입력 정보는 다음과 같다.
- 알림 발생 타입: 예시) slack
- 이밴트 핸들러 이름: 예시) slackHandler
- Slack hook url: 예시) https://hooks.slack.com/services/{{Token value}}
- Slack 채널 이름: 예시) #kapacitor-alert
- API 활용 예시
curl --location --request POST 'http://localhost:9090/dragonfly/alert/eventhandler' \ --form 'type="slack"' \ --form 'name="slackHandler"' \ --form 'url="https://hooks.slack.com/services/{{Tokenvalue}}"' \ --form 'channel="#kapacitor-alert"'
- 이벤트 태스크는 이상치가 발생하는지 워치할 메트릭의 종류와 알람 임계치 설정을 담당한다.
- 이벤트 태스크는 warning, critical의 2종 메트릭을 지원한다.
- 워치하고 있는 메트릭의 값이 설정된 시간 범위 내에 여러번 알람 임계치 설정 값을 초과할 경우 사용자에게 알람을 제공한다.
- 알람 태스크 생성을 위한 주요 입력 정보는 다음과 같다.
- 알람 태스크 이름: ex) cpualert
- 워치할 메트릭 타입: ex) cpu
- 알람 임계치 타겟 유형: ex) VM
- 알람 임계치 타겟 id: ex) test_vm_id
- 알람 주기: ex) 5m
- 알람 메트릭: ex) usage_idle
- 알람 임계치 정규식: ex) equalgreater
- 알람 임계치 값: ex) 10
- warning 알람 임계치 횟수: ex) 1
- critical 알람 임계치 횟수: ex) 4
- 알람 이벤트 유형: ex) slack
- 알람 이벤트 핸들러 이름: ex) slackHandler
- 이벤트 핸들러 메세지: ex) cpualert
- API 활용 예시
curl --location --request POST 'http://localhost:9090/dragonfly/alert/task' \ --form 'name="cpualert"' \ --form 'measurement="cpu"' \ --form 'target_type="VM"' \ --form 'target_id="test_vm"' \ --form 'event_duration="5m"' \ --form 'metric="usage_idle"' \ --form 'alert_math_expression="equalgreater"' \ --form 'alert_threshold="10"' \ --form 'warn_event_cnt="1"' \ --form 'critic_event_cnt="4"' \ --form 'alert_event_type="slack"' \ --form 'alert_event_name="slackHandler"' \ --form 'alert_event_message="cpualert"'
- Overview
- Supported-Metrics
- Install & Start Guide
- Feature & Usage
-
User Interface
- Window Monitoring Agent Installer(until Cappuccino)
- CLI Tool Guide
- REST API Guide
- GRPC API Guide
- Design
- Roadmap
- Developer Guide
- Test Reports
- History
- Issue