자습서: 프로그래밍 방식으로 Grafana API 호출

이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.

  • 애플리케이션의 서비스 주체에 Azure Managed Grafana 역할 할당
  • 애플리케이션 세부 정보 검색
  • 액세스 토큰 가져오기
  • 프로그래밍 방식으로 Grafana API 호출

필수 조건

Azure에 로그인

Azure 계정을 사용하여 https://portal.azure.com/에서 Azure Portal에 로그인합니다.

애플리케이션의 서비스 주체에 Azure Managed Grafana 역할 할당

  1. Azure Portal에서 Managed Grafana 인스턴스를 엽니다.

  2. 탐색 메뉴에서 IAM(액세스 제어)를 선택합니다.

  3. 추가를 선택한 다음 역할 할당 추가를 선택합니다.

  4. Grafana 편집기 역할을 선택한 후, 다음을 선택합니다.

  5. 다음에 대한 액세스 할당에서 사용자, 그룹 또는 서비스 주체를 선택합니다.

  6. 구성원 선택을 선택하고 서비스 주체를 선택하고, 선택을 누릅니다.

  7. 검토 + 할당을 선택합니다.

    Azure 플랫폼에서 역할 할당 추가의 스크린샷.

애플리케이션 세부 정보 검색

이제 Grafana API 액세스 토큰을 가져오고 Grafana API를 호출하는 데 사용할 몇 가지 정보를 수집해야 합니다.

  1. 테넌트 ID 찾기:

    1. Azure Portal의 검색 리소스, 서비스 및 문서(G+ /)Microsoft Entra ID를 입력합니다.
    2. Microsoft Entra ID를 선택합니다.
    3. 왼쪽 메뉴에서 속성을 선택합니다.
    4. 필드 테넌트 ID를 찾아 해당 값을 저장합니다.

    테넌트 ID를 가져오는 Azure Portal의 스크린샷.

  2. 클라이언트 ID를 찾습니다.

    1. Azure Portal의 Microsoft Entra ID에서 왼쪽 메뉴에서 앱 등록을 선택합니다.
    2. 앱을 선택합니다.
    3. 개요에서 애플리케이션(클라이언트) ID 필드를 찾아 해당 값을 저장합니다.

    클라이언트 ID를 가져오는 Azure Portal의 스크린샷.

  3. 애플리케이션 비밀을 만듭니다.

    1. Azure Portal의 Microsoft Entra ID에서 왼쪽 메뉴에서 앱 등록을 선택합니다.
    2. 앱을 선택합니다.
    3. 왼쪽 메뉴에서 인증서 및 비밀을 선택합니다.
    4. 새 클라이언트 비밀을 선택합니다.
    5. 새 클라이언트 암호를 만들고 해당 값을 저장합니다.

    비밀을 만드는 Azure Portal의 스크린샷.

    참고 항목

    비밀 값을 만든 직후에만 액세스할 수 있습니다. 페이지를 나가기 전에 값을 복사하여 이 자습서의 다음 단계에서 사용합니다.

  4. Grafana 엔드포인트 URL을 찾습니다.

    1. Azure Portal에서 리소스, 서비스 및 문서 검색(G+ /) 표시줄에 Azure Managed Grafana를 입력합니다.
    2. Azure Managed Grafana를 선택하고 Managed Grafana 작업 영역을 엽니다.
    3. 왼쪽 메뉴에서 개요를 선택하고 엔드포인트 값을 저장합니다.

    Azure 플랫폼의 스크린샷. 개요 페이지에 엔드포인트가 표시됩니다.

액세스 토큰 가져오기

Grafana API에 액세스하려면 액세스 토큰을 가져와야 합니다. Azure CLI를 사용하거나 POST 요청을 사용하여 액세스 토큰을 가져올 수 있습니다.

az login 명령을 실행하여 Azure CLI에 로그인하고 <client-id>, <client-secret>, 및 <tenant-id>을(를) 이전 단계에서 수집된 애플리케이션(클라이언트) ID, 클라이언트 암호 및 테넌트 ID로 바꿉니다.

az login --service-principal --username "<client-id>" --password "<client-secret>" --tenant "<tenant-id>"

az grafana api-key create 명령을 사용하여 키를 만듭니다. 다음은 출력 예제입니다.

az grafana api-key create --key keyname --name <name> --resource-group <rg> --role editor --output json

{
  "id": 3,
  "key": "<redacted>",
  "name": "keyname"
}

참고 항목

이 키는 여기에서 한 번만 볼 수 있습니다. 안전한 장소에 저장합니다.

프로그래밍 방식으로 Grafana API 호출

이제 이전 단계에서 검색된 액세스 토큰을 권한 부여 헤더로 사용하여 Grafana API를 호출할 수 있습니다. 예시:

curl -X GET \
-H 'Authorization: Bearer <access-token>' \
https://<grafana-url>/api/user

<access-token><grafana-url>을 이전 단계에서 검색된 액세스 토큰과 Grafana 인스턴스의 엔드포인트 URL로 바꿉니다. 예: https://my-grafana-abcd.cuse.grafana.azure.com.

리소스 정리

이러한 리소스를 더 이상 사용하지 않으려면 다음 단계에 따라 삭제합니다.

  1. Azure Managed Grafana를 삭제합니다.

    1. Azure Portal의 Azure Managed Grafana에 있는 왼쪽 메뉴에서 개요를 선택합니다.
    2. 삭제를 선택합니다.
    3. 삭제를 확인하려면 리소스 이름을 입력하고 삭제를 선택합니다.
  2. Microsoft Entra 애플리케이션을 삭제합니다.

    1. Azure Portal의 Microsoft Entra ID에서 왼쪽 메뉴에서 앱 등록을 선택합니다.
    2. 앱을 선택합니다.
    3. 개요 탭에서 삭제를 선택합니다.
    4. 삭제를 선택합니다.

다음 단계