你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

通过 VM 见解工作簿创建交互式报表

工作簿可将文本、日志查询、指标和参数合并到丰富的交互式报告中。 有权访问相同 Azure 资源的其他团队成员都可编辑工作簿。

工作簿可帮助你:

  • 在未提前了解相关指标(例如 CPU 利用率、磁盘空间、内存和网络依赖项)的情况下探索虚拟机 (VM) 的使用情况。 与其他使用情况分析工具不同,工作簿可以结合多个类型的可视化效果和分析,非常适合这种自由探索。
  • 通过显示关键计数器的指标和其他日志事件,向团队解释最近预配的 VM 的性能如何。
  • 与团队的其他成员分享调整 VM 大小的试验结果。 你可以用文本解释试验的目标, 然后显示用于评估试验的每个使用情况指标和分析查询,并提供清晰的标注,说明每个指标是高于还是低于目标。
  • 报告中断对 VM 使用的影响。 可以合并数据、文本说明和后续步骤的讨论,以防止将来出现中断。

VM 见解工作簿

VM 见解包括以下工作簿。 你可以使用这些工作簿,也可以由此开始创建自定义工作簿,以满足自己的特定要求。

单个虚拟机

工作簿 说明
性能 提供可自定义的性能视图,并在视图中使用所有已启用的 Log Analytics 性能计数器。
连接 提供关于 VM 的入站和出站连接的深入视图。

多台虚拟机

工作簿 说明
性能 在单个工作簿中提供可自定义的“前 N 项列表和图表”视图,并在视图中使用所有已启用的 Log Analytics 性能计数器。
性能计数器 提供基于众多性能计数器集的“前 N 项图表”视图。
连接 提供关于受监视 VM 的入站和出站连接的深入视图。
活动端口 提供已绑定到受监视 VM 上的端口的进程列表,及其在所选时间范围内的活动。
打开端口 提供受监视 VM 上已打开的端口数,以及有关这些已打开端口的详细信息。
失败的连接数 显示受监视 VM 上的失败连接计数、失败趋势,以及失败百分比是否不断增大。
安全和审核 TCP/IP 流量的分析,其中报告了连接总数、恶意连接数,以及 IP 终结点的全球位置。 若要启用所有功能,必须启用“安全性检测”。
TCP 流量 受监视 VM 的排名报告,在网格中以趋势线的形式显示它们已发送、接收的网络流量和总量。
流量比较 可让你比较一台计算机或一组计算机的网络流量趋势。

创建新的工作簿

工作簿由可单独编辑的图表、表格、文本和输入控件构成的各部分组成。 为了更好地了解工作簿,让我们打开一个模板并创建一个自定义工作簿。

  1. 在 Azure 门户中转到“监视”菜单。

  2. 选择 VM。

  3. 在“VM 见解”页面上,选择“”或“映射”选项卡,然后通过页面上的链接选择“查看工作簿”。 从下拉列表中,选择“转到库”。

    显示 VM 见解中的工作簿下拉列表的屏幕截图。

    此时将打开包含预生成工作簿的工作簿库,以帮助你入门。

  4. 通过选择“新建”创建新的工作簿。

    显示 VM 见解中的工作簿库的屏幕截图。

编辑工作簿的各个部分

工作簿具有两种模式:编辑和阅读。 新工作簿将在编辑模式下打开。 此模式将显示工作簿的所有内容,其中包括以任何方式隐藏的任何步骤和参数。 阅读模式提供了简化的报表样式视图。 在阅读模式下,可以免去创建报告时所遇到的复杂性,同时仍保留相应的基础机制,即只需几次单击即可进行修改。

显示 Azure Monitor 中虚拟机工作簿部分的屏幕截图,其中显示了一个处于编辑模式的新工作簿,并突出显示了编辑控件。

  1. 编辑完某个部分后,请选择该部分左下角的“完成编辑”。

  2. 若要创建某个部分的副本,请选择“克隆此部分”图标。 创建副本是迭代查询的绝佳方式,不会丢失以前的迭代。

  3. 若要在工作簿中上移某个部分,请选择“上移”或“下移”图标。

  4. 若要永久删除某个部分,请选择“删除”图标。

添加文本和 Markdown 部分

为工作簿添加标题、说明和注释有助于叙述一组表和图表。 工作簿中的文本部分支持用于设置文本格式的 Markdown 语法,如标题、粗体、斜体和点符列表。

若要将文本部分添加到工作簿,请选择工作簿或该部分左下角的“添加文本”。

