네트워크 모니터링 시스템(NMS)
을 지탱하는 기술
강영상
IT Platform Dev
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술
Data Center 각
NCP Region
네트워크 모니터링
발생된 문제
• 망 간의 거리
• 네트워크 장비 수
• 네트워크 장비 종류 수
• 배포시 수집 누락
1.
망 간의 거리
SNMP (Simple Network Management Protocol)
Network 장비 모니터링 방법의 de facto standard
• UDP
• <Key, Value> 형태로 성능값을 조회
Router
GET Request
ResponseNMS
망 간의 거리
수집시 고려할 점
• 라우터의 SNMP 처리 성능
• 패킷당 요청 개수 : 최대 10여개 (Router 성능, 패킷 크기에 따른 제한)
• 수집항목 개수 : 한 Router당 1,000 ~ 10,000개
Router
GET Request
Response
NMS GET Request
Response
망 간의 거리
수집 시간이 1분을 초과할 수 있음
• Data 누락
• 이벤트 처리 오류
RTT 수집 시간
KR - CN 90ms 90s
KR - US 220ms 220s
KR - DE 290ms 290s
망 간의 거리
Router의 리소스를 고려하여 수집시간을 줄일 수 있는 방법 필요
• 수집 서버를 Router 근처에 배치
• Multi-threading
 Data 누락을 없애고, 성능 수집으로 인해 Router에 주어지는 성능상 부담을
최소화
Router
GET Request
ResponseNMS
2.
네트워크 장비 수
네트워크 장비 수
네트워크 장비 수
Scale-out 검토 필요
• Router 개수가 수 천 대씩 증가하기도 함
• 관련한 다양한 기술 검토 필요 : Kafka, Zookeeper, Hbase, Redis, Spark,
Storm, …
Scale-out이 안 된다면
• 갑작스러운 규모 증가에 대응이 어려움
• Global view 지원이 어려움
네트워크 장비 수
Region #2 (유럽)
Region #1 (한국)
Region #3 (미국)
Router
Router
Router
Router
Region 구분
네트워크 장비 수
Region #2 (유럽)
Region #1 (한국)
Region #3 (미국)
Router
Router
Router
Router
NMS
Region별로 NMS 구축
네트워크 장비 수
Region #2 (유럽)
Region #1 (한국)
Region #3 (미국)
Router
Router
Router
Router
Collector
Collector
Region별로 Collector 구축
네트워크 장비 수
Region #2 (유럽)
Region #1 (한국)
Region #3 (미국)
Router
Router
Router
Router
Collector
Collector
Region별로 Collector 구축
Queue Consumer
Hbase
MySQL
Consumer
Event
Processor
FrontEnd
Web
API
Performance
Discovery
Event
Aggregator
네트워크 장비 수
Region #2 (유럽)
Region #1 (한국)
Region #3 (미국)
Router
Router
Router
Router
Collector
Collector
Queue Consumer
Hbase
MySQL
Consumer
Event
Processor
FrontEnd
Web
API
Performance
Discovery
Event
Aggregator
Zookeeper Redis Batch
네트워크 장비 수
Scale-out을 위해
• Region별 수집기 구축
• Kafka, Zookeeper, Redis, Hbase 사용
 대규모 Router 증설에도 간단히 대응 가능
 Global view 지원
