您可以在 Dataflow 监控界面中查看流处理作业的自动扩缩监控图表。这些图表显示流水线作业持续时间内的各种指标,并包含以下信息:
- 作业在任意时间点使用的工作器实例数量
- 自动扩缩日志文件
- 一段时间内的预估积压
- 一段时间内的平均 CPU 利用率
这些图表垂直对齐,因此您可以将积压和 CPU 利用率指标与工作器扩缩事件相关联。
如需详细了解 Dataflow 如何进行自动扩缩决策,请参阅自动扩缩功能文档。如需详细了解 Dataflow 监控和指标,请参阅使用 Dataflow 监控界面。
访问自动扩缩监控图表
您可以使用 Google Cloud 控制台访问 Dataflow 监控界面。如需访问自动扩缩指标标签页,请按照以下步骤操作:
- 登录 Google Cloud 控制台。
- 选择您的 Google Cloud 项目。
- 打开导航菜单。
- 在 Analytics 中,点击 Dataflow。 此时系统将显示 Dataflow 作业及其状态的列表。
- 点击要监控的作业,然后点击自动扩缩标签页。
监控自动扩缩指标
Dataflow 服务会自动选择运行自动扩缩作业所需的工作器实例数量。一段时间后,工作器实例数可能会根据作业要求而发生变化。
您可以在 Dataflow 界面的自动扩缩标签页中查看自动扩缩指标。每个指标都会整理到以下图表内:
自动扩缩操作栏显示当前的自动扩缩状态和工作器计数。
自动扩缩
自动扩缩图表显示当前工作器数量、目标工作器数量以及工作器数量下限和上限的时序图。
如需查看自动扩缩日志,请点击 Show autoscaling logs(显示自动扩缩日志)。
如需查看自动扩缩更改历史记录,请点击更多历史记录。此时会显示一个表格,其中包含流水线的工作器历史记录信息。历史记录包括自动扩缩事件,例如工作器数量是否达到工作器数量下限或上限。
自动扩缩理由(仅限 Streaming Engine)
自动扩缩理由图表显示了自动扩缩器在给定时间段内纵向扩容、纵向缩容或不执行任何操作的原因。
如需查看特定时间点的理由说明,请将指针悬停在该图表上。
下表列出了扩缩操作和可能的扩缩理由。
缩放操作 | 原因 | 说明 |
---|---|---|
扩缩无变化 | 收集更多数据以做出决策 | 自动扩缩器没有足够的信号来纵向扩容或纵向缩容。例如,工作器池状态最近发生了更改;或者积压或利用率指标出现波动。 |
扩缩无变化,信号稳定 | 达到与资源无关的限制 | 扩缩受限于键并行性或配置的工作器数量下限和上限等限制。 |
积压低,工作器利用率高 | 根据当前流量和配置,流水线的自动扩缩已收敛到一个稳定的值。无需进行任何伸缩更改。 | |
纵向扩容 | 积压高 | 扩大规模以减少积压。 |
工作器利用率较高 | 纵向扩容以实现目标 CPU 利用率。 | |
达到与资源无关的限制 | 工作器数量下限已更新,当前工作器数量低于配置的下限。 | |
纵向缩容 | 工作器利用率低 | 纵向缩容以实现目标 CPU 利用率。 |
达到与资源无关的限制 | 工作器数量上限已更新,当前工作器数量高于配置的上限。 |
工作器 CPU 利用率
CPU 利用率是用 CPU 的使用量除以可用于处理的 CPU 数量得到的值。平均 CPU 利用率图表显示一段时间内所有工作器的平均 CPU 利用率、工作器利用率提示,以及 Dataflow 是否主动将该提示用作目标。
积压(仅限 Streaming Engine)
最大积压图表提供有关等待处理的元素的信息。该图表显示了在没有新数据到达且吞吐量未变化的情况下处理当前积压消息需要的时间(以秒为单位)。预估的积压时间是根据吞吐量和来自输入源的待处理积压字节数计算的。流式自动扩缩功能使用此指标来确定何时扩容或缩容。
此图表的数据仅适用于使用 Streaming Engine 的作业。如果流处理作业不使用 Streaming Engine,则该图表为空。
建议
下面列出了您可能会在流水线中观察到的一些行为,以及有关如何调整自动扩缩的建议:
纵向缩容过度。如果目标 CPU 利用率设置得过高,您可能会看到这样一种模式:Dataflow 纵向缩容,积压开始增长,而 Dataflow 再次纵向扩容进行补偿,而不是收敛到一个稳定工作器数量。为了缓解此问题,请尝试设置较低的工作器利用率提示。观察积压开始增长时的 CPU 利用率,并将利用率提示设置为该值。
纵向扩容速度过慢。如果纵向扩容速度过慢,则可能会滞后于流量高峰,导致延迟时间增加。请尝试降低工作器利用率提示,以便 Dataflow 更快地扩容。观察积压开始增长时的 CPU 利用率,并将利用率提示设置为该值。请同时监控延迟时间和费用,因为如果预配了更多工作器,较低的提示值可能会增加流水线的总费用。
纵向扩容过度。如果您观察到纵向扩容过度,导致费用增加,请考虑增加工作器利用率提示。监控延迟时间,确保其保持在您的场景的可接受范围内。
如需了解详情,请参阅设置工作器利用率提示。在尝试新的 Worker 利用率提示值时,请在每次调整后等待几分钟,以便流水线稳定下来。