实时查看 Kubernetes 日志、事件和 Pod 指标

借助容器见解中的实时数据功能,可以直接访问 Azure Kubernetes 服务 (AKS) 容器日志 (stdout/stderror)、事件和 Pod 指标。 它公开对 kubectl logs -ckubectl get 事件和 kubectl top pods 的直接访问。 控制台窗格显示由容器引擎生成的日志、事件和指标,可以帮助实时排查问题。

注意

AKS 使用 Kubernetes 群集级日志记录体系结构。 容器日志位于节点上的 /var/log/containers 内。 若要访问节点,请参阅连接到 Azure Kubernetes 服务 (AKS) 群集节点

本文将概述此功能,并帮助你了解其用法。

在设置实时数据功能或对其进行故障排除时如需帮助,请参阅设置指南。 此功能直接访问 Kubernetes API。 有关身份验证模型的详细信息,请参阅 Kubernetes API

查看 AKS 资源实时日志

注意

必须位于同一专用网络上的计算机上,才能从专用群集访问实时日志。

若要在使用或不使用容器见解的情况下从 AKS 资源视图查看 Pod、部署、副本集、StatefulSet、守护程序集、作业的实时日志,请执行以下操作:

  1. 在 Azure 门户中,浏览到 AKS 群集资源组,然后选择 AKS 资源。

  2. 在菜单的“Kubernetes 资源”部分中选择“工作负荷”。

  3. 从相应的选项卡中选择 Pod、部署、副本集、StatefulSet、守护程序集或作业。

  4. 从资源的菜单中选择“实时日志”。

  5. 选择一个 Pod 以开始收集实时数据。

    Screenshot that shows the deployment of live logs.

查看日志

可以在“节点”、“控制器”或“容器”视图中查看容器引擎生成的实时日志数据。 若要查看日志数据,请执行以下操作:

  1. 在 Azure 门户中,浏览到 AKS 群集资源组,然后选择 AKS 资源。

  2. 在 AKS 群集仪表板上,在左侧的“监视”下,选择“见解”。

  3. 选择“节点”、“控制器”或“容器”选项卡。

  4. 在性能网格中选择一个对象。 在右侧的“属性”窗格中,选择“实时日志”。如果使用 Microsoft Entra ID 为 AKS 群集配置了单一登录,系统会在该浏览器会话期间向你提示进行首次使用所需的身份验证。 选择帐户,然后使用 Azure 完成身份验证。

    注意

    若要在 Log Analytics 工作区中查看数据,请在“属性”窗格中选择“在 Log analytics 中查看”。 日志搜索结果可能会显示“节点”、“守护程序集”、“副本集”、“StatefulSet”、“作业”、“Cron 作业”、“Pod”和“容器”。 这些日志可能不再存在。 StatefulSet 的日志搜索结果显示 StatefulSet 中 Pod 的数据。 尝试搜索在 kubectl 中不可用的容器的日志也会失败。 若要详细了解如何查看历史日志、事件和指标,请参阅如何从容器见解中查询日志

身份验证成功后,如果数据可以检索,它将开始流式传输到“实时日志”选项卡。可以在连续流中在此处查看日志数据。

Screenshot that shows the Node properties pane view data option.

查看事件

选择容器、Pod、节点、副本集、StatefulSet、守护程序集、作业、Cron 作业或部署后,可以在“节点”、“控制器”、“容器”或“部署”视图中查看由容器引擎生成的实时事件数据。 若要查看事件,请执行以下操作:

  1. 在 Azure 门户中,浏览到 AKS 群集资源组,然后选择 AKS 资源。

  2. 在 AKS 群集仪表板上,在左侧的“监视”下,选择“见解”。

  3. 选择“节点”、“控制器”、“容器”或“部署”选项卡。

  4. 在性能网格中选择一个对象。 在右侧的“属性”窗格中,选择“实时事件”选项卡。如果使用 Microsoft Entra ID 为 AKS 群集配置了单一登录,系统会在该浏览器会话期间向你提示进行首次使用所需的身份验证。 选择帐户,然后使用 Azure 完成身份验证。

    注意

    若要在 Log Analytics 工作区中查看数据,请在“属性”窗格中选择“在 Log analytics 中查看”。 日志搜索结果可能会显示“节点”、“守护程序集”、“副本集”、“StatefulSet”、“作业”、“Cron 作业”、“Pod”和“容器”。 这些日志可能不再存在。 StatefulSet 的日志搜索结果显示 StatefulSet 中 Pod 的数据。 尝试搜索在 kubectl 中不可用的容器的日志也会失败。 若要详细了解如何查看历史日志、事件和指标,请参阅如何从容器见解中查询日志

成功身份验证后,如果可以检索数据,它将开始流式传输到“实时事件”选项卡。

Screenshot that shows the Controller properties pane view events.

筛选事件

在查看事件时,还可以对结果进行限制,只需使用搜索栏下方的“筛选器”药丸按钮即可。 根据所选资源,药丸按钮会列出可供选择的节点、Pod、命名空间或群集。

使用实时数据视图

以下各部分介绍可在不同实时数据视图中使用的功能。

实时数据功能包括搜索功能。 在“搜索”框中,可以通过输入关键字或字词来筛选结果。 任何匹配的结果会突出显示以方便查看。 在查看事件时,还可以对结果进行限制,只需使用搜索栏下方的“筛选器”功能即可。 根据选择的资源,可以从节点、Pod、命名空间或群集中进行选择。

Screenshot that shows the Live Data console pane filter example.

Screenshot that shows the Live Data console pane filter example for deployment.

滚动锁定和暂停

若要暂停自动滚动并控制选项卡的行为,以便可以通过手动方式滚动浏览读取的新数据,请选择“滚动”选项。 若要重新启用自动滚动,请再次选择“滚动”。 还可以通过选择“暂停”选项来暂停日志或事件数据的检索。 准备好继续时,选择“播放”。

Screenshot that shows the Live Data console pane pause live view.

Screenshot that shows the Live Data console pane pause live view for deployment.

排查问题时,只会暂停自动滚动一小段时间。 这些请求可能会影响群集上 Kubernetes API 的可用性和限制。

重要

在运行此功能期间不会永久存储任何数据。 当你关闭或离开浏览器时,将删除在此会话期间捕获的所有信息。 数据只会在指标功能的五分钟时限内呈现以提供可视化效果。 任何超过五分钟的指标也会被删除。 实时数据在合理内存使用量限制内缓冲查询。

常见问题

本部分提供常见问题的解答。

节点视图下的“其他进程”表示什么?

“其他进程”旨在帮助你清楚了解节点上资源使用率较高的根本原因。 此信息有助于区分容器化进程与非容器化进程的使用情况。

这些其他进程是哪些进程?

它们是在节点上运行的非容器化进程。

如何对其进行计算?

其他进程 = CAdvisor 中的总使用量 - 容器化进程的使用量

其他进程包括:

  • 自托管或托管的 Kubernetes 非容器化进程。
  • 容器运行时进程。
  • Kubelet。
  • 节点上运行的系统进程。
  • 其他在节点硬件或 VM 上运行的非 Kubernetes 工作负载。

后续步骤