练习 - 使用网络观察程序指标和日志排查网络问题
在 Azure 网络观察程序中,可使用指标和日志诊断复杂的配置问题。
假设你有两个无法通信的虚拟机 (VM)。 你希望获得尽可能多的信息来诊断问题。
在本单元中,使用网络观察程序指标和日志进行故障排除。 若要诊断两个 VM 之间的连接问题,则需使用网络安全组 (NSG) 流日志。
注册 Microsoft.Insights 提供程序
NSG 流日志记录要求使用 Microsoft.Insights 提供程序。 若要注册 Microsoft.Insights 提供程序,请完成以下步骤。
登录 Azure 门户,再登录到可访问你在其中创建资源的订阅的目录。
在 Azure 门户中,搜索并选择“订阅”,然后选择你的订阅。 此时将显示“订阅”窗格。
在“订阅”菜单中的“设置”下,选择“资源提供程序”。 此时,订阅的“资源提供程序”窗格显示。
在筛选栏中,输入 microsoft.insights。
如果 microsoft.insights 提供程序的状态为“未注册”,则在命令栏中选择“注册”。
创建存储帐户
现在,为 NSG 流日志创建一个存储帐户。
在 Azure 门户菜单上或在“主页”中,选择“创建资源”。
在资源菜单中,选择“存储”,然后搜索并选择“存储帐户”。 随即将显示“存储帐户”窗格。
选择创建。 此时会显示“创建存储帐户”窗格。
在“基本信息”选项卡上,为每个设置输入以下值。
设置 值 项目详细信息 订阅 选择订阅 资源组 选择你的资源组 实例详细信息 存储帐户名称 创建唯一名称 区域 选择与你的资源组相同的区域 选择“下一步: 高级”选项卡,并确保设置了以下值。
设置 “值” Blob 存储 访问层 热(默认) 选择“查看 + 创建”,然后在验证通过后选择“创建”。
创建 Log Analytics 工作区
若要查看 NSG 流日志,需要使用 Log Analytics。
在 Azure 门户菜单或主页中,搜索并选择“Log Analytics 工作区”。 此时会显示“Log Analytics 工作区”窗格。
在命令栏中,选择“创建”。 此时会显示“创建 Log Analytics 工作区”窗格。
在“基本信息”选项卡上,为每个设置输入以下值。
设置 值 项目详细信息 订阅 选择订阅 资源组 选择你的资源组 实例详细信息 名称 testsworkspace
区域 选择与你的资源组相同的区域 选择“审阅并创建”,然后在通过验证后选择“创建”。
启用流日志
要设置流日志,必须配置 NSG 使其与存储帐户连接,并为 NSG 添加流量分析。
在 Azure 门户菜单上,选择“所有资源”。 然后选择“MyNsg”网络安全组。
在“MyNsg”菜单中的“监视”下,选择“NSG 流日志”。 此时,“MyNsg | NSG 流日志”窗格显示。
选择创建。 此时会显示“创建流日志”窗格。
在“基本信息”选项卡上,选择或输入下列值。
设置 值 项目详细信息 订阅 从下拉列表中选择你的订阅。 + 选择资源 在“选择网络安全组”窗格中,搜索并依次选择“MyNsg”和“确认选择”。 实例详细信息 订阅 从下拉列表中选择你的订阅。 存储帐户 选择唯一的存储帐户名称。 保持期(天) 1 选择“下一步: 分析”,然后选择或输入以下值。
设置 值 流日志版本 第 2 版 流量分析 勾选“启用流量分析”。 流量分析处理间隔 每 10 分钟 订阅 从下拉列表中选择你的订阅。 Log Analytics 工作区 从下拉列表中选择 testworkspace
。选择“查看 + 创建”。
选择“创建”。
部署完成后,选择转到资源。
生成测试流量
现在,可在 VM 之间生成一些网络流量,以便在流日志中捕获这些流量。
在资源菜单上,选择“所有资源”,然后选择 FrontendVM。
在命令栏中,依次选择“连接”、“RDP”和“下载 RDP 文件”。 如果随即显示有关远程连接发布程序的警告,选择“连接”。
启动 FrontendVM.rdp 文件,然后选择“连接”。
当系统要求输入凭据时,选择“更多选项”,然后使用用户名 azureuser 和创建 VM 时指定的密码登录。
当系统要求提供安全证书时,选择“是”。
在 RDP 会话中,如果出现提示,则仅允许在专用网络上发现设备。
打开 PowerShell 提示符,然后运行以下命令。
Test-NetConnection 10.10.2.4 -port 80
几秒钟后,TCP 连接测试失败。
诊断问题
现在,使用日志分析来查看 NSG 流日志。
在 Azure 门户资源菜单中,依次选择“所有服务”、“网络”和“网络观察程序”。 此时,“网络观察程序”窗格显示。
在资源菜单中的“日志”下,选择“流量分析”。 此时,“网络观察程序 | 流量分析”窗格显示。
在“FlowLog 订阅”下拉列表中,选择你的订阅。
在“Log Analytics 工作区”下拉列表中,选择
testworkspace
。使用不同的视图诊断阻止从前端 VM 到后端 VM 的通信的问题。
解决问题
有一条 NSG 规则阻止从任何位置通过端口 80、443 和 3389 流向后端子网的入站流量,而不只是阻止来自 Internet 的入站流量。 现在重新配置该规则。
在 Azure 门户资源菜单上,选择“所有资源”,然后选择列表中的“MyNsg”。
在“MyNsg”菜单中的“设置”下,选择“入站安全规则”,然后选择“MyNSGRule”。 此时,“MyNSGRule”窗格显示。
在“源”下拉列表中,选择“服务标记”,然后在“源服务标记”下拉列表中,选择“Internet”。
在 MyNSGRule 命令栏中,选择“保存”以更新安全规则。
重新测试连接
端口 80 上的连接现在应可正常工作。
在 RDP 客户端中,连接到“FrontendVM”。 在 PowerShell 提示符处,运行以下命令。
Test-NetConnection 10.10.2.4 -port 80
连接测试现在应会成功。