Azure Monitor 模板变量
您可以使用变量,而不是在指标查询中硬编码资源组或资源名称等详细信息。这有助于您创建更具交互性、动态性和可重用性的仪表盘。Grafana 将此类变量称为模板变量。
有关模板化和模板变量的介绍,请参阅模板化和添加和管理变量文档。
使用查询变量
您可以在变量编辑视图的查询类型字段中指定这些 Azure Monitor 数据源查询。
名称 | 描述 |
---|---|
订阅 | 返回订阅。 |
资源组 | 返回指定订阅的资源组。支持多值。 |
命名空间 | 返回指定订阅的指标命名空间。如果提供了资源组,则仅返回该组中的命名空间。 |
区域 | 返回指定订阅的区域 |
资源名称 | 返回指定订阅、资源组和命名空间的资源名称列表。支持多值。 |
指标名称 | 返回资源的指标名称列表。 |
工作区 | 返回指定订阅的工作区列表。 |
日志 | 使用 KQL 查询返回值。 |
自定义命名空间 | 返回指定资源的指标命名空间。 |
自定义指标名称 | 返回指定资源的自定义指标名称列表。 |
注意
自定义指标不能针对订阅或资源组发出。仅在需要检索与特定资源相关的自定义指标命名空间或自定义指标名称时才选择资源。
您可以使用任何 Log Analytics Kusto 查询语言 (KQL) 查询,该查询在 Query
字段中返回单个值列表。例如
查询 | 返回的值列表 |
---|---|
workspace("myWorkspace").Heartbeat | distinct Computer | 虚拟机 |
workspace("$workspace").Heartbeat | distinct Computer | 带模板变量的虚拟机 |
workspace("$workspace").Perf | distinct ObjectName | Perf 表中的对象 |
workspace("$workspace").Perf | where ObjectName == "$object" | distinct CounterName | Perf 表中的指标名称 |
查询变量示例
此时间序列查询使用查询变量
Perf
| where ObjectName == "$object" and CounterName == "$metric"
| where TimeGenerated >= $__timeFrom() and TimeGenerated <= $__timeTo()
| where $__contains(Computer, $computer)
| summarize avg(CounterValue) by bin(TimeGenerated, $__interval), Computer
| order by TimeGenerated asc
多值变量
可以为资源组和资源名称选择多个值,并使用指向这些值的单个指标查询,前提是它们
- 属于同一个订阅。
- 位于同一区域。
- 具有相同的类型(命名空间)。
另外,请注意,如果指向多个资源组或名称的模板变量在另一个模板变量中用作参数(例如,用于检索指标名称),则只使用第一个值。这意味着选择的第一个资源组和名称的组合应该是有效的。