0

如何从 Kusto 表结果中提取一组键值。我有一个包含日志详细信息(带时间戳的 15 行)的数据字段(Kusto 表中的列)。在这 15 行中,最后 3 行有一个键值对,我需要在查询中使用它来过滤和显示结果。

我使用下面的方法你能举一些例子吗

使用共享相同格式或模式的字符串提取列上的值 -

列中的示例值是(数据部分的最后 3 行)

2021-09-05T06:42:19.2287304Z VMtype - C4
2021-09-05T06:42:19.2287304Z patchsizeMB - 2533```

I am trying with the below Query is this the right way of doing

```| parse Data with * "Virtual machine =" Virtual machine 
| parse Data with * "VMtype=" VMtype
| parse Data with * "patchsizeMB=" patchsizeMB```
4

1 回答 1

3

您实现它的方式很好,最容易理解和维护。

这是一个完整的示例,其中每个时间戳的结果在一行中返回:

datatable(Data:string)["2021-09-05T06:42:19.2287304Z VMtype - C4",
                       "2021-09-05T06:42:19.2287304Z patchsizeMB - 2533",
                       "2021-09-05T06:42:19.2287304Z Virtual machine - VM_Name"]
| parse Data with Timestemp:datetime " " *
| parse Data with * "Virtual machine -" VirtualMachine 
| parse Data with * "VMtype -" VMtype
| parse Data with * "patchsizeMB -" patchsizeMB
| summarize take_any(VirtualMachine), take_any(VMtype), take_any(patchsizeMB) by bin(Timestemp, 1d)

结果:

时间温度 虚拟机 虚拟机类型 补丁大小MB
2021-09-05 虚拟机名称 C4 2533

您还可以通过将字符串拆分为一个数组并处理该数组以填充适用值来实现它,但它的代码要多得多,而且可能更脆弱。

于 2021-09-22T14:11:41.507 回答