记录Analtyics - 如何使用"倒置逗号"在搜索查询中

时间:2018-01-31 10:14:47

标签: azure-log-analytics azure-oms

我正在尝试为公共IP分配给NIC时创建搜索查询,然后创建一个警报。我可以找到识别作业的部分,但我需要使用"引号和#34;在我的搜索中,但我不能......

我的查询:

AzureActivity
| where OperationName == "Microsoft.Network/networkInterfaces/write" and ActivityStatus == "Started"
| where Properties contains "<>"

在#34;包含&#34;中,我需要使用从属性JSON中提取的以下JSON(我发现在没有属性包含的情况下进行搜索):

\"provisioningState\":\"Succeeded"\

然而,我知道我不能使用&#34;引号“#34;在已经倒置的逗号区域内。有没有办法允许我把它放在里面,也许有某种取消或包围?

3 个答案:

答案 0 :(得分:0)

您可以使用@进行转义 - 请参阅此处: https://docs.loganalytics.io/docs/Language-Reference/Data-types/string

或者,可能更好的是,您可以使用extractjson(或parsejson)函数 https://docs.loganalytics.io/docs/Language-Reference/Scalar-functions/extractjson()

答案 1 :(得分:0)

由于@Oleg Ananiev提交的链接,我找到了我的解决方案。

AzureActivity
| sort by TimeGenerated desc nulls last
| where OperationName == "Microsoft.Network/networkInterfaces/write" and ActivityStatus == "Started"
| where Properties contains '\\"provisioningState\\":\\"Succeeded\\"' 

答案 2 :(得分:0)

使用parse_json读取JSON格式的嵌套属性的更好方法。例如,如果您想读取ProvisioningState属性的值,只需执行以下查询

| where parse_json(Properties).provisioningState  == 'Succeeded'

请告诉我是否有帮助!