• 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 를 방문하시기 바랍니다.

문제 신고

스트리밍 데이터 내보내기: AWS Kinesis Firehose로 데이터 보내기

Data Plus 에서 사용할 수 있는 스트리밍 내보내기 기능을 사용하면 New Relic에서 수집되는 데이터를 AWS Kinesis Firehose로 보낼 수 있습니다. NerdGraph 를 사용하여 스트리밍 규칙을 만들고 업데이트하는 방법과 기존 규칙을 보는 방법을 설명합니다. NerdGraph 탐색기 를 사용하여 이러한 호출을 할 수 있습니다.

스트리밍 내보내기란 무엇입니까?

New Relic 조직에서 데이터를 수집하면 스트리밍 내보내기 기능이 해당 데이터를 AWS Kinesis Firehose로 보냅니다. 내보낼 New Relic 데이터의 종류를 제어하는 NRQL 을 사용하여 정의된 사용자 지정 규칙을 설정할 수 있습니다.

스트리밍 내보내기를 사용할 수 있는 몇 가지 예:

  • 데이터 레이크를 채우려면
  • AI/ML 교육 강화
  • 규정 준수, 법적 또는 보안상의 이유로 장기 보존

원할 때마다 스트리밍 내보내기 규칙을 비활성화하거나 활성화할 수 있습니다. 그러나 스트리밍 내보내기는 현재 수집된 데이터만 전송합니다. 즉, 비활성화했다가 다시 활성화하면 꺼져 있을 때 수집된 데이터가 이 기능과 함께 전송되지 않습니다. 과거 데이터를 내보내려면 기록 데이터 내보내기 를 사용할 수 있습니다.

요구 사항 및 제한 사항

권한 관련 요구 사항:

New Relic 데이터를 수신하려면 Amazon Kinesis Firehose가 설정되어 있어야 합니다. 아직 이 작업을 수행하지 않았다면 아래 단계를 따르세요.

NRQL 요구 사항:

  • 집계가 없는 단순 쿼리여야 합니다. 예를 들어 SELECT * 또는 SELECT column1, column2 형식이 지원됩니다.
  • 하위 쿼리를 제외한 WHERE 절의 모든 항목에 적용할 수 있습니다.
  • 쿼리에는 FACET 절, COMPARE WITH 또는 LOOKUP 가 있을 수 없습니다.
  • 중첩 쿼리는 지원되지 않습니다.
  • 메트릭 타임슬라이스 데이터 가 아닌 NRDB에 저장된 데이터 유형을 지원합니다.

Amazon Kinesis Firehose 설정

스트리밍 데이터 내보내기를 설정하려면 먼저 Amazon Kinesis Firehose를 설정해야 합니다. 다음 세 단계에서 해당 절차를 안내해 드리겠습니다.

1단계. 스트리밍 내보내기를 위한 Firehose 생성

New Relic 데이터를 스트리밍할 전용 Firehose를 생성:

  1. Amazon Kinesis Data Firehose로 이동합니다.
  2. 배달 스트림을 만듭니다.
  3. 스트림 이름을 지정합니다(이 이름은 나중에 규칙 등록에서 사용합니다).
  4. Direct PUT 또는 기타 소스 를 사용하고 New Relic의 JSON 이벤트 형식(예: S3, Redshift 또는 OpenSearch)과 호환되는 대상을 지정합니다.

2단계. IAM Firehose 쓰기 액세스 정책 생성

  1. IAM으로 이동하여 정책 을 선택합니다.
  2. 정책을 만듭니다.
  3. Firehose 서비스를 선택한 다음 PutRecordPutRecordBatch 을 선택합니다.
  4. Resources 의 경우 전송 스트림을 선택하고 ARN을 추가한 다음 스트림의 지역을 선택합니다.
  5. AWS 계정 번호를 입력한 다음 이름 상자에 원하는 전송 스트림 이름을 입력합니다.
  6. 정책을 만듭니다.

3단계. New Relic 쓰기 액세스 권한을 부여하기 위한 IAM 역할 생성

