在工作簿的多个查询之间共享基本的 Kusto 查询
Share basic Kusto query between multiple queries of a workbook
在我的日常工作中,我使用 Azure Log Analytics along with the Azure Monitor Workbooks。在大多数这些场景中,我使用了某种参数,用户可以使用这些参数来向下钻取/限制所提供查询的范围。
这需要我为查询提供这些过滤器,例如
MyCustomLog
| where TimeGenerated ({TimeFrame:value})
| where Server in ({Server:value})
...
烦人的是,我找不到在多个查询中重用此样板模式的方法,即每次添加过滤器或更改语义时,我都必须遍历所有查询并更新它们, 这真的很乏味而且容易出错,尤其是在更大的工作簿中。
我成像的是我在普通日志记录中也能做的——使用 let
并从那里重用它。像...
let BasicUniverse = MyCustomLog
| where TimeGenerated ({TimeFrame:value})
| where Server in ({Server:value});
...接近参数定义然后在每次查询中重用...
BasicUniverse
| // Do some processing based on that
... 这太棒了,因为我只需要更改一次基本的 Universe 查询。
这是可能的还是有一个聪明的解决方法?
提前致谢。
您可以查看创建 Log Analytics workspace function 并将相关参数传递给它。
在我的日常工作中,我使用 Azure Log Analytics along with the Azure Monitor Workbooks。在大多数这些场景中,我使用了某种参数,用户可以使用这些参数来向下钻取/限制所提供查询的范围。
这需要我为查询提供这些过滤器,例如
MyCustomLog
| where TimeGenerated ({TimeFrame:value})
| where Server in ({Server:value})
...
烦人的是,我找不到在多个查询中重用此样板模式的方法,即每次添加过滤器或更改语义时,我都必须遍历所有查询并更新它们, 这真的很乏味而且容易出错,尤其是在更大的工作簿中。
我成像的是我在普通日志记录中也能做的——使用 let
并从那里重用它。像...
let BasicUniverse = MyCustomLog
| where TimeGenerated ({TimeFrame:value})
| where Server in ({Server:value});
...接近参数定义然后在每次查询中重用...
BasicUniverse
| // Do some processing based on that
... 这太棒了,因为我只需要更改一次基本的 Universe 查询。 这是可能的还是有一个聪明的解决方法?
提前致谢。
您可以查看创建 Log Analytics workspace function 并将相关参数传递给它。