你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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 参数 |
---|---|
参数 | DESCRIPTION |
客户ID | Log Analytics 工作区的唯一标识符 |
资源 | API 资源名称。 /api/日志 |
API 版本 | 要用于此请求的 API 版本。 当前位置 2016-04-01 |
请求标头
下表中的请求标头是必需的。
标题 | DESCRIPTION |
---|---|
授权 | 请参阅下面有关创建 HMAC-SHA256 标题的其他信息 |
内容类型(Content-Type) | 必填。 将此设置为 application/json |
日志类型 | 允许您指定要提交的邮件的名称。 目前,日志类型仅支持字母字符。 它不支持数字或特殊字符 |
x-ms-日期 | 以 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 个。 从可用性和搜索体验的角度来看,这是一个实际限制。