优化容器见解的监视成本
Kubernetes 群集生成容器见解收集的大量数据。 由于为引入和保留此数据付费,因此需要配置环境以优化成本。 可以筛选出不需要的数据并优化存储数据的 Log Analytics 工作区的配置,以显著降低监视成本。
分析收集的数据并确定是否正在收集不需要的任何数据后,有几个选项可用于筛选不想收集的任何数据。 这包括从一组预定义的成本配置中进行选择,到利用不同的功能根据特定条件筛选数据。 本文提供了有关如何分析和优化容器见解数据收集的指南的演练。
分析数据引入
要确定节省成本的最佳机会,请分析在不同表中收集的数据量。 此信息将帮助确定哪些表正在消耗最多的数据,并帮助做出有关如何降低成本的明智决策。
可以使用Container Insights 使用情况 Runbook 直观显示每个工作区中引入的数据量,该 Runbook 可从受监视群集的工作区页获取。
报表允许按不同的类别(例如,表、命名空间和日志源)查看数据使用情况。 使用这些不同的视图来确定未使用的、可以筛选出以降低成本的任何数据。
选择该选项以在 Log Analytics 中打开查询,可在其中执行更详细的分析,包括查看正在收集的单个记录。 有关可用于分析收集的数据的其他查询,请参阅容器见解中的查询日志。
例如,以下屏幕截图显示了对用于按表的日志查询的修改,该查询按命名空间和表显示数据。
筛选收集的数据
确定可以筛选的数据后,使用容器见解中的不同配置选项以筛选出不需要的数据。 选项可用于选择预定义的配置、设置单个参数,并使用自定义日志查询进行详细筛选。
成本预设
筛选数据的最简单方法是在 Azure 门户中使用成本预设。 每个预设都包含根据不同的操作和成本配置文件收集的不同表集。 成本预设旨在帮助根据常见场景快速配置数据收集。
提示
如果已将群集配置为将 Prometheus 体验用于容器见解,则可以禁用性能收集,因为 Prometheus 正在收集性能数据。
有关选择成本预设的详细信息,请参阅使用 Azure 门户配置 DCR
筛选选项
选择适当的成本预设后,可以使用下表中的不同方法筛选其他数据。 每个选项都允许根据不同的条件筛选数据。 完成配置后,应仅收集分析和警报所需的数据。
筛选依据 | 说明 |
---|---|
表 | 如果要选择单个表来填充成本预设组以外的其他内容,请手动修改 DCR。 例如,你可能想要收集ContainerLogV2,但不收集KubeEvents,该内容包含在相同的成本预设中。 请参阅DCR 中的流值,以了解 DCR 中使用的流列表,并使用其中的指导。 |
容器日志 | ContainerLogV2 存储群集中容器生成的 stdout/stderr 记录。 虽然可以使用 DCR 禁用整个表的收集,但可以使用群集的 ConfigMap 单独配置 stderr 和 stdout 日志的集合。 由于可以单独配置stdout 和stderr 设置,因此可以选择启用一个设置而不是另一个设置。有关筛选容器日志的详细信息,请参阅筛选容器日志。 |
命名空间 | Kubernetes 中的命名空间用于对群集中的资源进行分组。 可以从不需要的特定命名空间的资源中筛选出数据。 如果使用 DCR,则只有当已为Perf 表启用集合时,才能按命名空间筛选性能数据。 使用 ConfigMap 筛选stdout 和stderr 日志中特定命名空间的数据。请参阅筛选容器日志,了解按命名空间筛选日志的详细信息,并请参阅平台日志筛选(系统 Kubernetes 命名空间),了解系统命名空间的详细信息。 |
Pod 和容器 | 注释筛选允许根据对 Pod 所做的注释筛选出容器日志。 使用 ConfigMap,可以指定是否应为单个 Pod 和容器收集 stdout 和 stderr 日志。 有关更新 ConfigMap 和在 Pod 中设置注释的详细信息,请参阅基于注释的工作负载筛选。 |
转换
引入时间转换允许应用 KQL 查询来筛选和转换Azure Monitor 管道中的数据,然后再将其存储在 Log Analytics 工作区中。 这样,便可以根据无法使用其他选项执行的条件筛选数据。
例如,可以选择根据 ContainerLogV2 中的日志级别筛选容器日志。 可以将转换添加到容器见解 DCR,这会执行下图中的功能。 在此示例中,仅收集error
和critical
级别事件,而忽略任何其他事件。
备选策略是将不太重要的事件保存到为基本日志配置的单独表。 这些事件仍可用于故障排除,但数据引入节省了大量成本。
请参阅容器见解中的数据转换,详细了解如何将转换添加到容器见解 DCR,包括使用转换的示例 DCR。
配置定价层
对于偶尔用于调试和故障排除的数据,Azure Monitor 中的基本日志为在 Log Analytics 工作区中引入数据提供了大幅的成本折扣。 为基本日志配置的表为数据引入提供了大幅的成本折扣,以换取日志查询的成本,这意味着它们非常适合很少访问的所需数据。
ContainerLogV2可以为基本日志进行配置,以便在很少查询数据时节省大量成本。 使用转换,可以指定应发送到为基本日志配置的备用表的数据。 有关此策略的示例,请参阅容器见解中的数据转换。
后续步骤
为了帮助你了解基于数据(通过容器见解收集)中的最新使用模式可能产生的成本,请参阅分析 Log Analytics 工作区中的使用情况。