IAM 역할을 설정하려면:

  1. IAM으로 이동하여 역할 을 클릭합니다.
  2. AWS 계정에 대한 역할을 생성한 다음 다른 AWS 계정에 대해 선택합니다.
  3. New Relic 내보내기 계정 ID 입력: 888632727556 .
  4. 외부 ID 필요 를 선택하고 내보낼 New Relic 계정의 계정 ID 를 입력합니다.
  5. 권한 을 클릭한 다음 위에서 생성한 정책을 선택합니다.
  6. 역할 이름(내보내기 등록에 사용됨) 및 설명을 추가합니다.
  7. 역할을 만듭니다.

완료되면 NerdGraph를 사용하여 내보내기 규칙을 설정하는 작업을 할 수 있습니다. 자세한 내용은 계속 읽으십시오.

중요 필드

대부분의 스트리밍 데이터 내보내기 NerdGraph 호출은 AWS 계정과 관련된 몇 가지 필드를 사용합니다.

스트림을 만드는 방법

먼저 내보낼 데이터를 결정합니다. 그런 다음 NerdGraph 호출로 NRQL을 사용하여 원하는 스트리밍 규칙을 생성합니다. 몇 가지 예를 들어보겠습니다.

스트림 생성

새 스트리밍 규칙을 만들 때 다음 필드가 모두 필요합니다. 다음은 스트리밍 규칙을 만드는 예입니다.

mutation {
streamingExportCreateRule(
accountId: INSERT_YOUR_NR_ACCOUNT_ID
ruleParameters: {
description: "ADD_RULE_DESCRIPTION"
name: "PROVIDE_RULE_NAME"
nrql: "SELECT * FROM NodeStatus"
}
awsParameters: {
awsAccountId: "YOUR_AWS_ACCOUNT_ID"
deliveryStreamName: "INSERT_FIREHOSE_STREAM_NAME"
region: "SPECIFY_AWS_REGION"
role: "firehose-role"
}
) {
id
status
}
}

규칙 ID 및 상태와 함께 즉시 결과를 얻을 수 있습니다. 상태는 CREATION_IN_PROGRESS 으로 표시됩니다. 규칙 ID를 사용하여 규칙이 성공적으로 생성되었는지 확인할 수 있습니다.

AWS 정책 검증에 시간이 걸리므로 규칙 생성을 완료하는 데 최대 6분이 소요될 수 있습니다.

규칙 등록이 완료되기 전에는 규칙이 생성 프로세스에 대해 잠겨 있기 때문에 다른 변형 작업(예: Enable , Disable 또는 Update )을 시작할 수 없습니다. 규칙이 등록 프로세스를 완료하기 전에 다른 변형 작업을 시도하면 "현재 내보내기 규칙이 다른 요청에 의해 업데이트되고 있습니다. 잠시 기다렸다가 다시 시도하십시오."와 같은 메시지가 표시됩니다.

언제든지 Delete 을(를) 사용할 수 있습니다.

규칙 생성에 필요한 대략 6분 이내에 생성을 완료하고 언제든지 상태를 변경할 수 있습니다. 상태가 ENABLED , DISABLED 또는 CREATION_FAILED 로 변경됩니다.

값에 대한 다음 세부정보를 참조하세요.

  • ENABLED 규칙이 성공적으로 생성되고 데이터 스트리밍이 시작되었음을 의미합니다.
  • CREATION_FAILED 규칙 생성에 실패했음을 의미합니다. 이는 AWS 정책 검증을 포함하여 여러 가지 이유로 발생할 수 있습니다.
  • DISABLED 규칙이 생성되었지만 필터 스트림 제한에 도달했거나 필터 스트림 규칙 생성 실패와 같은 이유로 아직 활성화되지 않았음을 의미합니다. 6분 후에도 상태가 계속 CREATION_IN_PROGRESS 으로 유지되면 서비스의 시스템 오류로 인해 규칙 생성이 실패했음을 의미합니다. 규칙을 삭제하고 새 규칙을 다시 만들 수 있습니다.

스트리밍 규칙이 생성되면 볼 수 있습니다 .

스트림 업데이트

새 스트리밍 규칙을 업데이트할 때 다음 필드가 모두 필요합니다. 다음은 스트리밍 규칙을 업데이트하는 예입니다.

