• 로그인지금 시작하기

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

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

문제 신고

NerdGraph 튜토리얼: 적용된 인텔리전스 인시던트 상관 관계를 위한 토폴로지

이 튜토리얼에서는 NerdGraph API를 사용하여 토폴로지를 설정하는 방법을 설명합니다. 토폴로지 구성을 통해 적용된 인텔리전스 결정 을 통해 인시던트의 상관 관계를 개선할 수 있습니다.

요구 사항

토폴로지 상관 관계는 현재 제한적으로 릴리스되었습니다. 토폴로지 요구 사항 을 참조하십시오.

NerdGraph를 사용하려면 사용자 키 가 필요합니다.

튜토리얼 개요

New Relic의 적용된 인텔리전스 를 사용하면 사건의 상관 관계를 제어하는 맞춤형 결정 을 내릴 수 있습니다. 한 종류의 사용자 지정 결정 논리는 서비스 맵을 나타내는 "토폴로지" 개념을 사용합니다. 즉, 인프라의 서비스와 리소스가 서로 관련되는 방식입니다.

이 튜토리얼에서는 NerdGraph 를 사용하여 다음을 수행하는 방법을 보여줍니다.

  • 꼭짓점과 모서리를 만들어 토폴로지 설정
  • 정점 및 가장자리 삭제
  • 토폴로지 데이터 검색

NerdGraph를 사용하여 토폴로지를 구성하기 전에 다음 사항을 기본적으로 이해해야 합니다.

돌연변이 예

NerdGraph에서 돌연변이는 리소스 생성 또는 구성 변경과 같은 작업을 수행하는 요청입니다( NerdGraph 용어 자세히 알아보기 ).

이 섹션에서는 aiTopologyCollector 변형을 사용하여 토폴로지를 생성, 편집 또는 삭제하는 방법을 보여줍니다.

만들기 섹션에서 이 서비스 맵을 나타내는 꼭짓점과 가장자리를 만듭니다.

이 자습서에서는 NerdGraph를 사용하여 이러한 엔터티와 해당 관계를 나타내는 꼭짓점과 가장자리를 만듭니다.

정점 만들기

다음 돌연변이는 모니터링되는 엔터티를 나타내고 사건이 발생한 소스인 하나 이상의 꼭짓점을 만듭니다.

아래의 NerdGraph 호출은 다음 필드를 사용합니다.

  • accountId: 귀하의 New Relic 계정 ID입니다.
  • name: 정점의 이름. 이 값은 대소문자를 구분하며 그래프 내에서 고유해야 합니다.
  • vertexClass: 정점 클래스는 application , host , cloud service , cluster 또는 datastore 수 있습니다. 이 분류를 사용하면 결정 논리가 토폴로지 기반 상관 관계를 제한하여 이러한 분류와 일치하는 정점을 제한할 수 있습니다.
  • definingAttributes: 인시던트 이벤트의 속성과 일치하는 속성 집합(키/값 쌍)입니다. 이는 일반적으로 엔터티 GUID 또는 기타 ID와 같이 모든 인시던트에 나타나는 고유 식별자입니다. 인시던트에 꼭짓점 definingAttributes 의 키/값 쌍이 포함되어 있으면 해당 꼭짓점과 일치합니다. 속성 및 추가 방법에 대한 자세한 내용은 속성 추가 를 참조 하십시오 .

호출 예:

mutation {
  aiTopologyCollectorCreateVertices(
  accountId: NEW_RELIC_ACCOUNT_ID, 
    vertices: [
        {name: "ServiceA", vertexClass: APPLICATION, definingAttributes: [{key: "application/name", value: "ServiceA"}]}, 
        {name: "ServiceB", vertexClass: APPLICATION, definingAttributes: [{key: "application/name", value: "ServiceB"}]}, 
        {name: "ServiceC", vertexClass: APPLICATION, definingAttributes: [{key: "application/name", value: "ServiceC"}]}, 
        {name: "HOST1", vertexClass: HOST, definingAttributes: [{key: "host/name", value: "HOST1"}, {key: "availability-zone", value: "us-west-2a"}, {key: "region", value: "us-west-2"}]}, 
        {name: "HOST2", vertexClass: HOST, definingAttributes: [{key: "host/name", value: "HOST2"}, {key: "availability-zone", value: "us-west-2b"}, {key: "region", value: "us-west-2"}]}, 
        {name: "HOST3", vertexClass: HOST, definingAttributes: [{key: "host/name", value: "HOST3"}, {key: "availability-zone", value: "us-west-2c"}, {key: "region", value: "us-west-2"}]}]) 
  {
    result
  }
}