添加查询部分

显示工作簿中“查询”部分的屏幕截图。

若要将查询部分添加到工作簿,请选择工作簿或该部分左下角的“添加查询”。

查询部分非常灵活,可用于回答以下问题:

  • 在网络流量增大的同一时间段内,CPU 利用率如何?
  • 过去一个月的可用磁盘空间趋势如何?
  • 我的 VM 在过去两周发生了多少次网络连接失败?

此外,也不局限于从打开工作簿的 VM 的上下文中进行查询。 若要跨多个 VM 和 Log Analytics 工作区进行查询,必须具有对这些资源的访问权限。

若要包含其他 Log Analytics 工作区或特定 Application Insights 应用中的数据,请使用工作区标识符。 若要详细了解跨资源查询,请参阅官方指南

高级分析查询设置

每个部分都有自己的高级设置,可通过位于“添加参数”右侧的设置“工作簿部分编辑控件”图标进行访问。

显示“高级设置”对话框的屏幕截图,其中 Azure Monitor 的虚拟机工作簿部分突出显示了图标。

设置 说明
自定义宽度 将某项设置为任意大小,以便可将许多项容纳在单行中,从而将图表和表格整理到丰富的交互式报表中。
有条件可见 指定在阅读模式下根据参数隐藏步骤。
导出参数 允许网格或图表中的所选行能够导致后续步骤更改值或变得可见。
未进行编辑时显示查询 即使在阅读模式下,也会显示图表或表格前面的查询。
未进行编辑时显示“在分析中打开”按钮 将“分析”图标添加到图表的右角,以允许一键式访问。

大多数这些设置都相当直观,但若要了解如何导出参数,最好查看使用此功能的工作簿。

预生成的工作簿之一:“TCP 流量”,提供有关 VM 发出的连接指标的信息。

工作簿的第一部分基于日志查询数据。 第二部分也基于日志查询数据,但在第一个表中选择某一行将交互更新图表的内容。

显示 Azure Monitor 中“虚拟机”部分的屏幕截图,其中显示了预生成的工作簿“TCP 流量”。

可以通过使用在表格的日志查询中启用的高级设置“选择项目后,导出参数”实现该行为

显示虚拟机工作簿的“高级设置”对话框的屏幕截图,其中选中了“选中项目时导出参数”选项。

然后,在选择某个行来创建一组将由部分标题和图表使用值时,第二个日志查询将利用导出的值。 如果未选择任何行,则会隐藏部分标题和图表。

例如,第二个部分中已隐藏的参数将从网格中选定行使用以下引用:

VMConnection
| where TimeGenerated {TimeRange}
| where Computer in ("{ComputerName}") or '*' in ("{ComputerName}") 
| summarize Sent = sum(BytesSent), Received = sum(BytesReceived) by bin(TimeGenerated, {TimeRange:grain})

添加指标部分

指标部分提供完全访问权限,以将 Azure Monitor 指标数据纳入交互式报表。 在 VM 见解中,预生成的工作簿通常包含分析查询数据,而不包含指标数据。 可以创建包含指标数据的工作簿,它可让你在一个位置充分利用这两项功能。 此外,还能够从你有权访问的任何订阅中的资源提取指标数据。

下面是将 VM 数据拉取到工作簿中以提供 CPU 性能的网格可视化效果的示例。

显示 Azure Monitor 中虚拟机工作簿的指标部分的屏幕截图。每个虚拟机的 CPU 性能以图形方式显示。

添加参数部分

工作簿参数使你能够更改工作簿中的值,而无需手动编辑查询或文本部分。 这免除了对了解基础分析查询语言的需求,并极大地扩大了基于工作簿的报表的潜在受众范围。

通过将参数名称放在大括号中(如 {parameterName}),在查询、文本或其他参数部分中替换参数值。 参数名称限于类似 JavaScript 标识符的规则,包含字母字符或下划线,后接字母数字字符或下划线。 例如,允许使用 a1,但不允许使用 1a

参数是线性的,从工作簿的顶部开始并向下转到后续步骤。 工作簿中稍后声明的参数可以替代前面声明的参数。 使用查询的参数可以访问前面定义的参数值。 在参数步骤本身中,参数也是线性的,从左到右,右侧的参数可以依赖以前在该步骤中声明的参数。

目前支持四种不同类型的参数:

参数 说明
文本 允许用户编辑文本框。 可以选择提供一个查询用于填充默认值。
下拉列表 允许用户从一组值中进行选择。
时间范围选取器 允许用户从一组预定义的时间范围值中选择,或者从自定义时间范围内选择。
资源选取器 允许用户从为工作簿所选资源中选择。