mutation {
streamingExportUpdateRule(
id: YOUR_NEW_RELIC_ACCOUNT_ID
ruleParameters: {
description: "ADD_RULE_DESCRIPTION"
name: "PROVIDE_RULE_NAME"
nrql: "INSERT_YOUR_NRQL_QUERY"
}
awsParameters: {
awsAccountId: "YOUR_AWS_ACCOUNT_ID"
deliveryStreamName: "INSERT_FIREHOSE_STREAM_NAME"
region: "SPECIFY_AWS_REGION"
role: "firehose-role"
}
) {
id
status
}
}

업데이트할 때 메시지 필드에 "내보내기 규칙이 업데이트되고 있으며 프로세스를 완료하는 데 몇 분 정도 걸릴 수 있습니다. 나중에 다시 확인해 주세요.” 완전히 업데이트되는 데 최대 6분이 소요될 수 있습니다.

규칙을 검색하기 위해 streamingRule 를 호출하여 규칙이 업데이트되었는지 확인할 수 있습니다. 규칙이 업데이트되는 기간 동안 규칙이 잠기고 규칙에 대해 다른 변형 작업을 수행할 수 없습니다. 동일한 규칙에 대해 다른 변형 작업을 수행하려고 하면 "현재 내보내기 규칙이 다른 요청에 의해 업데이트되고 있습니다. 잠시 기다렸다가 나중에 다시 시도하십시오."라는 메시지가 표시됩니다. 사용자는 삭제된 규칙을 제외한 모든 상태의 규칙을 업데이트할 수 있습니다.

스트림 비활성화

규칙을 비활성화하려면 규칙 ID만 제공하면 됩니다. 다음은 스트림을 비활성화하는 예입니다.

mutation {
streamingExportDisableRule(id: INSERT_RULE_ID) {
id
status
message
}
}

규칙 상태가 ENABLED 인 경우에만 규칙을 비활성화할 수 있습니다. 다른 상태에 있는 규칙을 비활성화하려고 하면 "허용되지 않는 상태로 인해 내보내기 규칙을 활성화하거나 비활성화할 수 없습니다."라는 오류 메시지가 반환됩니다. 다른 변형이 수행되어 규칙이 잠긴 경우 규칙을 비활성화할 수 없습니다.

스트림 활성화

규칙을 활성화하려면 규칙 ID만 제공하면 됩니다. 다음은 스트림을 활성화하는 예입니다.

mutation {
streamingExportEnableRule(id: INSERT_RULE_ID) {
id
status
message
}
}

상태가 DISABLED 인 경우에만 규칙을 활성화할 수 있습니다. 다른 상태의 규칙을 활성화하려고 하면 "허용되지 않는 상태로 인해 내보내기 규칙을 활성화하거나 비활성화할 수 없습니다."와 같은 오류 메시지가 반환됩니다. 수행 중인 다른 변형으로 인해 규칙이 잠긴 경우 규칙을 활성화할 수 없습니다.

스트림 삭제

스트림을 삭제하려면 규칙 ID를 제공해야 합니다. 다음은 예입니다.

mutation {
streamingExportDeleteRule(id: INSERT_RULE_ID) {
id
...
}
}

이미 삭제된 경우를 제외하고 모든 상태의 규칙에 대해 삭제를 수행할 수 있습니다. 규칙을 삭제하면 다시 활성화할 수 없습니다. 규칙 ID로 steamingRule API를 호출하면 삭제 후 처음 24시간 이내에 규칙을 계속 볼 수 있습니다. 24시간이 지나면 NerdGraph를 통해 더 이상 규칙을 검색할 수 없습니다.

스트림 보기

계정 ID 및 규칙 ID를 쿼리하여 특정 스트림 규칙에 대한 정보를 쿼리할 수 있습니다. 다음은 예입니다.

{
actor {
account(id: YOUR_NR_ACCOUNT_ID) {
streamingExport {
streamingRule(id: "INSERT_RULE_ID") {
aws {
awsAccountId
deliveryStreamName
region
role
}
createdAt
description
id
message
name
nrql
status
updatedAt
}
}
}
}
}

모든 기존 스트림을 쿼리할 수도 있습니다. 다음은 예입니다.

{
actor {
account(id: YOUR_NR_ACCOUNT_ID) {
streamingExport {
streamingRules {
aws {
awsAccountId
region
deliveryStreamName
role
}
createdAt
description
id
message
name
nrql
status
updatedAt
}
}
}
}
}
Copyright © 2023 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.