NerdGraph API를 사용하여 생성하고 관리할 수 있습니다.
개요
사용자 지정 대시보드 기능에 대한 소개 는 대시보드 문서 를 참조하십시오.
NerdGraph를 사용하여 대시보드를 구성할 때 대시보드는 모니터링되는 앱, 호스트 및 서비스와 같이 엔터티로 간주되는 다른 항목과 유사하게 고유한 엔터티 ID가 있는 엔터티 로 간주된다는 점을 이해하는 데 도움이 됩니다.
대시보드에서 위젯 및 차트를 추가하고 구성하는 방법은 차트 및 기타 위젯 구성 을 참조하십시오.
대시보드 CRUD 작업
이 문서에서는 NerdGraph API를 사용하여 대시보드(CRUD)를 만들고, 읽고, 업데이트하고, 삭제하는 방법을 설명합니다. 이러한 작업은 대시보드 전체를 수정합니다.
대시보드 만들기
대시보드에는 최소한 한 페이지가 필요합니다. 하나 이상의 페이지로 구성된 대시보드를 만들 수 있으며, 각 페이지에는 하나 이상의 위젯이 있을 수 있습니다.
- api.newrelic.com/graphiql에서 NerdGraph GraphiQL 탐색기로 이동합니다.
- NerdGraph의 대시보드 API 사용하여 새로운 대시보드와 해당 설정을 만드세요.
name
,permissions
등 필수 필드와 최소한 한 페이지를 모두 포함해야 합니다.
대시보드 읽기
- api.newrelic.com/graphiql에서 NerdGraph GraphiQL 탐색기로 이동합니다.
actor > entity()
사용하여 콘솔 GUID로 대시보드를 찾으세요.- NerdGraph의 대시보드 API 사용하여 기존 대시보드와 해당 설정을 읽을 수 있습니다.
이 예에서 DASHBOARD_GUID
읽으려는 대시보드의 실제 GUID로 바꾸세요.
query GetDashboardEntityQuery { actor { entity(guid: "DASHBOARD_GUID") { ... on DashboardEntity { guid name description createdAt updatedAt owner { email userId } permissions pages { guid name description createdAt updatedAt widgets { id visualization { id } layout { column row height width } title linkedEntities { guid } rawConfiguration } } variables { name items { title value } defaultValues { value { string } } nrqlQuery { accountIds query } options { excluded ignoreTimeRange showApplyAction } title type isMultiSelection replacementStrategy } } } }}
검색하려는 정보에 따라 쿼리의 필드를 수정할 수 있습니다.
대시보드 업데이트
대시보드를 업데이트하려면, 하나의 요소만 업데이트하는 경우에도 모든 페이지와 개념을 포함하여 대시보드의 완전한 설정을 제공해야 합니다. 업데이트 작업은 대시보드의 내용을 완전히 교체하는 것입니다.
중요
대시보드를 업데이트할 때 페이지 GUID 또는 위젯 ID가 제공되지 않으면 기존 페이지 또는 위젯이 대시보드에서 제거되고 뮤테이션에 지정된 새 페이지 또는 위젯으로 교체됩니다.
- api.newrelic.com/graphiql에서 NerdGraph GraphiQL 탐색기로 이동합니다.
- NerdGraph의 대시보드 API 사용하여 대시 보드 읽기 섹션에 표시된 대로 해당 GUID로 대시보드를 읽어 기존 대시보드 설정을 가져옵니다.
- 대시보드 설정에서 업데이트하려는 필드를 수정하세요.
- NerdGraph의 대시보드 API 사용하여 수정된 설정으로 기존 대시보드를 업데이트하세요.
중요
위젯에서 Facet Linking
사용하는 경우 대시보드를 읽을 때 필드는 linkedEntities { guid }
이지만 대시보드를 업데이트할 때는 linkedEntityGuids: [ "GUID" ]
사용해야 합니다.
대시보드 삭제
대시보드를 삭제하려면 삭제하려는 대시보드의 GUID를 제공해야 합니다. 이 작업은 대시보드를 복구할 수 있는 논리적 삭제를 실행합니다.
- api.newrelic.com/graphiql에서 NerdGraph GraphiQL 탐색기로 이동합니다.
- NerdGraph의 대시보드 API 사용하여 해당 GUID로 대시보드를 삭제하세요.
status
및errors
체크하여 삭제를 확인하세요.
대시보드 삭제 취소
대시보드 GUID가 주어지면 이전에 삭제된 대시보드를 복구할 수 있습니다. 사용자 정의 태그는 복구할 수 없습니다.
- api.newrelic.com/graphiql에서 NerdGraph GraphiQL 탐색기로 이동합니다.
- NerdGraph의 대시보드 API 사용하여 편집 GUID로 대시보드 삭제를 취소하세요.
errors
이 있으면 체크하여 삭제 취소를 확인하세요.
대시보드 페이지 작업
이 작업은 대시보드의 특정 페이지를 수정합니다.
대시보드 페이지 업데이트
대시보드 페이지 구성 GUID가 주어지면 기존 대시보드의 한 페이지를 업데이트할 수 있습니다. 메타데이터에서 설명 설정까지 완전한 업데이트된 대시보드 페이지 요소를 지정해야 합니다.
- api.newrelic.com/graphiql에서 NerdGraph GraphiQL 탐색기로 이동합니다.
- NerdGraph의 대시보드 API 사용하여 대시 보드 읽기 섹션에 표시된 대로 해당 GUID로 대시보드를 읽어 기존 대시보드 설정을 가져옵니다.
- 대시보드에서 업데이트할 페이지를 식별하여 추출합니다.
- 페이지에서 업데이트하려는 필드를 수정합니다.
dashboardUpdatePage()
사용하여 페이지를 수정하세요.errors
이 있으면 체크하세요.
중요
페이지를 업데이트할 때 위젯 ID가 제공되지 않으면 기존 위젯이 대시보드에서 제거되고 뮤테이션에 지정된 새 위젯으로 교체됩니다.
팁
id
필드 없이widgets
시스템에 위젯을 포함시켜 페이지에 새 위젯을 추가할 수 있습니다.widgets
구조에서 위젯을 생략하여 페이지에서 위젯을 제거할 수 있습니다.
페이지의 위젯을 업데이트합니다
대시보드 페이지 GUID가 주어지면 대시보드 페이지의 기존 세트를 업데이트할 수 있습니다. 업데이트할 위젯 세트와 그에 대한 전체 설정을 지정해야 합니다.
중요
이 작업으로는 페이지에 위젯을 추가하거나 제거할 수 없습니다. 위젯을 추가하거나 제거하려면 대시보드 페이지 업데이트 작업을 사용하세요.
- api.newrelic.com/graphiql에서 NerdGraph GraphiQL 탐색기로 이동합니다.
- NerdGraph의 대시보드 API 사용하여 대시 보드 읽기 섹션에 표시된 대로 해당 GUID로 대시보드를 읽어 기존 대시보드 설정을 가져옵니다.
- 대시보드에서 업데이트하려는 페이지의 위젯을 식별하고 추출합니다.
- 위젯에서 업데이트하려는 필드를 수정합니다.
dashboardUpdateWidgetsInPage()
사용하여 위젯을 수정하세요.errors
이 있으면 체크하세요.
mutation UpdateWidgetsInPage( $pageGuid: EntityGuid! $widgets: [DashboardUpdateWidgetInput!]!) { dashboardUpdateWidgetsInPage(guid: $pageGuid, widgets: $widgets) { errors { type description } }}
이 돌연변이에 사용할 변수는 다음과 같습니다.
{ "guid": "PAGE_GUID", "widgets": [ { "id": "WIDGET_ID", "visualization": { "id": "viz.billboard" }, "layout": { "column": 1, "row": 1, "height": 3, "width": 4 }, "title": "Updated Total Transaction Count", "linkedEntityGuids": [], "rawConfiguration": { "nrqlQueries": [ { "accountIds": [1], "query": "SELECT count(*) FROM Transaction" } ] } } ]}
기타 작업
작업 | GraphQL 작업 유형 | Notes |
---|---|---|
| 돌연변이 | 대시보드 페이지 스냅샷 작업을 생성합니다. 특정 대시보드 페이지 GUID에 대한 공개 URL을 생성할 수 있습니다. 그러면 대시보드 페이지에 결과 공개 URL의 정적 스냅샷 형태로 액세스할 수 있습니다. 생성된 URL은 생성 후 3개월 후에 더 이상 사용되지 않습니다. 자세한 내용은 API를 통해 대시보드 스냅샷 관리를 참조하세요. |
| 질문 | 모든 라이브 URL 작업을 나열합니다. 귀하가 접근할 수 있는 라이브 URL의 전체 목록을 얻을 수 있습니다. 라이브 URL은 최신 또는 라이브 데이터를 사용하여 대시보드 페이지와 위젯을 공개적으로 공유할 수 있는 메커니즘입니다. 자세한 내용은 API를 통해 라이브 차트 URL 관리를 참조하세요. |
| 돌연변이 | 위젯 라이브 URL 작업을 취소합니다. 이전에 생성된 위젯의 라이브 URL을 취소할 수 있습니다. 결과적으로 라이브 URL은 대중에게 공개되지 않게 됩니다. 자세한 내용은 API를 통해 라이브 차트 URL 관리를 참조하세요. |
| 돌연변이 | 공개적으로 접근 가능한 라이브 대시보드 URL을 만듭니다. 자세한 내용은 공개 공유 대시보드 URL 만들기, 업데이트 및 취소를 참조하세요. |
| 돌연변이 | 공개적으로 접근 가능한 라이브 대시보드 URL의 만료 날짜를 업데이트합니다. 자세한 내용은 공개 공유 대시보드 URL 만들기, 업데이트 및 취소를 참조하세요. |
| 돌연변이 | 공개적으로 접근 가능한 라이브 대시보드 URL을 취소합니다. 자세한 내용은 공개 공유 대시보드 URL 만들기, 업데이트 및 취소를 참조하세요. |
| 돌연변이 | 인증 도메인 관리자만 이 변형을 사용하여 계정에 대한 Live URL Creation 정책을 활성화하거나 비활성화할 수 있습니다. 이 정책이 활성화된 계정의 사용자는 대시보드에 대한 라이브 URL을 생성할 수 있습니다. |
교차 계정 대시보드
NerdGraph를 사용하면 둘 이상의 New Relic 계정에서 데이터 쿼리를 생성 할 수 있습니다. accountIds
배열에 계정 ID를 추가하여 여러 계정의 데이터를 사용하여 대시보드를 만들 수도 있습니다.
다음은 교차 계정 대시보드를 만드는 예입니다.
제한
일부 대시보드 속성에 설정할 수 있는 값을 제한했습니다. 이를 통해 대시보드를 좋은 상태로 유지하면서 유용성을 높일 수 있습니다.
대시보드 제한
한계 | 값 |
---|---|
대시보드의 최대 페이지 수 | 25 |
대시보드 이름의 최대 길이 | 255 |
대시보드 설명의 최대 길이 | 1024 |
대시보드 페이지 제한
한계 | 값 |
---|---|
대시보드 페이지의 최대 위젯 수 | 150 |
대시보드 페이지 이름의 최대 길이 | 255 |
대시보드 페이지 설명의 최대 길이 | 1024 |
위젯 제한
한계 | 값 |
---|---|
위젯 제목의 최대 길이 | 255 |
위젯에 연결된 최대 엔티티 수 | 1 |
위젯의 최대 쿼리 수 | 도면 1 |
위젯의 최대 레이아웃 열 | 12 |
위젯의 최소 레이아웃 열 | 1 |
위젯의 최소 레이아웃 행 | 1 |
위젯의 최대 레이아웃 너비 | 12 |
위젯의 최소 레이아웃 너비 | 1 |
위젯의 최대 레이아웃 높이 | 32 |
위젯의 최소 레이아웃 높이 | 1 |
일등 시민으로서의 오류
모든 대시보드 변형은 실행 시 오류를 요청하는 방법을 제공합니다. 즉, 예상되는 잠재적 문제를 감지하기 위해 대시보드 변형을 수행하고 응답을 확인할 수 있습니다. 모든 오류에는 문제의 원인을 식별하는 데 도움이 되는 유형과 설명이 있습니다.
이러한 오류는 우리가 미리 알고 있는 예상 오류임을 명심하십시오. 또한 표준 GraphQL 오류 필드 에 반환될 예기치 않은 오류가 있는지 확인해야 합니다.