3.
네트워크 장비 종류 수
네트워크 장비 종류 수
네트워크 장비 종류 수
100
네트워크 장비 종류 수
SNMP MIB 종류 : 100
Router
GET 1.3.6.1.4.1.9.9.109.1.1.1.1.4
CPU 사용률
NMS GET 1.3.6.1.4.1.9.9.13.1.3.1.3.2
#2 센서 온도
네트워크 장비 종류 수
장비 모델별 MIB 형식에 일관성이 없음
• A 모델 :
𝟏.𝟑.𝟔.𝟏.𝟒.𝟏.𝟑𝟑𝟕𝟓.𝟐.𝟏.𝟏.𝟐.𝟏.𝟒𝟓.𝟎 의 값
𝟏.𝟑.𝟔.𝟏.𝟒.𝟏.𝟑𝟑𝟕𝟓.𝟐.𝟏.𝟏.𝟐.𝟏.𝟒𝟒.𝟎 의 값
* 100
• B 모델 : 1.3.6.1.4.1.5951.4.1.1.41.2.0의 값
모델별로 수집기를 개발할 경우 100가지의 실행 코드가 생산됨
네트워크 장비 종류 수
Performance Template
CPU Used
Memory Used
Packets In
Temperature
Router Model A
CPU Used #1.3.6.1.4.1.9.9.109.1.1.1.1.4.1#
Memory Used #1.3.6.1.4.1.2636.3.1.13.1.11.9.1.0.0#
Packets In #1.3.6.1.2.1.31.1.1.1.6.$indexNum$#*8
Temperature #1.3.6.1.4.1.9.9.13.1.3.1.3.$indexNum$#
Router Model B
CPU Used #1.3.6.1.4.1.5951.4.1.1.41.6.1.2.$indexNum$
#
Memory Used #1.3.6.1.4.1.3224.16.2.1.0#/(#1.3.6.1.4.1.32
24.16.2.1.0#+#1.3.6.1.4.1.3224.16.2.2.0#)*1
00
Packets In #1.3.6.1.2.1.31.1.1.1.6.$indexNum$#*8
Temperature #1.3.6.1.4.1.3224.21.4.1.3.$indexNum$#
• 추상화
• MIB 표현식
네트워크 장비 종류 수
운영/개발 리소스 최소화
• Performance Template에 대해 동작하는 수집기 1개
• 수집기는 모델별 MIB 정보 분석(Parsing)하여 Data 수집
• Network 담당자가 신규 모델에 대한 MIB 정보 입력
4.
배포시 수집 누락
배포시 수집 누락
수집 서버 추가/제거, 수집기 배포
• 수집기 재시작 필요
• 수집기별 수집 대상 장비 변경됨
수집기 재시작
• 수집에 필요한 정보(Meta Data) loading
• 새로운 목록에 대해 수집 시작
Data 누락
• 수집기별 loading 속도가 다름
• 수집 주기(1분) 내에 loading이 어려울 수 있음 : 원거리, data size
배포시 수집 누락
최초 배포 시나리오
• Collector 종료 시 Membership에서 Leave 후 즉시 종료
• Master는 수집 대상 장비를 Reassign(1)하고 각 Collector는 새로운 수집 대
상 정보(1)를 읽음
• 배포 및 실행 후 즉시 Membership에 Join
• Master는 수집 대상 장비를 Reassign(2)하고 각 Collector는 새로운 수집 대
상 정보(2)를 읽음
Leave ReassignJoin
11분 12분
배포시 수집 누락
결과
• 11분의 수집 보장 안 됨
• 12분에 일부 Collector는 (1) 할당 정보로, 일부는 신규 설정(2)로 수집해서 누
락 및 중복 수집
• Leave 후에 다른 Collector가 준비할 때까지는 계속 수집을 해줘야 Loss가 없음
Leave ReassignJoin
11분 12분
배포시 수집 누락
개선된 배포 시나리오
• 종료하는 Collector는 11분에 Membership에서 Leave (zk의 member 노드만
제거하고 실제 프로세스는 살아있음)
• Master가 Reassign 하고, 14분에 모든 Collector가 Redis로부터 새로운 수집
대상 정보를 읽음 ==> 모든 Collector가 감지
• 15분이 되기 전까지는 기존 할당 정보로 수집
• 15분부터는 새로 Assign된 정보로 수집
11분 12분 13분 14분 15분
Leave 신규 수집 대상 정보 ReloadJoin
배포시 수집 누락
결과
• 정상 수집
11분 12분 13분 14분 15분
Leave 신규 수집 대상 정보 ReloadJoin
배포시 수집 누락
Coordinator를 이용한 구현
• Collector Leave시 Master는 수집 대상 정보 Reassign
• Master는 Coordinator로써 Collector에게 Barrier를 시작하는 Alarm을 보냄 (Prepare)
• Collector는 새로운 할당 정보를 읽고 Barrier에 참여하여 Barrier 완료를 기다림 (I’m ready)
• Collector는 Barrier가 완료되기 전에는 기존 할당 정보로, 완료 후에는 새로운 할당 정보로 동작함
• Barrier가 완료되면 Master는 You may leave Alarm을 보냄
• Leave 하던 Collector는 Master로부터 You may leave를 받고 종료
Prepare I’m ready You may leave
11분 12분 13분 14분 15분
Leave Join
해결책과 결과
• Router 근거리에 Collector 배치
• Scale-out
• 장비 모델별 수집항목을 템플릿화
• 배포 시나리오 조정
 Router에 Data 수집으로 인한 부담 최소화
 운영 비용 최소화
 Data 누락 최소화
