如何使用参数在 Azure Monitor Notebook 中选择日志分析工作区?

Posted

技术标签:

【中文标题】如何使用参数在 Azure Monitor Notebook 中选择日志分析工作区?【英文标题】:How to select a log analytics workspace in azure monitor notebook using a parameter? 【发布时间】:2021-10-08 06:33:27 【问题描述】:

我想让用户选择日志分析工作区作为 Azure Monitor 笔记本中的参数来执行查询,类似于 parameter documentation 中的说明。但是,我无法使用变量解析日志分析工作区。

我想做的是这样的:

let event_table = workspace(parameter).Event;
event_table
| take 5

以下使用字符串文字的查询在 azure monitor notebook 和日志查询中均成功:

let event_table = workspace("name_of_work_space").Event;
event_table
| take 5

以下操作在 azure 监视器笔记本和日志查询中均失败并出现错误 "Unknown function 'workspace'.

let logAnalyticsWorkspaceName = "name_of_work_space";
let event_table = workspace(logAnalyticsWorkspaceName).Event;
event_table
| take 5

似乎只允许字符串文字作为 workspace() 函数的参数。

此外,iff()case() 函数仅返回标量,因此我不能使用 iff()case() 根据 Azure Notebook 参数有条件地返回表或工作区。

如何向 Azure Monitor Notebook 提供参数以查询特定的日志分析工作区?

【问题讨论】:

可以像你一样使用参数语法,你只需要引号 workspace("parameter").Event 。但最好使用资源参数并将整个查询定位在工作区,而不是在查询文本中调整工作区,如果可以避免的话 【参考方案1】:

使用参数来动态设置工作区。为参数类型为资源选取器(来自 Azure Resource Graph)的工作区创建一个参数。然后,该参数将作为下游控件的 Log Analytics 下拉列表中的一个选项出现。 5:00 视频“How to build tabs and alerts in Azure workbooks | Azure Portal”中出现演示。

【讨论】:

以上是关于如何使用参数在 Azure Monitor Notebook 中选择日志分析工作区?的主要内容,如果未能解决你的问题,请参考以下文章

使用Azure Monitor从Azure VM收集数据

Azure Monitor Alerting

使用Azure Monitor监控服务运行状态

我们需要 Azure Monitor 中的 Prometheus Metrics 吗?

使用 Azure Monitor Metrics 获取平均每日计算分钟数

使用Azure Monitor监控服务器内存使用率