뉴렐릭이 뉴렐릭 쿼리 언어(NRQL)를 사용해 뉴렐릭 데이터베이스(NRDB) 내에서 엔터티와 관계 데이터를 바로 쿼리할 수 있도록 하는 새로운 플랫폼 기능을 공식 출시했습니다. 이제 한 곳에서 텔레메트리 데이터와 중요한 엔터티 및 관계 정보를 쉽게 결합할 수 있게 되었습니다.

고객이 직면한 문제

이전에는 엔터티, 관계 및 텔레메트리 데이터가 서로 다른 데이터 저장소에 분산되어 있기 때문에 기본적인 쿼리조차 어려웠고, 인사이트를 얻으려면 복잡한 연결 설정을 하느라 많은 시간과 노력이 필요했습니다.

해결책

이번에 발표된 기능은 NRDB에서 NRQL을 사용해 엔터티 및 관계를 쿼리할 수 있도록 함으로써 데이터 액세스를 통합해줍니다. 24시간 동안 NRDB에 저장되는 엔터티 및 관계 데이터(엔터티 및 관계 이벤트 유형)를 텔레메트리 데이터와 쉽게 상호 연관시킬 수 있습니다.

주요 혜택

  • 간소화된 쿼리: NRQL을 사용해 엔터티 및 관계를 바로 쿼리할 수 있으므로 여러 다른 데이터 저장소를 복잡하게 연결할 필요가 없습니다.
  • 통합 데이터 액세스: 단일 플랫폼에서 엔터티, 관계, 텔레메트리 등 모든 관련 데이터에 액세스할 수 있습니다.
  • 스코어카드 생성: 직접적인 엔터티 및 관계 데이터가 포함된 고급 스코어카드를 생성할 수 있습니다.
    • 태그 규정 준수: 스코어카드 규칙을 정의해 중요한 태그(예: 팀, 환경, 비용_센터)가 누락된 엔터티(예: 호스트, 서비스 또는 애플리케이션)를 쉽게 식별할 수 있습니다. 정의된 규칙은 특정 팀과 관련된 모든 엔터티에 규정을 준수하는 태그가 지정되었는지 확인하고, 스코어카드에 위반 엔터티를 표시할 수 있습니다.
    • AWS 안정성 및 구성 모니터링: AWS 리소스의 구성 및 안정성 상태를 직접 평가하는 스코어카드를 생성할 수 있습니다. 모니터링에는 고가용성 모범 사례를 보장하기 위해 서비스와 기저 AWS 인프라 간의 관계를 확인하는 것이 포함될 수 있습니다(예: 중요 서비스가 여러 가용성 영역에 구축되도록 보장).
    • 옵저버빌리티 성숙도 측정: 모든 운영 서비스와 관련된 알림, 로그 수집 파이프라인, 충분한 추적 범위 등 특정 엔터티와 관련된 주요 옵저버빌리티 구성 요소의 존재 여부와 품질을 추적하는 스코어카드를 생성할 수 있습니다. 이를 통해 전반적인 옵저버빌리티 성숙도에 대한 명확한 데이터 중심 인사이트를 확보해 지속적으로 개선할 수 있습니다.
  • 신속한 인사이트 확보: 시스템 동작을 이해하고 문제를 해결하는 데 필요한 정보를 빠르고 효율적으로 가져올 수 있습니다.
  • 상호 연관 향상: 텔레메트리 데이터와 엔터티 및 관계를 쉽게 상호 연관시켜 환경을 포괄적으로 파악할 수 있습니다.

사용 사례

기능을 어떻게 활용할 수 있는지 보여주는 사용 사례를 소개합니다.

사용 사례
CPU 사용량과 호스트 속성의 상호 연관 - 정의된 기준 또는 속성(예: AWS 리전)을 기반으로 특정 호스트의 CPU 사용률 분석

기능 사용 전

기능 사용 후

여러 데이터 스스에서 복잡한 쿼리 실행

FROM SystemSample

JOIN (FROM Entity SELECT id,name WHERE type='INFRA-HOST' AND `tags.aws.awsRegion`='eu-central-1')

ON entityGuid=id

SELECT average(cpuPercent) FACET name

사용 사례

특정 시점의 엔터티 상태 뷰 - 과거 특정 엔터티(예: 호스트 또는 컨테이너)의 상태 검색

기능 사용 전

기능 사용 후

불가능

FROM Entity select * where id='<id>' since 7 hours ago until 6 hours ago limit 1

 

사용 사례:
엔터티 상태 변경 추적  - 특정 기간 동안 엔터티 상태의 변경 사항 식별

기능 사용 전

기능 사용 후

불가능

SELECT * FROM Entity WHERE `id`='<id>' SINCE 3 hours ago

사용 사례

호스트와 관련된 애플리케이션 발견 - 특정 호스트에서 실행 중인 애플리케이션 식별

기능 사용 전

기능 사용 후

애플리케이션과 호스트를 상호 연관시키기 어려움

FROM EntityRelationship SELECT sourceEntityGuid, targetEntityGuid, sourceEntityType, targetEntityType, relationshipType   where (sourceEntityType like '%HOST%' and targetEntityType='APPLICATION') or (targetEntityType LIKE '%HOST%' and sourceEntityType='APPLICATION')