Share via


使用 HTTP 資料收集器 API 將記錄資料傳送至 Log Analytics

Azure Log Analytics HTTP 資料收集器 API 可讓您從任何可呼叫 REST API 的用戶端將 JSON 資料 POST 至 Log Analytics 工作區。 透過使用此方法,您可以從協力廠商應用程式或腳本傳送資料,例如從 Azure 自動化 中的 Runbook

要求 URI

若要指定 Log Analytics 工作區,請將 {CustomerID} 取代為您工作區的識別碼。

方法 要求 URI
郵寄 HTTPs://{CustomerID}.ods.opinsights.azure.com/ < Resource > ?api-version=2016-04-01
要求 URI 參數
參數 描述
CustomerID Log Analytics 工作區的唯一識別碼
資源 API 資源名稱。 /api/logs
API 版本 要與此要求搭配使用的 API 版本。 目前 2016-04-01

要求標頭

下表列出必要的要求標頭。

標頭 描述
授權 請參閱下列有關建立 HMAC-SHA256 標頭的其他資訊
Content-Type 必要。 將此設定為 application/json
Log-Type 可讓您指定正在提交之訊息的名稱。 目前,記錄類型僅支援 Alpha 字元。 它不支援數值或特殊字元
x-ms-date 要求以 RFC 1123 格式處理的日期
time-generated-field 可讓您指定訊息的時間戳記欄位,以做為 TimeGenerated 欄位。 這可讓您設定 TimeGenerated,以反映來自訊息資料的實際時間戳。 如果未指定此欄位,則擷取訊息時,TimeGenerated 的預設值。 指定的訊息欄位應遵循 YYYY-MM-DDThh:mm:ssZ 的 ISO 8601

驗證標頭

對 Log Analytics HTTP 資料收集器 API 的任何要求都必須包含授權標頭。 若要驗證要求,您必須使用發出要求之工作區的主要或次要金鑰簽署要求,並在要求中傳遞該簽章。

授權標頭的格式如下所示:

Authorization: SharedKey <WorkspaceID>:<Signature>

WorkspaceID 是 Log Analytics 工作區的唯一識別碼, 而 Signature 是雜湊型訊息驗證碼 (HMAC) 使用 SHA256 演算法建構,然後使用 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

接下來,透過 UTF-8 編碼簽章字串使用 HMAC-SHA256 演算法來編碼此字串、建構授權標頭,並將標頭新增至要求。

對簽章進行編碼

若要對簽章進行編碼,請對 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。 對於使用性和搜尋體驗觀點而言,這是一個實際的限制。

另請參閱