변환 REST API를 사용하여 기존 Grafana 대시보드를 뉴렐릭 네이티브 대시보드로 변환하세요. 옵저버빌리티 툴을 통합하거나, 전체 모니터링 설정을 뉴렐릭으로 마이그레이션하거나, 기존 Grafana 설정과 함께 뉴렐릭 대시보드를 테스트하려는 경우, 이 API를 사용하면 더 쉽게 시작할 수 있습니다.
이 API는 뉴렐릭 PromQL 변환 로직을 사용하여 쿼리를 변환합니다. 지원되는 PromQL 기능 및 함수 목록을 보려면 PromQL 기능 지원 가이드 를 참조하세요.
전제 조건 이 API를 사용하기 전에 다음이 필요합니다:
API 엔드포인트에 요청 Grafana 대시보드를 뉴렐릭 대시보드로 변환하려면, 요청 본문에 변환하려는 대시보드를 포함시켜 해당 리전의 적절한 엔드포인트로 POST 요청을 보냅니다.
우리를: https://prometheus-api.newrelic.com/api/v1/translate/dashboard/grafana 유럽 연합: https://prometheus-api.eu.newrelic.com/api/v1/translate/dashboard/grafana JP: https://prometheus-api.jp.newrelic.com/api/v1/translate/dashboard/grafana API 참조 입증 모든 API 호출에는 사용자 API 키 가 필요합니다. 요청의 api-key 헤더에 이 키를 포함하세요.
요청 본문 요청 본문은 다음 형식의 JSON 객체여야 합니다:
"accountId" : int [ optional ] ,
"dashboard" : object [ required ]
여기서 dashboard는 변환하려는 Grafana 대시보드 JSON 객체입니다. accountId 필드는 선택 사항입니다 ― 생략할 경우, 변환된 대시보드는 요청을 하는 사용자의 계정에서 데이터를 쿼리합니다.
API는 변환된 뉴렐릭 대시보드가 포함된 JSON 객체를 반환합니다:
"name" : "Translated Dashboard" ,
"permissions" : "PUBLIC_READ_WRITE" ,
예 예: Grafana 대시보드를 변환하기 위한 기본 API 호출 $ export NR_USER_KEY = "YOUR_NEW_RELIC_USER_API_KEY"
$ export JSON_FILE = "my_grafana_dashboard.json"
$ export TRANSLATOR_ENDPOINT = "<TRANSLATOR_ENDPOINT_FOR_YOUR_REGION>"
$ curl -s ${TRANSLATOR_ENDPOINT} \
> -H "Content-Type: application/json" \
> -H "api-key: ${NR_USER_KEY} " \
> -d " $( jq -c -n --slurpfile dashboard " ${JSON_FILE} " '{dashboard: $dashboard[0]}' ) " \
예: 계정 ID 재정의를 사용한 대시보드 변환 대시보드에서 데이터를 쿼리할 계정을 재정의하려면 요청의 페이로드에 accountId: int를 포함할 수 있습니다. 이렇게 하면 대시보드의 모든 쿼리가 지정된 계정에서 데이터를 쿼리하게 됩니다.
$ export NR_USER_KEY = "YOUR_NEW_RELIC_USER_API_KEY"
$ export ACCOUNT_ID = "YOUR_NEW_RELIC_STAGING_ACCOUNT_ID"
$ export JSON_FILE = "my_grafana_dashboard.json"
$ export TRANSLATOR_ENDPOINT = "<TRANSLATOR_ENDPOINT_FOR_YOUR_REGION>"
$ curl -s ${TRANSLATOR_ENDPOINT} \
> -H "Content-Type: application/json" \
> -H "api-key: ${NR_USER_KEY} " \
> -d " $( jq -c -n --arg accountId " $ACCOUNT_ID " --slurpfile dashboard " $JSON_FILE " '{accountId: $accountId, dashboard: $dashboard[0]}' ) " \
예: NerdGraph API를 사용하여 변환된 대시보드를 뉴렐릭에 업로드 $ export NR_USER_KEY = "YOUR_NEW_RELIC_USER_API_KEY"
$ export ACCOUNT_ID = "YOUR_NEW_RELIC_STAGING_ACCOUNT_ID"
$ export JSON_FILE = "my_grafana_dashboard.json"
$ export TRANSLATOR_ENDPOINT = "<TRANSLATOR_ENDPOINT_FOR_YOUR_REGION>"
$ export NERDGRAPH_ENDPOINT = "<NERDGRAPH_ENDPOINT_FOR_YOUR_REGION>"
$ NR_DASHBOARD = $( curl -s $ { TRANSLATOR_ENDPOINT } \
> -H "Content-Type: application/json" \
> -H "api-key: ${NR_USER_KEY} " \
> -d " $( jq -c -n --arg accountId " $ACCOUNT_ID " --slurpfile dashboard " $JSON_FILE " '{accountId: $accountId, dashboard: $dashboard[0]}' ) " \
$ curl -X POST ${NERDGRAPH_ENDPOINT} \
> -H "Content-Type: application/json" \
> -H "API-Key: ${NR_USER_KEY} " \
$ "query": "mutation($accountId: Int!, $dashboard: DashboardInput!) { dashboardCreate(accountId: $accountId, dashboard: $dashboard) { entityResult { guid name } errors { description } } }",
$ "accountId": ' ${ACCOUNT_ID} ',
$ "dashboard": ' ${NR_DASHBOARD} '
변환 오류 문제 해결 위젯이나 쿼리를 완전히 변환하지 못하게 만드는 문제를 발견하면, 변환기는 무엇이 잘못되었는지 설명하고 해결책을 제안하는 특수 마크다운 위젯인 'Action Items(작업 항목)'를 생성합니다.
Grafana 및 뉴렐릭 위젯 유형 다음은 뉴렐릭이 지원하는 Grafana 위젯 유형과 그에 상응하는 뉴렐릭 위젯 유형의 목록입니다.