뉴렐릭 플랫폼은 완전하고 효과적인 시스템 모니터링에 필요하다고 생각되는 네 가지 기본 텔레메트리 데이터 유형인 메트릭, 이벤트, 로그 및 트레이스(옵저버빌리티 업계에서는 보통 줄여서 MELT’라고 칭함)를 중심으로 구축되었습니다.
무료 뉴렐릭 계정을 신청하고 모니터링 서비스를 설치하면 데이터를 활용할 수 있습니다.
데이터에 대한 이해 시작하기
이 문서는 뉴렐릭의 핵심적인 데이터 유형인 MELT의 구조와 각 유형이 기능들에서 어떻게 사용되는지에 대한 기술적인 설명을 제공합니다. 기본 데이터 구조를 이해하지 않아도 대부분의 기능을 사용할 수 있습니다. 그러나 구조를 더 잘 이해하면 뉴렐릭에 데이터를 가져오고, UI에 표시되는 데이터를 이해하며, 데이터를 쿼리하고 차트를 생성하는 데 도움이 될 수 있습니다.
메트릭
먼저 모니터링 업계의 관점에서 메트릭의 정의를 설명한 다음 뉴렐릭이 메트릭을 처리하는 방법을 설명합니다.
모니터링 업계의 메트릭
소프트웨어 모니터링 업계에서 메트릭은 애플리케이션이나 시스템의 수치 측정을 의미합니다. 메트릭은 일반적으로 정기적인 일정에 따라 보고됩니다.
두 가지 주요 메트릭 유형은 다음과 같습니다.
- 집계된 데이터. 예: 1분 동안의 이벤트 수 또는 분당 일부 이벤트의 비율
- 특정 시점의 숫자 상태. 예: CPU 온도 판독값 또는 ‘사용된 CPU%’ 상태.
단일 레코드가 시간 범위를 나타낼 수 있으므로 메트릭은 보고하고 저장하기가 상대적으로 쉽습니다. 또한 시간이 지나면서 집계할 수 있습니다. 예를 들어, 분당 데이터는 일정 시간 후에 시간당 집계로 ‘롤업’될 수 있으며 나중에는 일별 집계로 롤업될 수 있습니다. 이러한 접근 방식은 장기적인 데이터 저장에 효율적입니다.
메트릭은 데이터를 장기간 저장하고 시간 경과에 따른 추세를 이해하기 위한 강력한 솔루션입니다. 한 가지 잠재적인 단점이라고 한다면 시간이 지나면서 집계된 오래된 데이터에 대한 자세한 분석을 수행하기 어려울 수 있다는 것입니다. 특정 중요 작업에 대해 세부적인 정보가 필요한 경우 이벤트 데이터를 사용할 수 있습니다.
뉴렐릭의 메트릭
개념적으로, ‘메트릭’은 광범위하고 일반적인 카테고리입니다. 뉴렐릭이 메트릭을 측정하고 보고하는 다양한 방법이 있지만, 실제로 뉴렐릭 UI를 사용할 때 이것이 정확히 어떻게 생성되는지 이해할 필요가 없습니다. 문서에서는 일반적으로 데이터가 보고되는 방식에 관계없이 ‘메트릭’이라고 지칭합니다. 단, 데이터 쿼리 방법 이해 같이 더 자세히 알아야 할 이유가 있는 경우는 예외입니다.
다음은 뉴렐릭 플랫폼에서 메트릭이 보고되고 저장되는 몇 가지 방법입니다.
커스텀 메트릭을 보고하시겠습니까? 뉴렐릭으로 데이터 가져오기를 참조하십시오.
이벤트 데이터
먼저, 모니터링 업계의 관점에서 events의 정의를 설명한 다음 뉴렐릭이 이벤트 데이터를 처리하는 방법에 대한 몇 가지 세부 사항을 설명하겠습니다.
모니터링 업계의 이벤트
소프트웨어 산업에서 이벤트는 단순히 ‘시스템에서 발생하는 것’으로 생각할 수 있습니다. 예를 들어, 서버 설정이 변경되는 것은 이벤트입니다. 또 다른 예: 웹사이트 사용자가 마우스를 클릭하는 경우.
일부 이벤트는 저장된 레코드를 생성하며 해당 레코드는 일반적으로 event라고도 합니다.
이벤트 데이터는 개별적인 발생을 나타내며, 일반적으로 높은 수준의 세부 정보를 가지므로 이벤트 데이터는 자세한 분석 및 쿼리에 적합합니다. 이벤트 데이터 사용의 단점은 일반적으로 보고된 이벤트가 너무 많아서 더 긴 시간 범위에 걸쳐 큰 데이터 세트를 쿼리하기 어려울 수 있다는 것입니다.
뉴렐릭의 이벤트
뉴렐릭에서는 events라는 데이터 객체에 이벤트를 보고합니다. 이러한 이벤트에는 여러 속성(키-값 쌍)이 첨부되어 있습니다. 이벤트 데이터는 일부 UI 차트 및 테이블에서 사용되며, 쿼리도 가능합니다. 이벤트 데이터가 사용 가능한 기간은 데이터 보존 규칙에 따라 결정됩니다.
이벤트의 한 가지 예: APM은 애플리케이션의 논리적 작업 단위를 나타내는 Transaction
이벤트 유형을 보고합니다. 이 이벤트에 연결된 속성을 보려면 다음과 같은 NRQL 쿼리를 사용할 수 있습니다.
Select * from Transaction
이벤트 데이터 쿼리의 예는NRQL 소개를 참조하십시오.
뉴렐릭 이벤트 데이터에 대한 기타 세부 정보:
- 이벤트에는 모든 유형의 속성이 연결될 수 있습니다. 일부 이벤트에는 메트릭 데이터를 보고하는 속성이 있습니다.
- 커스텀 이벤트를 보고할 수 있습니다.
- 쿼리/차트에 대한 이벤트 데이터의 가용성을 높이려면 이벤트를 메트릭으로 전환할 수 있습니다.
- 일부 시스템은 수집 제한을 초과하는 많은 수의 이벤트를 생성하여 불완전한 쿼리 결과를 초래합니다. 이에 대한 보다 자세한 내용은 이벤트 샘플링을 참조하십시오.
- event은 일반적인 용어이기 때문에, 일부 뉴렐릭 컨텍스트에서는 NRQL을 통해 쿼리할 수 있는 모든 데이터 유형을 지칭합니다. 예를 들어 NRQL 쿼리를 실행하면 검사된 이벤트 수가 반환됩니다. 이는 쿼리된 모든 데이터 유형의 수입니다.
로그 데이터
먼저 모니터링 업계의 관점에서 logs의 정의를 설명한 다음 뉴렐릭이 로그 보고를 처리하는 방법에 대한 몇 가지 세부 사항을 설명하겠습니다.
모니터링 업계의 로그
로그는 시스템 활동을 이해하고 문제를 진단하는 데 사용되는 시스템에 관한 메시지입니다.
뉴렐릭의 로그
뉴렐릭의 기능은 로그 데이터를 뉴렐릭에서 모니터링하는 다른 데이터와 연결하는 중앙화된 플랫폼을 제공합니다. 예를 들어 APM 데이터와 함께 로그를 볼 수 있습니다.
뉴렐릭에서는 여러 속성(키-값 데이터)이 연결된 로그 데이터가 보고됩니다. 로그 데이터를 쿼리하려면 다음과 같은 NRQL 쿼리를 사용할 수 있습니다.
Select * from Log
커스텀 로그 데이터를 보고하려면, Log API를 참조하십시오.
추적 데이터
먼저 모니터링 업계의 관점에서 트레이스의 정의를 설명한 후, 뉴렐릭이 트레이스를 처리하는 방법에 대한 몇 가지 세부 사항을 설명합니다.
모니터링 업계의 추적
애플리케이션/인프라 모니터링 분야에서, tracing 프로그램이나 시스템이 어떻게 작동하는지에 대한 정보를 보고하는 다양한 방법을 나타내는 데 사용되는 일반적인 용어입니다. 예를 들어, stack trace는 프로그램의 서브루틴에 대한 자세한 정보를 제공합니다.
많은 서비스와 마이크로 서비스에 분산되는 대규모 최신 시스템의 경우, ‘추적(tracing)’은 복잡한 분산 환경을 통해 전파되는 요청을 모니터링하는 방법인 분산 추적(distributed tracing)을 의미합니다.
뉴렐릭의 추적
뉴렐릭은 분산 시스템 전반에서 요청을 추적하는 분산 추적 기능을 제공하며 트레이스를 이해하고 분석하기 위한 전용 UI를 제공합니다. 뉴렐릭에서 추적 데이터는 여러 속성(키-값 쌍)이 연결된 Span
객체로 보고됩니다.
추적 데이터를 쿼리하려면 다음과 같은 NRQL 쿼리를 사용할 수 있습니다.
Select * from Span
분산 추적이 어떻게 작동하는지에 대한 보다 자세한 내용은 분산 추적에 대한 이해를 참조하십시오.
커스텀 분산 추적 데이터를 보고하려면, 트레이스 API를 참조하십시오.
데이터 쿼리 및 전송
뉴렐릭 데이터 유형을 이해하면 다음과 같은 이점이 있습니다.