Q & A
Thank you

More Related Content

PPTX
Building an Active-Active IBM MQ System
PPTX
Oracle Database in-Memory Overivew
PDF
Fault tolerant and scalable ibm mq
PPTX
Power of the AWR Warehouse
PDF
Principles of Monitoring Microservices
PDF
Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and Administer
PDF
MAA Best Practices for Oracle Database 19c
PPTX
Google Cloud Spanner Preview
Building an Active-Active IBM MQ System
Oracle Database in-Memory Overivew
Fault tolerant and scalable ibm mq
Power of the AWR Warehouse
Principles of Monitoring Microservices
Oracle E-Business Suite R12.2.5 on Database 12c: Install, Patch and Administer
MAA Best Practices for Oracle Database 19c
Google Cloud Spanner Preview

What's hot (20)

PDF
SDN입문 (Overlay and Underlay)
PDF
Airspan: Network Densification using Outdoor and Indoor Small Cells
PDF
Ash architecture and advanced usage rmoug2014
PPTX
Apache Kafka vs RabbitMQ: Fit For Purpose / Decision Tree
PDF
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
DOCX
Data power Performance Tuning
PPTX
Pub/Sub Messaging
PDF
Oracle db performance tuning
PDF
New Generation Oracle RAC Performance
PDF
Oracle RAC in the Oracle Cloud
PDF
OOW16 - Oracle Enterprise Manager 13c Cloud Control for Managing Oracle E-Bus...
PDF
IBM MQ High Availability 2019
PPTX
VeeamON 2023 Architecting Veeam Backup for Microsoft 365 at Scale
PPTX
Virtual desktop infrastructure
PDF
Hands-on with data visualization in Kibana
PDF
Rules Programming tutorial
PDF
Whitepaper: Mining the AWR repository for Capacity Planning and Visualization
PDF
APIConnect Security Best Practice
PDF
Getting Started with IBM i Security: User Privileges
PDF
Chaos Engineering with Kubernetes
SDN입문 (Overlay and Underlay)
Airspan: Network Densification using Outdoor and Indoor Small Cells
Ash architecture and advanced usage rmoug2014
Apache Kafka vs RabbitMQ: Fit For Purpose / Decision Tree
[OpenStack Days Korea 2016] Track1 - Monasca를 이용한 Cloud 모니터링
Data power Performance Tuning
Pub/Sub Messaging
Oracle db performance tuning
New Generation Oracle RAC Performance
Oracle RAC in the Oracle Cloud
OOW16 - Oracle Enterprise Manager 13c Cloud Control for Managing Oracle E-Bus...
IBM MQ High Availability 2019
VeeamON 2023 Architecting Veeam Backup for Microsoft 365 at Scale
Virtual desktop infrastructure
Hands-on with data visualization in Kibana
Rules Programming tutorial
Whitepaper: Mining the AWR repository for Capacity Planning and Visualization
APIConnect Security Best Practice
Getting Started with IBM i Security: User Privileges
Chaos Engineering with Kubernetes
Ad