가장자리 만들기

이 돌연변이는 정점 간의 관계를 나타내는 하나 이상의 가장자리를 만드는 데 사용됩니다.

아래 NerdGraph 호출은 다음 필드를 사용합니다.

  • accountId: 귀하의 New Relic 계정 ID입니다.
  • fromVertexName: 가장자리가 시작되는 정점의 이름입니다.
  • toVertexName: 연결 정점의 이름.
  • directed: 정점이 연결되는 방식을 설명하는 부울입니다. true 은 단방향 관계(예: 한 서비스가 다른 서비스를 호출함)를 나타내고 false 은 를 나타냅니다. 기본적으로 지시된 = true .

호출 예:

mutation {
  aiTopologyCollectorCreateEdges(
    accountId: NEW_RELIC_ACCOUNT_ID, 
   edges: 
    [
      {directed: true, fromVertexName: "ServiceA", toVertexName: "ServiceB"},
      {directed: true, fromVertexName: "ServiceB", toVertexName: "ServiceC"},
      {directed: false, fromVertexName: "ServiceA", toVertexName: "HOST1"},
      {directed: false, fromVertexName: "ServiceA", toVertexName: "HOST2"},
      {directed: false, fromVertexName: "ServiceA", toVertexName: "HOST3"},
      {directed: false, fromVertexName: "ServiceB", toVertexName: "HOST1"},
      {directed: false, fromVertexName: "ServiceB", toVertexName: "HOST2"},
      {directed: false, fromVertexName: "ServiceB", toVertexName: "HOST3"},
      {directed: false, fromVertexName: "ServiceC", toVertexName: "HOST1"},
      {directed: false, fromVertexName: "ServiceC", toVertexName: "HOST2"},
      {directed: false, fromVertexName: "ServiceC", toVertexName: "HOST3"},      
    ]) {
    result
  }
}

정점 삭제

이 변형은 토폴로지 그래프에서 정점을 삭제합니다. 정점을 삭제하면 정점에 연결된 모든 가장자리가 삭제됩니다.

아래 NerdGraph 호출은 다음 필드를 사용합니다.

  • accountId: 귀하의 New Relic 계정 ID입니다.
  • vertexNames: 삭제하려는 정점 이름의 목록입니다.

호출 예:

mutation {
  aiTopologyCollectorDeleteVertices(
    accountId: NEW_RELIC_ACCOUNT_ID, 
    vertexNames: ["ServiceA", "ServiceB", "ServiceC", "HOST1", "HOST2", "HOST3"]) 
  {
    result
  }
}

가장자리 삭제

이 돌연변이는 토폴로지 그래프에서 정점을 연결하는 가장자리를 삭제합니다.

아래 NerdGraph 호출은 다음 필드를 사용합니다.

  • accountId: 귀하의 New Relic 계정 ID입니다.
  • edgeIds: 삭제할 에지 ID 목록입니다.

호출 예:

mutation {
  aiTopologyCollectorDeleteEdges(
    accountId: NEW_RELIC_ACCOUNT_ID, 
    edgeIds: ["d8a7971b-575d-42e9-aa13-43a50c5a7d10", "0da5cb92-0428-4890-992b-2823d037cb5e"]
  ) {
    result
  }
}

쿼리 예시

NerdGraph에서 쿼리는 작업을 수행하는 변형과 달리 데이터를 가져오는 데 사용됩니다( 용어에 대해 자세히 알아보기 ). Nerdgraph 쿼리는 정적이 아닙니다. 즉, 필요에 따라 더 많거나 적은 데이터를 요청할 수 있습니다. 토폴로지 데이터를 검색하려면 aiTopology 쿼리를 사용합니다.

정점 검색

이 쿼리는 토폴로지 그래프의 꼭짓점 목록을 반환합니다.

{
  actor {
    account(id: NEW_RELIC_ACCOUNT_ID) {
      aiTopology {
        vertices {
          vertices {
            id
            name
            definingAttributes {
              key
              value
            }
            updatedAt
            vertexClass
          }
          count
          cursor
        }
      }
    }
  }
}

가장자리 검색

이 쿼리는 토폴로지 그래프의 간선 목록을 반환합니다.

{
  actor {
    account(id: NEW_RELIC_ACCOUNT_ID) {
      aiTopology {
        edges {
          edges {
            id
            toVertexName
            fromVertexName
            directed
            updatedAt
          }
          cursor
          count
        }
      }
    }
  }
}
Copyright © 2022 New Relic Inc.

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