教學課程:以程序設計方式呼叫 Grafana API
在本教學課程中,您會了解如何:
- 將 Azure Managed Grafana 角色指派給應用程式的服務主體
- 擷取應用程式詳細數據
- 取得存取權杖
- 呼叫 Grafana API
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
- Azure 受控 Grafana 工作區。 建立 Azure 受控 Grafana 實例。
- 具有服務主體的 Microsoft Entra 應用程式。 建立 Microsoft Entra 應用程式和服務主體。 為了簡單起見,請使用與 Azure 受控 Grafana 實例位於相同 Microsoft Entra 租使用者中的應用程式。
登入 Azure
請使用您的 Azure 帳戶登入 Azure 入口網站 (https://portal.azure.com/)。
將 Azure Managed Grafana 角色指派給應用程式的服務主體
在 Azure 入口網站 中,開啟您的Managed 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 Managed Grafana。
- 選取 [Azure 受控 Grafana ],然後開啟您的受控 Grafana 工作區。
- 從左側功能表中選取 [ 概觀 ],然後儲存 [端點 ] 值。
取得存取權杖
若要存取 Grafana API,您需要取得存取令牌。 您可以使用 Azure CLI 或提出 POST 要求來取得存取令牌。
執行 az login 命令來登入 Azure CLI,並以在上一個步驟中收集的應用程式 (client) 識別碼、用戶端密碼和租使用者識別碼取代 <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 Managed Grafana 中,從左側功能表中選取 [概觀]。
- 選取 [刪除]。
- 輸入資源名稱以確認刪除,然後選取 [ 刪除]。
刪除 Microsoft Entra 應用程式:
- 在 [Azure 入口網站] 的 [Microsoft Entra ID] 中,從左側功能表中選取 [應用程式註冊]。
- 選取您的應用程式。
- 在 [概觀] 索引標籤中,選取 [刪除]。
- 選取 [刪除]。