教學課程:以程式設計方式呼叫 Grafana API
在本教學課程中,您會了解如何:
- 將 Azure 受控 Grafana 角色指派給應用程式的服務主體
- 擷取應用程式詳細資料
- 取得存取權杖
- 呼叫 Grafana API
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
- 一個 Azure 受控 Grafana 工作區。 建立 Azure 受控 Grafana 工作區。
- 具有服務主體的 Microsoft Entra 應用程式。 建立 Microsoft Entra 應用程式和服務主體。 為了簡單起見,請使用與 Azure 受控 Grafana 工作區位於相同Microsoft Entra 租使用者中的應用程式。
登入 Azure
請使用您的 Azure 帳戶登入 Azure 入口網站 (https://portal.azure.com/)。
將 Azure 受控 Grafana 角色指派給應用程式的服務主體
在 Azure 入口網站中,開啟 Azure 受控 Grafana 工作區。
在導覽功能表中選取 [存取控制 (IAM)]。
選取 [新增],然後選取 [新增角色指派]。
選取 [Grafana 編輯器] 角色,然後選取 [下一步]。
在 [存取權指派對象為] 下,選取 [使用者、群組或服務主體]。
選取 [選取成員],選取您的服務主體,然後按 [選取]。
選取檢閱+指派。
擷取應用程式詳細資料
您現在需要收集一些資訊,供您用來取得 Grafana API 存取權杖,並呼叫 Grafana API。
尋找您的租用戶識別碼:
- 在 Azure 入口網站中,於 [搜尋資源、服務和文件 (G+ /)] 中輸入 Microsoft Entra ID。
- 選取 [Microsoft Entra ID]。
- 從左側功能表選取 [屬性]。
- 找出 [租用戶識別碼] 欄位,並儲存其值。
複製您的用戶端識別碼:
- 在 Azure 入口網站的 Microsoft Entra ID 中,從左側功能表中選取 [應用程式註冊]。
- 選取您的應用程式。
- 在 [概觀] 中,尋找 [應用程式 (用戶端) 識別碼] 欄位,並儲存其值。
建立應用程式秘密:
- 在 Azure 入口網站的 Microsoft Entra ID 中,從左側功能表中選取 [應用程式註冊]。
- 選取您的應用程式。
- 從左側功能表中選取 [憑證和秘密]。
- 選取 [新用戶端密碼]。
- 建立新的用戶端密碼,並儲存其值。
注意
僅在建立秘密之後,您才能存取其值。 在離開頁面之前先複製值,以在本教學課程的下一個步驟中使用。
尋找 Grafana 端點 URL:
- 在 Azure 入口網站中,於 [搜尋資源、服務和文件 (G+ /)] 中輸入 Azure 受控 Grafana。
- 選取 [Azure 受控 Grafana] ,然後開啟您的 Azure 受控 Grafana 工作區。
- 從左側功能表中選取 [概觀],然後儲存 [端點] 值。
取得存取權杖
若要存取 Grafana API,您需要取得存取權杖。 您可以使用 Azure CLI 或提出 POST 要求來取得存取權杖。
執行 az login 命令來登入 Azure CLI,並以上一個步驟中收集到的應用程式 (用戶端) 識別碼、用戶端密碼和租用戶識別碼取代 <client-id>
、<client-secret>
和 <tenant-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
將 和 <grafana-url>
取代<access-token>
為上一個步驟中擷取的存取令牌,以及 Grafana 工作區的端點 URL。 例如 https://my-grafana-abcd.cuse.grafana.azure.com
。
清除資源
如果您不打算繼續使用這些資源,請使用下列步驟來刪除資源:
刪除 Azure 受控 Grafana:
- 在 Azure 入口網站的 [Azure 受控 Grafana] 中,從左側功能表中選取 [概觀]。
- 選取 [刪除]。
- 輸入資源名稱以確認刪除,然後選取 [刪除]。
刪除 Microsoft Entra 應用程式:
- 在 Azure 入口網站的 Microsoft Entra ID 中,從左側功能表中選取 [應用程式註冊]。
- 選取您的應用程式。
- 在 [概觀] 索引標籤中,選取 [刪除]。
- 選取 [刪除]。