本文介绍客户可用于监视其 AKS 群集网络的 Azure Monitor 功能。
收集网络指标
适用于 Prometheus 的 Azure Monitor 托管服务 是 Azure 建议的解决方案,用于从 Azure Kubernetes 服务 (AKS) 群集收集指标。 为群集启用使用托管 Prometheus 的指标收集时,默认情况下会收集网络监视指标。 默认情况下,收集的指标在节点级别。 若要收集 Pod 级别和其他高级指标,客户需要启用 容器网络可观测性 功能。 使用以下链接了解详细信息。
托管 Prometheus 和默认收集的网络指标
容器网络可观测性
收集网络日志
群集内日志
若要收集 AKS 群集中网络流的日志,客户可以使用高级容器网络服务的容器网络日志功能。
接入容器网络日志
按方法列出的入职步骤如下。 有关容器见解的载入选项,请参阅 “启用容器见解 ”一文。
- 下载安装文件:
- 使用表配置参数
| 参数名称 |
DESCRIPTION |
| aksResourceId |
AKS 群集的 Azure 资源 ID |
| aksResourceLocation |
AKS 群集的 Azure 区域 |
| 工作空间资源标识 |
Azure Log Analytics 工作区的 Azure 资源 ID |
| workspaceRegion |
Azure Log Analytics 工作区的 Azure 区域 |
| enableContainerLogV2 |
指示是否使用 ContainerLogV2 的标志。 |
| 启用Retina网络流量日志 |
用于指示是否启用或不启用 Retina 网络流日志的标志。 这一定是真的 |
| enableSyslog |
指示是否启用 Syslog 收集的标志。 |
| syslogLevels |
Syslog 收集的日志级别 |
| syslogFacilities |
Syslog 收集的设施 |
| resourceTagValues |
用于 AKS、Azure Monitor 数据收集规则和 Azure Monitor 数据收集终结点等的 Azure 资源标记。 |
| 数据收集间隔 |
用于适用的库存和性能数据收集的数据收集间隔。 默认值为 1m |
| 数据收集的命名空间过滤模式 |
用于适用的库存和性能数据收集的数据收集命名空间筛选模式。 默认值为 off |
| 用于数据收集的命名空间 |
用于适用的库存和性能数据收集的数据收集的命名空间。 |
| streams |
数据收集的流。 对于 retina networkflow 日志功能,包括“Microsoft-RetinaNetworkFlowLogs” |
| useAzureMonitorPrivateLinkScope |
用于指示是否配置 Azure Monitor 专用链接范围的标志。 |
| azureMonitorPrivateLinkScopeResourceId |
Azure Monitor 专用链接范围的 Azure 资源 ID。 |
- 部署 ARM 模板
az deployment group create \
--name AzureMonitorDeployment \
--resource-group <aksClusterResourceGroup> \
--template-file aks-enable-monitoring-msi-onboarding-template-file \
--parameters aks-enable-monitoring-msi-onboarding-template-parameter-file
- 下载安装文件:
这些内容可以在用于容器见解日志加载项的 GitHub 存储库的 Bicep 入门文件夹中找到。
- 使用该表格来配置参数:
| 参数名称 |
DESCRIPTION |
| aksResourceId |
AKS 群集的 Azure 资源 ID |
| aksResourceLocation |
AKS 群集的 Azure 区域 |
| 工作空间资源标识 |
Azure Log Analytics 工作区的 Azure 资源 ID |
| workspaceRegion |
Azure Log Analytics 工作区的 Azure 区域 |
| enableContainerLogV2 |
指示是否使用 ContainerLogV2 的标志。 |
| 启用Retina网络流量日志 |
用于指示是否启用或不启用 Retina 网络流日志的标志。 这一定是真的 |
| enableSyslog |
指示是否启用 Syslog 收集的标志。 |
| syslogLevels |
Syslog 收集的日志级别 |
| syslogFacilities |
Syslog 收集的设施 |
| resourceTagValues |
用于 AKS、Azure Monitor 数据收集规则和 Azure Monitor 数据收集终结点等的 Azure 资源标记。 |
| 数据收集间隔 |
用于适用的库存和性能数据收集的数据收集间隔。 默认值为 1m |
| 数据收集的命名空间过滤模式 |
用于适用的库存和性能数据收集的数据收集命名空间筛选模式。 默认值为 off |
| 用于数据收集的命名空间 |
用于适用的库存和性能数据收集的数据收集的命名空间。 |
| streams |
数据收集的流。 对于 retina networkflow 日志功能,包括“Microsoft-RetinaNetworkFlowLogs” |
| useAzureMonitorPrivateLinkScope |
用于指示是否配置 Azure Monitor 专用链接范围的标志。 |
| azureMonitorPrivateLinkScopeResourceId |
Azure Monitor 专用链接范围的 Azure 资源 ID。 |
- 部署 Bicep 模板:
az deployment group create \
--name AzureMonitorDeployment \
--resource-group <aksClusterResourceGroup> \
--template-file existingClusterOnboarding.bicep \
--parameters existingClusterParam.json
高级数据流
容器网络日志要求在群集上应用客户资源定义(CRD),以便启用日志记录。 启用后,Cilium 运算符将生成写入到节点文件系统的日志。 这些日志文件通过容器见解中的日志加载项引入。 然后,Logs-add-on 将这些日志传输到专用引入终结点,从中处理日志并将其存储在 Log Analytics 中。 日志进入 Log Analytics 后,即可根据需要进行查询。
更改表计划
容器流量日志将引入到 Log Analytics 表 RetinaNetworkFlowLogs 中。 该表当前支持分析表计划和基础表计划。 若要更改表 RetinaNetworkFlowLogs计划,请参阅 此处的说明。
限制
当容器网络日志捕获 AKS 群集内的每一个流时,生成的日志量可能会相当庞大,从而导致限制和日志丢失。 有关配置限制参数和监视日志丢失的指南,请参阅为容器见解配置限制一文。
局限性
容器流日志具有以下限制:
- 目前不支持使用 Terraform 进行导入
- 如果表计划设置为“基本日志”,则预生成的 Grafana 仪表板不起作用
- 不支持辅助日志表计划
- 仅支持 Cilium 数据平面。 有关限制的完整列表,请参阅 容器流日志的先决条件 文章。
群集出口日志/出站流日志
若要跟踪群集外部的流,客户可以启用 虚拟网络流日志