gpt4 book ai didi

azure - POST JSON 将事件记录到 Application Insights 中

转载 作者:行者123 更新时间:2023-12-01 22:04:59 26 4
gpt4 key购买 nike

我需要编写一个 PowerShell 脚本 shell 来将条目记录到 App Insights 中。我找到了这个post这很有用,但我很难向除了那里使用的领域之外的不同领域写作。例如,我正在尝试填充消息字段。我不知道 JSON 中的字段名称,也不知道它应该去哪里。正如你在这个例子中看到的,我尝试将它放置在任何地方,但仍然不起作用。我尝试搜索他们的 REST API 文档,但仍然找不到 JSON 的规范。有人可以帮忙吗?

[{
"name": "Microsoft.ApplicationInsights.Event",
"time": "2018-09-20T16:57:16.1771869Z",
"iKey": "1234",
"message": "This is a message",
"tags": {
"ai.operation.name": "Name",
"ai.user.id": "userId",
"ai.cloud.roleInstance": "Machine 1"
},
"data": {
"baseType": "EventData",
"message": "message1",
"baseData": {
"name": "Event from my service",
"message": "message2",
"properties": {
"x": "value x",
"y": "value y",
"z": "value z"
}
}
}
}]

最佳答案

我们最近一直在尝试实现同样的目标,但在网络上也没有找到好的说明,因此在此发布我们的发现。

1。 API端点

1.1 身份验证

您将需要仪器密​​钥 - 请参阅 How to get Azure Instrumentation Key了解详情。该 key 必须存储在消息负载的“iKey”属性中。

1.2 请求

总的来说,似乎有 4 种不同的消息类型(由“baseType”属性定义)可以设置。所有这些都需要通过 POST 发送到同一端点

POST https://dc.services.visualstudio.com/v2/track

[ { MESSAGE1 }, { MESSAGE2 }, ... ]

每条消息的格式取决于其类型。不需要身份验证 header - 消息的“iKey”字段用作身份验证 key 。

1.3 响应

如果成功则发送以下响应

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
"itemsReceived" : 1,
"itemsAccepted" : 1,
"errors":[]
}

其中“itemsAccepted”属性将指示 Application Insights 接受的记录数。

2。消息格式

数组中的每条消息都必须遵循以下 4 种可能的 JSON 格式之一。

2.1 “EventData”(“CUSTOM EVENT”)消息格式

此事件在 Application Insights 中显示为“自定义事件”。必须使用以下有效负载:

{
"name": "Microsoft.ApplicationInsights.Event",
"time": "2015-05-21T16:43:14.4670675-06:00",
"iKey": "[MyInstrumentationKey]",
"tags": {
},
"data": {
"baseType": "EventData",
"baseData": {
"ver": 2,
"name": "SampleEvent",
"properties": {
"x": "value x",
"y": "value y",
"z": "value z"
}
}
}
}

2.2 “MessageData”(“TRACE”)消息格式

此事件在 Application Insights 中显示为“TRACE”。必须使用以下有效负载:

{
"name": "Microsoft.ApplicationInsights.Event",
"time": "2021-02-25T21:35:45.0000000Z",
"iKey": "[MyInstrumentationKey]",
"tags":{
},
"data": {
"baseType": "MessageData",
"baseData": {
"ver": 2,
"message": "Simple Trace Log Message",
"severityLevel": 2,
"properties": {
"x": "value x",
"y": "value y",
"z": "value z"
}
}
}
}

严重级别含义

level 0 = "Verbose"
level 1 = "Information"
level 2 = "Warning"
level 3 = "Error"
level 4 = "Critical"

2.3 “MetricData”消息格式

必须使用以下有效负载:

{
"name": "Microsoft.ApplicationInsights.Event",
"time": "2021-02-25T21:35:45.0000000Z",
"iKey": "[MyInstrumentationKey]",
"tags": {
},
"data": {
"baseType": "MetricData",
"baseData": {
"ver": 2,
"metrics": [
{
"name": "BasicMetric",
"kind": "Measurement",
"value": 42
}
],
"properties": {
"x": "value x",
"y": "value y",
"z": "value z"
}
}
}
}

2.4 “ExceptionData”消息格式

必须使用以下有效负载:

{
"name": "Microsoft.ApplicationInsights.Event",
"time": "2021-02-25T21:35:45.0000000Z",
"iKey": "[MyInstrumentationKey]",
"tags": {
},
"data": {
"baseType": "ExceptionData",
"baseData": {
"ver": 2,
"handledAt": "UserCode",
"properties": {
"x": "value x",
"y": "value y",
"z": "value z"
},
"exceptions": [
{
"id": 26756241,
"typeName": "System.Exception",
"message": "Something bad has happened!",
"hasFullStack": true,
"parsedStack": [
{
"level": 0,
"method": "Console.Program.Main",
"assembly": "Console, Version=1.0",
"fileName": "/ApplicationInsights/Test.cs",
"line": 42
}
]
}
]
}
}
}

关于azure - POST JSON 将事件记录到 Application Insights 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52432103/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com