데이터 파티션은 보다 빠르고 효율적인 쿼리를 위해 로그 데이터를 그룹화하거나 구성하는 방법입니다. 쿼리가 단일 파티션을 대상으로 하는 경우 로그 UI는 다음과 같습니다.
- 관련 없는 데이터 스캔
- 더 빠른 결과 반환
계정에는 여러 파티션이 있을 수 있으며 동시에 여러 파티션을 쿼리할 수 있습니다.
데이터 파티션을 사용하면 데이터를 30일 보존 기간이 있는 대체 또는 "보조" 네임스페이스에 매핑할 수도 있습니다. 이는 GDPR(일반 데이터 보호 규정)과 같은 개인 정보 중심 규정 및 표준 준수를 유지하는 데 유용합니다.
파티션 계획
파티션 생성을 시작하기 전에 필요한 권한 과 파티션 구현 방법에 대한 계획이 있는지 확인하십시오.
중요
로그는 데이터가 NRDB에 기록되기 전에 수집 프로세스 동안 파티션으로 라우팅됩니다. 파티션 규칙은 규칙이 생성되기 전에 수집된 로그에 영향을 주지 않습니다.
파티션 크기 조정 및 구성
데이터 파티션을 올바르게 사용하면 상당한 성능 향상을 얻을 수 있습니다. 데이터를 개별 파티션으로 구성하면 필요한 데이터만 쿼리할 수 있습니다. 단일 파티션이나 쉼표로 구분된 파티션 목록을 쿼리할 수 있습니다. 데이터를 분할하는 목적은 다음과 같습니다.
- 환경이나 조직 내에서 정적이거나 거의 변경되지 않는 범주(예: 사업부, 팀, 환경, 서비스 등)에 맞춰 데이터 파티션을 만듭니다.
- 가장 일반적인 쿼리에 대해 스캔해야 하는 이벤트 수를 최적화하기 위해 파티션을 만듭니다. 엄격하고 확실한 규칙은 없지만 일반적으로
common
쿼리에 대해 스캔된 로그 이벤트가 5억(특히 10억)을 넘으면 파티셔닝을 조정하는 것이 좋습니다.
스캔된 이벤트의 주요 드라이버:
파티션 크기(이벤트 수)
지정된 파티션에 대한 기본 보존(쿼리에서 스캔할 수 있는 총 잠재적 이벤트에 영향을 미침)
NRQL 쿼리에 대한 시간 창
차트 및 대시보드 구조
- 기본 시간 창 기간
- 대시보드의 차트 수(쿼리 수 증가)
적절한 파티션 크기는 얼마입니까?
파티션이 많을수록 더 많은 정보, 목표 검색이 가능하지만, 파티션이 너무 많아지면 로그를 찾기 어려워지고 관리 비용이 증가할 수 있습니다. 적절한 균형을 찾는 것이 중요합니다.
한 계정당 최대 100개의 파티션을 지원하지만, 대부분 계정에 적합한 최적의 파티션 수는 파티션 구성이 얼마나 체계적으로 구성되어 있는지와 플랫폼을 사용하면서 여러 팀과 팀원을 얼마나 잘 조율할 수 있는지에 따라 달라집니다. 일부 고객은 계정에서 12개가 넘는 파티션을 관리하는 것이 힘들다고 느낄 수 있지만, 우리는 니모닉 명명 규칙에 따라 데이터를 논리적으로 그룹화한 잘 정리된 파티션은 그 이상으로도 확장이 가능하다고 생각합니다.
파티션 크기를 추정하기 위한 팁
하루에 주어진 파티션에 얼마나 많은 이벤트가 들어가는지 파악하려면 다음을 수행합니다.
FROM Log_nginxSELECT count(*)SINCE 1 day ago
또한 NrDbQuery
이벤트를 분석하여 파티션에 대한 실제 쿼리 사용 및 성능을 이해할 수 있습니다. 여기에는 쿼리의 지속 시간, 실제 NRQL 문 자체, 쿼리에 사용된 시간 창을 포함한 다양하고 유용한 속성이 있습니다.
예를 들어 다음 쿼리는 특정 파티션에 대한 로그 쿼리에 사용된 기간 크기의 히스토그램을 반환합니다.
FROM NrdbQuery SELECT histogram(timeWindowMinutes, 5, 5) WHERE query like '%Log_nginx%'
또 다른 유용한 기술은 주어진 파티션에 대한 가장 느린 쿼리를 파악하고 해당 쿼리에 사용되는 시간 창을 이해하는 것입니다.
FROM NrdbQuerySELECT percentile(durationMs, 90)WHERE query like '%Log_nginx%'FACET query, timeWindowMinutes
네임스페이스 선택
파티션의 네임스페이스는 보존 기간을 결정합니다. 두 가지 보존 옵션을 제공합니다.
- Standard: 귀하의 뉴렐릭 구독에 의해 결정되는 계정의 기본 보존 기간입니다. 이는 계정에서 사용할 수 있는 최대 보존 기간이며 대부분의 파티션에 대해 선택하게 될 네임스페이스입니다.
- Secondary: 30일 보존. Secondary 네임스페이스의 멤버인 파티션으로 전송된 모든 로그는 수집 후 30일이 지나면 순차적으로 삭제됩니다.
2차 유지 관리는 비용 관리 메커니즘이 아닙니다. 데이터는 수집 시 청구됩니다.
NerdGraph API를 사용하여 데이터 파티션 관리
프로그래밍 방식으로 데이터 파티션을 관리하려면 NerdGraph API 탐색기를 사용할 수 있습니다: one.newrelic.com > All capabilities > Apps > NerdGraph API explorer. NerdGraph 데이터 파티션 튜토리얼은 이 API를 사용하여 데이터 파티션을 쿼리, 생성 및 삭제하는 방법을 보여줍니다.
UI를 통해 파티션 규칙 만들기
로그 쿼리 표시줄 왼쪽에서 Data partitions 클릭한 다음 보존 네임스페이스, 선택적 설명, 일치 기준을 사용하여 파티션 이름을 만듭니다.
새 파티션 규칙을 생성하려면:
- one.newrelic.com > All capabilities > Logs 으)로 이동합니다.
- 로그 쿼리 표시줄 왼쪽에서 Partition을 클릭한 다음 Create new을 클릭합니다.
- Partition name 을
Log_
로 시작하는 영숫자 문자열로 정의합니다. - 선택적 설명을 추가합니다.
- 파티션의 보존 네임스페이스 를 선택합니다.
- 규칙의 Matching criteria 설정: 이 파티션에 저장할 로그와 일치하는 유효한 NRQL
WHERE
절을 입력합니다.
파티션을 보려면: Partition 드롭다운 메뉴를 클릭하세요.
데이터 파티션 검색
기본 파티션은 Log
입니다. 파티션 규칙의 영향을 받지 않는 모든 로그는 기본적으로 Log
파티션에 저장됩니다.
동시에 여러 파티션을 쿼리할 수 있습니다. 최상의 성능을 위해 가능한 한 가장 적은 수의 파티션을 선택하십시오.
파티션을 검색하려면 로그 쿼리 표시줄 왼쪽에서 Partition 클릭하고 파티션 검색 표시줄을 사용하세요.