Viewers also liked (20)

PDF
[216]네이버 검색 사용자를 만족시켜라! 의도파악과 의미검색
PPTX
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
PDF
[232]mist 고성능 iot 스트림 처리 시스템
PDF
[225]빅데이터를 위한 분산 딥러닝 플랫폼 만들기
PPTX
[211] HBase 기반 검색 데이터 저장소 (공개용)
PDF
유연하고 확장성 있는 빅데이터 처리
PDF
[215]streetwise machine learning for painless parking
PDF
[221]똑똑한 인공지능 dj 비서 clova music
PDF
[241]large scale search with polysemous codes
PDF
[234]멀티테넌트 하둡 클러스터 운영 경험기
PDF
[213]building ai to recreate our visual world
PDF
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
PDF
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms
PDF
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼
PDF
[246]reasoning, attention and memory toward differentiable reasoning machines
PDF
[242]open stack neutron dataplane 구현
PDF
[212]big models without big data using domain specific deep networks in data-...
PDF
[222]neural machine translation (nmt) 동작의 시각화 및 분석 방법
PDF
인공지능추천시스템 airs개발기_모델링과시스템
PDF
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
[216]네이버 검색 사용자를 만족시켜라! 의도파악과 의미검색
[213] 의료 ai를 위해 세상에 없는 양질의 data 만드는 도구 제작하기
[232]mist 고성능 iot 스트림 처리 시스템
[225]빅데이터를 위한 분산 딥러닝 플랫폼 만들기
[211] HBase 기반 검색 데이터 저장소 (공개용)
유연하고 확장성 있는 빅데이터 처리
[215]streetwise machine learning for painless parking
[221]똑똑한 인공지능 dj 비서 clova music
[241]large scale search with polysemous codes
[234]멀티테넌트 하둡 클러스터 운영 경험기
[213]building ai to recreate our visual world
[231]운영체제 수준에서의 데이터베이스 성능 분석과 최적화
[223]rye, 샤딩을 지원하는 오픈소스 관계형 dbms
[224]nsml 상상하는 모든 것이 이루어지는 클라우드 머신러닝 플랫폼
[246]reasoning, attention and memory toward differentiable reasoning machines
[242]open stack neutron dataplane 구현
[212]big models without big data using domain specific deep networks in data-...
[222]neural machine translation (nmt) 동작의 시각화 및 분석 방법
인공지능추천시스템 airs개발기_모델링과시스템
백억개의 로그를 모아 검색하고 분석하고 학습도 시켜보자 : 로기스
Ad

Similar to [244]네트워크 모니터링 시스템(nms)을 지탱하는 기술 (20)

