Azure Log Analytics HTTP 資料收集器 API 允許將 JSON 數據從任何可以調用 REST API 的用戶端發佈到 Log Analytics 工作區。 通過使用此方法,可以從第三方應用程式或腳本(如 Azure 自動化中的 Runbook)發送數據
請求網址識別碼 (URI)
若要指定 Log Analytics 工作區,請將 {CustomerID} 替換為工作區的 ID。
| 方法 | 請求網址識別碼 (URI) |
|---|---|
| 貼文 | https://{CustomerID}.ods.opinsights.azure.com/< Resource>?api-version=2016-04-01 |
| 請求 | URI 參數 |
|---|---|
| 參數 | 說明 |
| 客戶編號 | Log Analytics 工作區的唯一標識碼 |
| 資源 | API 資源名稱。 /api/日誌 |
| API 版本 | 要用於此請求的 API 版本。 當前位置 2016-04-01 |
請求標頭
下表中的請求標頭是必需的。
| 頁首 | 說明 |
|---|---|
| 授權 | 請參閱下面有關創建 HMAC-SHA256 標題的其他資訊 |
| 內容-類型 | 必須的。 將此設置為 application/json |
| 日誌類型 | 允許您指定要提交的郵件的名稱。 目前,日誌類型僅支援字母字元。 它不支援數位或特殊字元 |
| x-ms-date | 以 RFC 1123 格式處理請求的日期 |
| 時間生成字段 | 允許您指定消息的時間戳欄位以用作 TimeGenerated 字段。 這允許您配置 TimeGenerated 以反映消息數據中的實際時間戳。 如果未指定此欄位,則引入消息時 TimeGenerated 的預設值。 指定的消息欄位應遵循YYYY-MM-DDThh:mm:ssZ的 ISO 8601 |
授權標頭
對 Log Analytics HTTP 資料收集器 API 的任何請求都必須包含 Authorization 標頭。 若要對請求進行身份驗證,必須使用發出請求的工作區的主密鑰或輔助密鑰對請求進行簽名,並將該簽名作為請求的一部分傳遞。
Authorization 標頭的格式如下:
Authorization: SharedKey <WorkspaceID>:<Signature>
WorkspaceID 是 Log Analytics 工作區的唯一標識符, 簽名 是基於哈希的消息身份驗證代碼 (HMAC),根據請求構造並使用 SHA256 演算法計算,然後使用 Base64 編碼進行編碼。
構造簽名字符串
若要對共享金鑰簽名字串進行編碼,請使用以下格式:
StringToSign = VERB + "\n" +
Content-Length + "\n" +
Content-Type + "\n" +
x-ms-date + "\n" +
"/api/logs";
以下範例顯示了一個簽名字串:
POST \n1024\napplication/json\nx-ms-date:Mon, 04 Apr 2016 08:00:00 GMT\n/api/logs
接下來,使用 HMAC-SHA256 演算法對 UTF-8 編碼的簽名字符串進行編碼,構造 Authorization 標頭,並將標頭添加到請求中。
對簽名進行編碼
若要對簽名進行編碼,請對 UTF-8 編碼的簽名字符串調用 HMAC-SHA256 演算法,並將結果編碼為Base64。 使用以下格式(顯示為偽代碼):
Signature=Base64(HMAC-SHA256(UTF8(StringToSign)))
請求主體
提交到終結點的消息正文。
{
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4"
}
您可以將相同類型的多條消息批處理到單個請求正文中。
[
{
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4"
},
{
"key1": "value5",
"key2": "value6",
"key3": "value7",
"key4": "value8"
}
]
資料限制
發佈到 Log Analytics 數據收集 API 的數據存在一些約束。
- 每個帖子到Log Analytics資料收集器 API 最多 30 MB。 這是單一貼文的大小限制。 如果單個帖子的數據超過 30 MB,則應將數據拆分為較小的塊並同時發送。
- 欄位值的大小上限為 32 KB。 如果欄位值大於 32 KB,資料將會被截斷。
- 指定類型欄位的建議數目上限為 50。 對於使用性和搜尋體驗觀點而言,這是一個實際的限制。