안녕하세요, 와탭랩스입니다!
2024년 2월 2일 와탭의 네트워크 성능 모니터링이 정식으로 출시되었습니다. 👏
과거의 네트워크 모니터링은 서버 및 네트워크 장비에 종속적인 정보를 SNMP 프로토콜을 통해 획득해서 가시화하는 형태로 운영됐습니다. 최근 네트워크 시장은 클라우드와 가상화라는 큰 틀에서 성장하고 있으며 이로 인해 기존의 모니터링 방식으로는 장애 상황 및 요소를 판단하기 어려워지고 있는데요. 이런 어려움을 해결해 줄 와탭의 네트워크 성능 모니터링!
오늘은 네트워크 성능 모니터링 (이하 NPM)을 왜 사용해야 하는지, 어떻게 사용하면 좋은지 함께 알아보겠습니다.
네트워크 성능 모니터링, 대체 왜 필요한가요?
최근 컨테이너 기반의 가상화 환경에서는 여러 컨테이너가 단일 장비에서 실행됩니다. 각 컨테이너는 독립된 네트워크 스택을 가지며 하나의 장비에서도 여러 컨테이너 간의 통신이 존재합니다. 기존의 장비 기반의 네트워크 모니터링을 통해서는 문제가 발생한 컨테이너 및 프로세스까지 구분하는 것은 어렵습니다. 또한 기존의 서버 및 네트워크 장비를 통해 서비스를 운영하던 온-프레미스(On-premise) 환경에서 클라우드 서비스 제공 업체(CSP)가 제공하는 가상 환경에서 서비스를 운영하는 환경으로 변화하고 있습니다. 클라우드의 경우 물리적 실체가 없기 때문에 실제 작업을 수행하는 프로세스가 중요한 모니터링 대상입니다.
이런 이유로 기존의 네트워크 성능 모니터링 방식으로는 클라우드와 가상화로 인해 추적하지 못하는 그레이존이 생겼습니다. 와탭의 NPM은 프로세스를 대상으로 네트워크 동작을 추적하기 때문에 클라우드와 가상화에 대한 환경 변화를 대응할 수 있습니다.
최근 Micro Service Architecture(MSA) 기반의 서비스들이 많아지고 있고, 특유의 유연성과 확장성으로 인해 네트워크 관계가 복잡해지고 있는데요. 고가용성(High Availability, HA) 구성이나 Scale Out 등 서비스 안정화를 위해 수행하는 작업들도 네트워크 복잡성에 영향을 주고 있습니다. 관계가 복잡해짐에 따라 부하 발생 여부를 인지하고 구간을 판별해 내는 과정이 점점 더 어려워지고 있습니다.
그렇기 때문에 네트워크 모니터링은 기존의 장비 중심의 모니터링에서 프로세스 중심의 모니터링으로 변화해야 합니다. 와탭의 NPM은 각 프로세스가 수행하는 네트워크 동작을 추적하여 복잡한 구성 요소와 상태 정보를 토폴로지를 통해 직관적으로 이해할 수 있도록 시각화했습니다.
네트워크 성능 모니터링을 사용하면 좋은 점은 무엇인가요?
와탭 NPM은 복잡한 네트워크를 그룹화하여 구간 별 성능 지표를 빠르게 모니터링합니다. 토폴로지 대시보드를 통해 그룹화, 단순화한 네트워크 정보를 통해 네트워크 장애 여부를 빠르게 파악할 수 있습니다.
- 안정적이고 세부적인 데이터 수집
와탭 NPM에서는 eBPF 기술을 활용해 데이터를 수집합니다. eBPF 기술은 커널에서 발생하는 다양한 이벤트를 수집하여 샌드박스 환경에서 추가적인 동작을 실행시켜 주는 기술입니다. 커널 이벤트를 수집하기 때문에 프로세스 레벨의 상세한 정보를 획득하고 샌드박스 기반인 만큼 안정적인 운영이 가능합니다.
태그 옵션을 통한 가시성 확보네트워크 모니터링 제품은 다양하고 복잡한 네트워크 데이터를 쉽게 이해할 수 있도록 제공해야 합니다. 와탭 NPM은 사용자의 목적과 의도에 따라 네트워크 요소들을 표현할 수 있도록 태그 옵션을 지원합니다. 고객 서비스 특성에 맞게 다양한 커스텀할 수 있습니다.
Raw Data를 통한 트러블 슈팅서버에 접속하지 않아도, 장애 상황이 해결된 뒤에도 특정 시점에 네트워크 상태를 지표 기준으로 확인할 수 있으며, 관련된 서버 및 프로세스 등 문제 파악을 지원합니다.
또한 프로세스 단위로 지표가 수집되기 때문에 아래와 같은 효과를 기대할 수 있습니다.
- 서비스 종속성 파악 및 개선
프로세스 단위로 지표를 수집하기 때문에 서비스 종속성을 구간별로 나누어 자세히 확인할 수 있습니다. 서비스가 어떻게 종속되어 있는지 확인할 수 있는 것은 물론, 구체적으로 어느 부분이 효율성이 떨어지는지 확인하여 개선할 수 있습니다.
네트워크 비용 최적화최근 트렌드인 클라우드와 MSA는 특성상 네트워크 비용이 높은 편에 속합니다. 와탭 NPM은 프로세스 단위로 지표를 수집하기 때문에, 의도하지 않은 트래픽 부하가 어떤 구간에서 발생하는지 확인할 수 있습니다. 최적의 네트워크 환경을 설정할 수 있기 때문에 네트워크 비용을 절감할 수 있습니다.
네트워크 장애에 대한 MTTD, MTTR 감소 MTTD(Mean Time To Detect, 장애를 인지하는데 걸리는 시간) / MTTR(Mean Time To Repair, 장애 발생 인지 후 장애를 복구하는데 걸리는 시간)기존 네트워크 모니터링은 호스트 단위였기 때문에 특정 짓지 못했던 네트워크 상황을 어떤 프로세스 혹은 컨테이너가 문제가 있는지 쉽게 식별할 수 있습니다. 일일이 서버에 접속해서 확인할 필요가 없어 장애 발생 시 인지 시간과 복구 시간을 줄일 수 있습니다.
네트워크 성능 모니터링은 어떻게 활용하나요?
네트워크 성능 모니터링 화면으로 직접 알아보자!
1. 네트워크 토폴로지
네트워크 토폴로지 메뉴에서는 토폴로지 차트를 통해 노드 간의 관계를 한 눈에 파악하고, 지표 별 선형 차트와 연계하여 네트워크 구간의 성능을 빠르게 확인할 수 있습니다.
토폴로지는 노드와 엣지로 네트워크를 형상화한 차트입니다. 각 성능 지표에 대한 시계열 차트와 병행하여 네트워크 병목 혹은 장애 구간을 좀 더 쉽게 특정할 수 있습니다. 실시간 및 과거 특정 기간의 데이터를 조회할 수 있으며, '프로세스 종류' 또는 '애플리케이션' 태그를 기준으로 추상화된 네트워크의 성능을 가시화해 모니터링 합니다.
2. 네트워크 추이(TCP)
네트워크 토폴로지 메뉴가 네트워크 구성 정보에 대한 시각화가 주목적이라면, 네트워크 추이 (TCP) 메뉴는 수치로 표시되는 성능 정보들을 한 화면에서 밀도 있게 확인할 수 있습니다. 시간에 따른 성능 정보를 실시간으로 확인할 수 있으며, 과거 시점의 성능 정보를 확인해 문제점을 분석하는 자료로 활용할 수 있습니다.
3. TCP 세션 / UDP 세션
TCP 세션 / UDP 세션 메뉴로 에이전트를 통해 수집한 세션 데이터를 이용해, 장애 포인트를 자세하게 식별할 수 있습니다. 데이터를 효율적으로 식별할 수 있도록 다중 조건을 설정할 수 있는 필터 기능을 제공합니다. 식별한 데이터를 별도의 자료로 활용할 수 있도록 csv 파일 형식으로 다운로드할 수 있습니다.
각 지표들을 어떻게 활용할 수 있나요?
1. 품질 지표
와탭 NPM은 Latency와 Jitter 지표를 제공합니다. 성능 이슈 및 장애 여부를 판단하는 기준으로 이용할 수 있으며, TCP 기반의 네트워크 통신을 활용하는 케이스에서 수집이 가능합니다.
- Latency: 네트워크 응답 시간을 의미하는 지표입니다. 응답 시간이 높은 구간은 최종 사용자에게 직접적으로 좋지 않은 경험을 제공할 수 있습니다.
- Jitter: 네트워크 응답 시간의 변동성을 의미하는 지표입니다. Jitter 값이 높다는 의미는 해당 구간의 네트워크 혼잡, 패킷 이동 경로의 변화가 자주 발생한다는 의미로 해석할 수 있습니다. 특정 네트워크 구간의 장애를 의심할 수 있으며 또한 패킷 도착 순서가 꼬이면서 패킷 재전송 및 누수를 유발하여 전체적인 서비스 품질의 저하로 귀결됩니다.
2. 네트워크 사용량 지표
네트워크 사용량에 대한 정보를 제공하며 의도하지 않은 외부 트래픽의 유입(DDoS 등)이나 트래픽의 패턴 등을 통해 클라우드 환경을 최적화하는데 활용할 수 있습니다.
- bps: bits per second(bps)는 초당 전송 bit 수를 나타내는 지표입니다.
- pps: packets per second(pps)는 초당 전송 패킷 수를 나타내는 지표입니다.
- session count: 유니크 세션 개수를 나타내는 지표입니다.
와탭의 신제품 네트워크 성능 모니터링에 대해 함께 알아보셨는데 어떠셨나요? 지금 NPM 프로젝트를 생성하시면 무료로 15일 사용하실 수 있으니, 관심이 있으신 분들께서는 이용해 보세요!