PDF
Understanding of Apache kafka metrics for monitoring
PDF
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
PDF
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
PDF
Cloud-Barista 제1차 오픈세미나 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(1st Open Seminar...
PPSX
SDDC(software defined data center)에서 NFV의 역할과 관리도구 (세미나 발표 자료)
PDF
[오픈소스컨설팅]파일럿진행예제 on AWS
PDF
Private cloud network architecture (2018)
PDF
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
PDF
SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdf
PPTX
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
PDF
[MGDC] 리눅스 게임 서버 성능 분석하기 - 아이펀팩토리 김진욱 CTO
PDF
[2B5]nBase-ARC Redis Cluster
PPSX
[NDC 2017] 이카루스 북미 : 베타서비스 활용법
PDF
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
PDF
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
PPT
Network Manager소개 08년5월1
PDF
AWS Aurora 운영사례 (by 배은미)
PDF
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
PDF
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Dragonfly - 멀티클라우드 대규모 통합 모니터링 (Multi-cloud la...
PPTX
KGC 2014: 분산 게임 서버 구조론
Understanding of Apache kafka metrics for monitoring
Cloud-Barista 제7차 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Dragonfly - 멀티 클라우드 통합 모니터링 프레임워크(Multi-Cloud ...
Cloud-Barista 제1차 오픈세미나 : CB-Dragonfly-멀티 클라우드 통합 모니터링 프레임워크(1st Open Seminar...
SDDC(software defined data center)에서 NFV의 역할과 관리도구 (세미나 발표 자료)
[오픈소스컨설팅]파일럿진행예제 on AWS
Private cloud network architecture (2018)
Cloud-Barista 제5차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
SK ICT Tech Summit 2019_BIG DATA-11번가_DP_v1.2.pdf
서비스 모니터링 구현 사례 공유 - Realtime log monitoring platform-PMon을 ...
[MGDC] 리눅스 게임 서버 성능 분석하기 - 아이펀팩토리 김진욱 CTO
[2B5]nBase-ARC Redis Cluster
[NDC 2017] 이카루스 북미 : 베타서비스 활용법
Cloud-Barista 제3차 오픈 컨퍼런스 : CB-Larva - Cloud-Barista 인큐베이터(Cloud-Barista Incu...
Cloud-Barista 제6차 오픈 컨퍼런스 : 멀티클라우드 대규모 통합 모니터링 (CB-Dragonfly)
Network Manager소개 08년5월1
AWS Aurora 운영사례 (by 배은미)
카프카(kafka) 성능 테스트 환경 구축 (JMeter, ELK)
Cloud-Barista 제4차 오픈 컨퍼런스 : CB-Dragonfly - 멀티클라우드 대규모 통합 모니터링 (Multi-cloud la...
KGC 2014: 분산 게임 서버 구조론

More from NAVER D2 (20)

PDF
[211] 인공지능이 인공지능 챗봇을 만든다
PDF
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
PDF
[215] Druid로 쉽고 빠르게 데이터 분석하기
PDF
[245]Papago Internals: 모델분석과 응용기술 개발
PDF
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
PDF
[235]Wikipedia-scale Q&A
PDF
[244]로봇이 현실 세계에 대해 학습하도록 만들기
PDF
[243] Deep Learning to help student’s Deep Learning
PDF
[234]Fast & Accurate Data Annotation Pipeline for AI applications
PDF
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
PDF
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
PDF
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
PDF
[224]네이버 검색과 개인화
PDF
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
PDF
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
PDF
[213] Fashion Visual Search
PDF
[232] TensorRT를 활용한 딥러닝 Inference 최적화
PDF
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
PDF
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
PDF
[223]기계독해 QA: 검색인가, NLP인가?
[211] 인공지능이 인공지능 챗봇을 만든다
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[215] Druid로 쉽고 빠르게 데이터 분석하기
[245]Papago Internals: 모델분석과 응용기술 개발
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[235]Wikipedia-scale Q&A
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[243] Deep Learning to help student’s Deep Learning
[234]Fast & Accurate Data Annotation Pipeline for AI applications
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[224]네이버 검색과 개인화
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[213] Fashion Visual Search
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[223]기계독해 QA: 검색인가, NLP인가?

[244]네트워크 모니터링 시스템(nms)을 지탱하는 기술

  • 1. 네트워크 모니터링 시스템(NMS) 을 지탱하는 기술 강영상 IT Platform Dev
  • 7. 발생된 문제 • 망 간의 거리 • 네트워크 장비 수 • 네트워크 장비 종류 수 • 배포시 수집 누락
  • 9. SNMP (Simple Network Management Protocol) Network 장비 모니터링 방법의 de facto standard • UDP • <Key, Value> 형태로 성능값을 조회 Router GET Request ResponseNMS
  • 10. 망 간의 거리 수집시 고려할 점 • 라우터의 SNMP 처리 성능 • 패킷당 요청 개수 : 최대 10여개 (Router 성능, 패킷 크기에 따른 제한) • 수집항목 개수 : 한 Router당 1,000 ~ 10,000개 Router GET Request Response NMS GET Request Response
  • 11. 망 간의 거리 수집 시간이 1분을 초과할 수 있음 • Data 누락 • 이벤트 처리 오류 RTT 수집 시간 KR - CN 90ms 90s KR - US 220ms 220s KR - DE 290ms 290s
  • 12. 망 간의 거리 Router의 리소스를 고려하여 수집시간을 줄일 수 있는 방법 필요 • 수집 서버를 Router 근처에 배치 • Multi-threading  Data 누락을 없애고, 성능 수집으로 인해 Router에 주어지는 성능상 부담을 최소화 Router GET Request ResponseNMS
  • 15. 네트워크 장비 수 Scale-out 검토 필요 • Router 개수가 수 천 대씩 증가하기도 함 • 관련한 다양한 기술 검토 필요 : Kafka, Zookeeper, Hbase, Redis, Spark, Storm, … Scale-out이 안 된다면 • 갑작스러운 규모 증가에 대응이 어려움 • Global view 지원이 어려움
  • 16. 네트워크 장비 수 Region #2 (유럽) Region #1 (한국) Region #3 (미국) Router Router Router Router Region 구분
  • 17. 네트워크 장비 수 Region #2 (유럽) Region #1 (한국) Region #3 (미국) Router Router Router Router NMS Region별로 NMS 구축
  • 18. 네트워크 장비 수 Region #2 (유럽) Region #1 (한국) Region #3 (미국) Router Router Router Router Collector Collector Region별로 Collector 구축
  • 19. 네트워크 장비 수 Region #2 (유럽) Region #1 (한국) Region #3 (미국) Router Router Router Router Collector Collector Region별로 Collector 구축 Queue Consumer Hbase MySQL Consumer Event Processor FrontEnd Web API Performance Discovery Event Aggregator
  • 20. 네트워크 장비 수 Region #2 (유럽) Region #1 (한국) Region #3 (미국) Router Router Router Router Collector Collector Queue Consumer Hbase MySQL Consumer Event Processor FrontEnd Web API Performance Discovery Event Aggregator Zookeeper Redis Batch
  • 21. 네트워크 장비 수 Scale-out을 위해 • Region별 수집기 구축 • Kafka, Zookeeper, Redis, Hbase 사용  대규모 Router 증설에도 간단히 대응 가능  Global view 지원
  • 25. 네트워크 장비 종류 수 SNMP MIB 종류 : 100 Router GET 1.3.6.1.4.1.9.9.109.1.1.1.1.4 CPU 사용률 NMS GET 1.3.6.1.4.1.9.9.13.1.3.1.3.2 #2 센서 온도
  • 26. 네트워크 장비 종류 수 장비 모델별 MIB 형식에 일관성이 없음 • A 모델 : 𝟏.𝟑.𝟔.𝟏.𝟒.𝟏.𝟑𝟑𝟕𝟓.𝟐.𝟏.𝟏.𝟐.𝟏.𝟒𝟓.𝟎 의 값 𝟏.𝟑.𝟔.𝟏.𝟒.𝟏.𝟑𝟑𝟕𝟓.𝟐.𝟏.𝟏.𝟐.𝟏.𝟒𝟒.𝟎 의 값 * 100 • B 모델 : 1.3.6.1.4.1.5951.4.1.1.41.2.0의 값 모델별로 수집기를 개발할 경우 100가지의 실행 코드가 생산됨
  • 27. 네트워크 장비 종류 수 Performance Template CPU Used Memory Used Packets In Temperature Router Model A CPU Used #1.3.6.1.4.1.9.9.109.1.1.1.1.4.1# Memory Used #1.3.6.1.4.1.2636.3.1.13.1.11.9.1.0.0# Packets In #1.3.6.1.2.1.31.1.1.1.6.$indexNum$#*8 Temperature #1.3.6.1.4.1.9.9.13.1.3.1.3.$indexNum$# Router Model B CPU Used #1.3.6.1.4.1.5951.4.1.1.41.6.1.2.$indexNum$ # Memory Used #1.3.6.1.4.1.3224.16.2.1.0#/(#1.3.6.1.4.1.32 24.16.2.1.0#+#1.3.6.1.4.1.3224.16.2.2.0#)*1 00 Packets In #1.3.6.1.2.1.31.1.1.1.6.$indexNum$#*8 Temperature #1.3.6.1.4.1.3224.21.4.1.3.$indexNum$# • 추상화 • MIB 표현식
  • 28. 네트워크 장비 종류 수 운영/개발 리소스 최소화 • Performance Template에 대해 동작하는 수집기 1개 • 수집기는 모델별 MIB 정보 분석(Parsing)하여 Data 수집 • Network 담당자가 신규 모델에 대한 MIB 정보 입력
  • 30. 배포시 수집 누락 수집 서버 추가/제거, 수집기 배포 • 수집기 재시작 필요 • 수집기별 수집 대상 장비 변경됨 수집기 재시작 • 수집에 필요한 정보(Meta Data) loading • 새로운 목록에 대해 수집 시작 Data 누락 • 수집기별 loading 속도가 다름 • 수집 주기(1분) 내에 loading이 어려울 수 있음 : 원거리, data size
  • 31. 배포시 수집 누락 최초 배포 시나리오 • Collector 종료 시 Membership에서 Leave 후 즉시 종료 • Master는 수집 대상 장비를 Reassign(1)하고 각 Collector는 새로운 수집 대 상 정보(1)를 읽음 • 배포 및 실행 후 즉시 Membership에 Join • Master는 수집 대상 장비를 Reassign(2)하고 각 Collector는 새로운 수집 대 상 정보(2)를 읽음 Leave ReassignJoin 11분 12분
  • 32. 배포시 수집 누락 결과 • 11분의 수집 보장 안 됨 • 12분에 일부 Collector는 (1) 할당 정보로, 일부는 신규 설정(2)로 수집해서 누 락 및 중복 수집 • Leave 후에 다른 Collector가 준비할 때까지는 계속 수집을 해줘야 Loss가 없음 Leave ReassignJoin 11분 12분
  • 33. 배포시 수집 누락 개선된 배포 시나리오 • 종료하는 Collector는 11분에 Membership에서 Leave (zk의 member 노드만 제거하고 실제 프로세스는 살아있음) • Master가 Reassign 하고, 14분에 모든 Collector가 Redis로부터 새로운 수집 대상 정보를 읽음 ==> 모든 Collector가 감지 • 15분이 되기 전까지는 기존 할당 정보로 수집 • 15분부터는 새로 Assign된 정보로 수집 11분 12분 13분 14분 15분 Leave 신규 수집 대상 정보 ReloadJoin
  • 34. 배포시 수집 누락 결과 • 정상 수집 11분 12분 13분 14분 15분 Leave 신규 수집 대상 정보 ReloadJoin
  • 35. 배포시 수집 누락 Coordinator를 이용한 구현 • Collector Leave시 Master는 수집 대상 정보 Reassign • Master는 Coordinator로써 Collector에게 Barrier를 시작하는 Alarm을 보냄 (Prepare) • Collector는 새로운 할당 정보를 읽고 Barrier에 참여하여 Barrier 완료를 기다림 (I’m ready) • Collector는 Barrier가 완료되기 전에는 기존 할당 정보로, 완료 후에는 새로운 할당 정보로 동작함 • Barrier가 완료되면 Master는 You may leave Alarm을 보냄 • Leave 하던 Collector는 Master로부터 You may leave를 받고 종료 Prepare I’m ready You may leave 11분 12분 13분 14분 15분 Leave Join
  • 36. 해결책과 결과 • Router 근거리에 Collector 배치 • Scale-out • 장비 모델별 수집항목을 템플릿화 • 배포 시나리오 조정  Router에 Data 수집으로 인한 부담 최소화  운영 비용 최소화  Data 누락 최소화
  • 37. Q & A