클라우드자원모니터링 : IaaS/PaaS 자원모니터링및발전방향 2017. 12 크로센트신충섭수석
목차 Ⅰ Ⅱ Ⅲ Ⅳ Ⅴ 모니터링시스템구축목표및범위 PaaS-TA 모니터링 IaaS 모니터링모니터링시스템설치절차향후개발계획 1
목표 Ⅰ. 모니터링시스템구축목표및범위 PaaS-TA 클라우드모니터링시스템개발목표및범위 PaaS-TA 클라우드모니터링은 PaaS-TA 를활용하여사용하고자하는기관, 기업에게 IaaS, PaaS, 컨테이너모니터링기능을제공하여보다효율적으로시스템을운영할수있도록서비스를제공하는데그목적이있다. 경보메시지 PaaS-TA Monitoring PaaS-TA Monitring System 자원상태정보 Cloud 관리자 장애 / 성능정보수집및대응 App App App App Bosh PaaS-TA Controller Container IaaS Monitoring IaaS(Openstack only) Infrastructure Service (Controller, Compute, Storage, Network, VM) 2
PaaS-TA 모니터링 Ⅱ. PaaS-TA 모니터링 PaaS-TA 모니터링 New Feature PaaS-TA 모니터링은기존기능에 Network/Disk IO, Process Metric 지표추가및모니터링감시어플리케이션이추가되었다. 모니터링범위구분모니터링지표 PaaS-TA 서비스 Bosh App PaaS-TA 모니터링메트릭지표 기존 추가 기존 추가 기존 추가 CPU Memory Disk Network IO Disk IO Process CPU Memory Disk Network IO Disk IO Process CPU Memory Disk Network IO PaaS-TA 모니터링 Application Application 구분설명 Grafana (Dashboard) Monitoring Batch Monitoring Web Bosh Agent 설치 Bosh 구분설명 Agent 기존 변경 기존 추가 추가 Bosh Metric/Log Agent 수동설치 Bosh Metric/Log Agent 자동설치 PaaS-TA 서비스, Bosh, App 자원상태조회 PaaS-TA 서비스, Bosh, App 자원상태감시및알람발생 / 전송 (Email) 알람정책설정 조치이력관리및통계기능제공 Container 배치현황 3
PaaS-TA 모니터링 Ⅱ. PaaS-TA 모니터링 PaaS-TA System metric 정보수집 architecture Agent 를통해수집된시스템 Metrics 정보는 Time-Series Database 인 InfluxDB 를통해관리 Bosh metric agent PaaS-Ta PaaS-Ta Container cadvisor (agent) metron agent InfluxDB (metrics) TSDB Metric Collector Sender (influxdb) Grafana (Dashboad) Monitoring Web/Batch Doppler Service Metrics Receiver 4
PaaS-TA 모니터링 Ⅱ. PaaS-TA 모니터링 PaaS-TA 모니터링 Application Architecture PaaS-TA 모니터링은 Monitoring Batch/Web 로구성되어있다. Batch 는 PaaS-TA Component 감시역할을하며 Alarm 정책에위배되었을때 Alarm 을발생한다. Management 는 Alarm Web App 으로컨테이너배치현황, 알람정책 / 통계, 알람정보등을사용자에게제공한다 5
PaaS-TA 모니터링 Ⅱ. PaaS-TA 모니터링 PaaS-TA 모니터링 Batch Architecture Monitoring-Batch 는 Table 및기초 Data 를구성하며, Influx 에서 CPU/Memory/Disk 정보를읽어사용자에게 Alarm(Email) 을전송하며, Alarm 정보를발생시킨다. AutoScale 시 PortalDB 에서 AutoScale 정보를읽어임계치를초과한경우 PaaS-TA Portal 에 Scale In/Out 요청을한다 6
PaaS-TA 모니터링 Ⅱ. PaaS-TA 모니터링 PaaS-TA 모니터링 Web Architecture PaaS-TA Monitoring Web 은 Batch 에서발생한 Alarm 조회및관리 / 통계정보를제공한다. MetricDB 를조회하여 Container 배치현황을조회한다 7
PaaS-TA 모니터링 Ⅱ. PaaS-TA 모니터링 파스타 VM Disk I/O, Network I/O 지표정보추가 Disk I/O & Network I/O 상세 파스 - 타 Service HA Architecture 기존 CPU, Memory Disk 정보및추가된 Disk I/O 와 Newtork I/O 정보를활용 Disk I/O 정보 Network I/O 정보 구분 파스 - 타컨테이너 파스 - 타 Controller Jobs VM 사양 #instan Root ces VCPU Memory Disk cell 4 32 66 640 brain 2 4 8 80 database 3 6 12 120 access 3 6 12 120 route_emitter 3 6 12 120 cc_bridge 3 6 12 120 합계 18 60 123 1,200 consul 3 6 12 120 nats 2 4 8 80 api 2 8 16 160 router 3 6 12 120 uaa 2 4 8 80 Doppler 2 4 8 80 loggregator_trafficcontroller 2 4 8 80 etcd 3 6 12 120 stats 2 4 8 80 api_worker 2 4 8 80 clock 2 4 8 80 ha_proxy 2 4 8 80 compilation 0 0 0 합계 27 58 119 1,160 CPU/Memory/Disk 및 Network I/O 정보등을활용하여 각서비스들의필요한용량산정의근거로활용 8
PaaS-TA 모니터링 Ⅱ. PaaS-TA 모니터링 VM 내컨테이너배치현황및컨테이너별 Network I/O 사용량정보조회 컨테이너배치현황 컨테이너 Network I/O 정보조회 VM(Cell) 서비스별로어플리케이션의배포현황을파악할수있도록정보를제공. 추후 Isolation Segments 기능을통해 Zone 영역, Cell 영역을 Tag 로분리하여상호배타적으로운영가능. ex) cell_z1 : development zone cell_z2 : test zone cell_z3 : operation zone 컨테이너별로 Network I/O 상태조회 - RX (Receive Bytes/sec : 초당전달받은바이트 ) 정보 - TX (Transfer Bytes/sec : 초당전송한바이트 ) 정보 개발자포털서비스와연동하여어플리케이션운영현황확인기능제공 9
PaaS-TA 모니터링 Ⅱ. PaaS-TA 모니터링 파스 - 타관리서비스 (Bosh) 의실시간모니터링제공을통한파스 - 타운영안정성강화 파스 - 타관리서비스 (Bosh) 모니터링 Agent 자동설치 파스 - 타관리서비스 (Bosh) 모니터링 Bosh Release director health_monitor nats postgres default provided registry blobstore metric agent log agent(logstash) 고도화 Bosh Monitoring Agent Release 파스 - 타관리서비스 (Bosh) 설치시자동설치되도록 Release 형태로제공 파스 - 타관리서비스 (Bosh) 실행환경의시스템성능및자 원사용상태를실시간으로분석할수있는기반제공 10
PaaS-TA 모니터링 Ⅱ. PaaS-TA 모니터링 주기 ( 일 / 주 / 월별 ) 알람발생현황및조치이력정보관리 알람현황조회 조치이력관리 파스 - 타의알람발생현황을일 / 주 / 월별통계정보로제공 알람발생에대한조치이력정보관리 11
IaaS 모니터링 Ⅲ. IaaS 모니터링 IaaS 모니터링 architecture IaaS 모니터링 Application 은 Openstack, Monasca 기반으로구성되어있다. Openstack Node 에 monasca Agent 가설치되어 metric data 를 monasca 에전송해준다. IaaS 모니터링은 Openstack, Monasca 와연동하여 Application 을기동한다. 12
IaaS 모니터링 Ⅲ. IaaS 모니터링 IaaS 모니터링 주요 Component Component Description Metric agent Openstack 의각 Node 에설치되며 Metric Data 를수집하여 Api Server 에전송한다. Log agent Openstack 의각 Node 에설치되며 Log Data 를수집하여 Log Receiver 에전송한다. Api server Message queue Metric Agent 에서받은 Metric Data 를 Message Queue 에전송한다. Alarm 정책설정및상태 / 이력관련 Api 를 IaaS Monitoring Portal 에제공한다. Api Server 에서받은 Metric Data 를보관하며 Persister 에서 Metric Data 를추출하여 MetricDB 에저장한다. 임계치를초과한경우 Threshold 가 Alarm Message 를 Queue 에등록한다. MetricDB Openstack Node, VM에서발생한 Metric Data를보관한다. ConfigDB 임계치설정, 알람상태등의정보를보관한다, Persister Metric Data를 Queue에서읽어 MetricDB에저장한다. Threshold Metric Data를 Queue에서읽어임계치를감시한다. 임계치초과시 Alarm발생하는역할을한다. Notification Threshold 에서발생한알람정보를 Message Queue 에서읽어관리자에게전송한다.(Email) 13
IaaS 모니터링 Ⅲ. IaaS 모니터링 IaaS 모니터링 주요 Component Component Description Log Receiver LogAgent 에서전송한 Log Data elasticsearch 에저장한다. ElasticSearch Openstack Node, VM 에서발생한 Log Data 를보관한다.. IaaS Monitoring Portal MetricDB 에서 Metric Data 를읽어 IaaS Node/VM 상태를보여준다. ElasticSearch 에서 Log Data 를읽어 IaaS Node/VM 상태를보여준다. Alarm 설정및조회, Alarm 처리내역등을관리한다. 14
IaaS 모니터링 Ⅲ. IaaS 모니터링 Openstack 전체리소스및사용량정보제공 메인화면 Node 현황 IaaS 전체보유된자원현황대비사용량정보조회 Node 현황정보 Tenant 현황정보 IaaS Manage 노드 Overview 정보 Node 상태및 Message Queue 상태정보 15
IaaS 모니터링 Ⅲ. IaaS-TA 모니터링 Tenant 현황및 VM(Instance) 시스템성능상태를실시간모니터링 Tenant 현황 VM(Instance) 상태조회 Tenant 자원현황조회 Tenant 에서생성된 VM(Instance) 리스트조회 실시간 CPU/Memory/Disk 정보조회 주기별 Disk I/O, Network I/O 변화량정보조회 16
IaaS 모니터링 Ⅲ. IaaS-TA 모니터링 시스템운영자가실시간알람을통해 VM(Instance) 생성및 PaaS 운영안정성강화 알람설정 알람현황 알람정의 장애발생전사전예방을위한기준으로알람설정 알람발생내역리스트조회 알람발생조치정보를이력관리하여통계정보로 활용 17
PaaS-TA Monitoring 설치 1 Bosh 및 PaaS-TA 서비스설치 Ⅳ. 모니터링시스템설치 플랫폼설치자동화툴활용 Micro Bosh 이상에서설치필요. stemcell 다운로드 Release 다운로드 Bosh 설치 Bosh 설정 stemcell 업로드 loggregator 업로드 PaaS-TA Controller 업로드 PaaS-TA Controller 설치 PaaS-TA Container 업로드 PaaS-TA Container 설치 플랫폼설치자동화참고 https://github.com/paas-ta/guide-3.0-penne- > Install-Guide > Platform Install System > PaaS-TA_ 플랫폼설치자동화설치가이드 v2.0.md 18
PaaS-TA Monitoring 설치 2 InfluxDB & Logsearch & Metrics Collector 서비스설치 Ⅳ. 모니터링시스템설치 Metrics Database System, Log Repository 및 Metrics Collector 설치 InfluxDB Release 업로드 InfluxDB Manifest 설정 InfluxDB & Grafana 설치 AWS 환경참조 Openstack 환경참조 VMWare 환경참조 Logsearch Release 업로드 Logsearch Manifest 설정 Logsearch 설치 AWS 환경참조 Openstack 환경참조 VMWare 환경참조 Metrics Collector Release 업로드 Metrics Collector Manifest 설정 Metrics Collector 설치 AWS 환경참조 Openstack 환경참조 VMWare 환경참조 설치가이드참고 https://github.com/paas-ta/guide-3.0-penne- > Install-Guide > monitoring > PaaS-TA 모니터링시스템설치가이드.md 19
PaaS-TA Monitoring 설치 3 PaaS-TA Monitoring APP 설치 Ⅳ. 모니터링시스템설치 Monitoring Batch/Web PaaS-TA 배포 PaaS-TA 모니터링 Batch/Web 은 PaaS-TA 에배포되어실행한다. ( 단독프로세스로도가능 ) Cf cli Login CF Target 설정 ( 조직, 공간 ) Monitoring Batch PaaS-TA 배포 (push) Monitoring Web PaaS-TA 배포 (push) 설치가이드참조 https://github.com/paas-ta/paas-ta-monitoring 20
IaaS Monitoring 설치 Ⅳ. 모니터링시스템설치 IaaS 모니터링설치 IaaS Monitoring 은별도 Process 로실행한다. Openstack 설치 Monitoring VM 생성 Monasca 설치 Openstack Agent 설치 IaaS Monitoring 설치및실행 설치가이드참조 https://github.com/paas-ta/iaas-monitoring 21
향후개발계획 Ⅴ. 향후계획 PaaS-TA 모니터링개발로드맵 모니터링개발목표는 3 단계로드맵을수립하여, IaaS, PaaS, SaaS 통합모니터링을지원할예정임. 2017 고도화 1 단계 IaaS 서비스모니터링 PaaS-TA 모니터링고도화 2018 고도화 2 단계 IaaS, PaaS 통합모니터링 SaaS 서비스모니터링 - APM 기능 2019 고도화 3 단계 IaaS, PaaS, SaaS 통합모니터링 모니터링기반 SLA 지표개발 22
시연 23
24