使用文本参数

用户在文本框中输入的值将直接在查询中替换,不带任何转义或引号。 如果所需值为字符串,则查询应该在参数周围采用引号单引号。 例如 '{parameter}'

文本参数允许在任意位置使用文本框中的值。 它可以是表名、列名、函数名、或运算符。 文本参数类型包含“从分析查询获取默认值”设置,使工作簿作者能够使用查询填充该文本框的默认值

当使用日志查询中的默认值时,仅第一行的第一个值(行 0,列 0)用作默认值。 因此,建议将查询限制为仅返回一行和一列。 忽略由查询返回的其他任何数据。

查询返回的任何值都会被直接替换,不带任何转义或引号。 如果查询未返回行,则参数的结果为空字符串(如果参数不是必需的)或未定义(如果参数是必需的)。

使用下拉列表

下拉列表参数类型可让你创建一个下拉列表控件,用于选择一个或多个值。

下拉列表由日志查询或 JSON 填充。 如果查询返回一列,则该列中的值同时为下拉列表控件中的值和标签。 如果查询返回两列,则第一列为值,第二列为下拉列表中显示的标签。 如果查询返回三列,则第三列用于指示该下拉列表中的默认选择。 此列可以是任何类型,但最简单的是使用布尔值或数值类型,其中 0 表示 false,1 表示 true。

如果列为字符串类型,则 null/空字符串被视为 false。 任何其他值都被视为 true。 对于单项选择下拉列表,值为 true 的第一个值将用作默认选择。 对于多项选择下拉列表,值为 true 的所有值都将用作默认选择集。 下拉列表中的项以查询返回行的任何顺序显示。

让我们看看“连接概述”报告中提供的参数。 选择“方向”旁边的编辑符号。

显示 Azure Monitor 中用于添加和编辑报表参数的部分的屏幕截图。选中了“方向”参数所对应的“编辑”图标。

此操作将打开“编辑参数”窗格。

显示“编辑参数”窗格的屏幕截图。参数名称为“方向”,参数类型为“下拉列表”,已选择“从 JSON 获取数据”。

使用 JSON 可以生成填充了内容的任意表。 例如,以下 JSON 在下拉列表中生成两个值:

[
    { "value": "inbound", "label": "Inbound"},
    { "value": "outbound", "label": "Outbound"}
]

一个更适用的示例是使用下拉列表按名称从一组性能计数器中进行选择:

Perf
| summarize by CounterName, ObjectName
| order by ObjectName asc, CounterName asc
| project Counter = pack('counter', CounterName, 'object', ObjectName), CounterName, group = ObjectName

该查询显示以下结果:

显示“性能计数器”下拉列表的屏幕截图。

下拉列表是可用于自定义和创建交互式报表的强大工具。

时间范围参数

可以通过下拉列表参数类型创建自己的自定义时间范围参数。 如果不需要相同程度的灵活性,则也可以使用开箱即用的时间范围参数类型。

时间范围参数类型包含 15 个默认范围,从 5 分钟到 90 天不等。 还有一个选项允许自定义时间范围选择。 报表的操作员可以为时间范围选择明确的开始和结束值。

资源选取器

资源选取器参数类型使你能够将报表类型范围限定到特定资源类型。 “性能”工作簿就是使用资源选取器类型的一个预生成的工作簿示例。

显示工作区下拉列表的屏幕截图。

保存工作簿并与团队共享

工作簿保存在 Log Analytics 工作区或 VM 资源中,具体取决于如何访问工作簿库。 可将工作簿保存到你专用的“我的报告”部分,或者可供有权访问该资源的任何用户可访问的“共享报告”部分。 若要查看资源中的所有工作簿,请选择“打开”。

共享目前在“我的报表”中的工作簿:

  1. 选择“打开” 。
  2. 选择要共享的工作簿旁边的省略号 (...)。
  3. 选择“移到共享报表”。

若要通过链接或电子邮件共享工作簿,请选择“共享”。 请记住,链接的收件人需要在 Azure 门户中访问此资源才能查看该工作簿。 若要进行编辑,收件人至少需要资源的参与者权限。

若要将工作簿的链接固定到 Azure 仪表板,请执行以下操作:

  1. 选择“打开”。
  2. 选择要固定的工作簿旁边的省略号 (...)。
  3. 选择“固定到仪表板”。

后续步骤