资源监控

Blazar 监控资源状态,并修复预计因资源故障而受影响的预留。资源特定的功能,例如调用 Nova API,作为监控插件提供。以下章节将详细描述资源监控功能。

监控类型

Blazar 支持两种类型的监控 - 推送式和轮询式。

  1. 推送式监控

    监控器监听其他组件发送的通知消息,例如 Nova 为主机监控插件发送的消息。它会接收到引用 Blazar 管理的资源的通知消息。监控插件提供事件类型、订阅主题和通知回调。

  2. 轮询式监控

    blazar-manager 定期调用监控插件的状态检查方法。然后,监控插件会检查资源的状态,例如,主机监控插件使用计算 API 的List Hypervisors

管理员可以通过设置配置选项来启用/禁用这些监控。

修复

当监控器检测到资源故障时,它会修复预计受到故障影响的预留。请注意,它不会立即修复失败资源的所有预留,因为预计资源将在未来某个时间恢复,即监控器仅修复处于活动状态或即将开始的预留。

此外,监控器会定期检查预留的有效性并修复无效的预留。因此,即使失败的资源在上一个间隔内没有恢复,定期任务也会修复下一个间隔将开始的无效预留。

修复流程如下

  1. 资源 A 为Reservation-1Reservation-2Reservation-3 预留,如图所示。

  2. 在点 1,manager 中的定期任务检查是否有需要修复的预留,并检测到没有。

  3. 在点 2,manager 检测到资源 A 发生故障。然后,它会修复活动预留和在修复间隔内开始的预留。在这种情况下,Reservation-1Reservation-2 会立即被修复。

  4. 在点 3,定期任务检查是否有需要修复的预留。在这种情况下,任务发现没有需要修复的预留,因为资源尚未恢复,但下一个间隔内没有预留将开始。Reservation-2 已经在步骤 3 中被修复。

  5. 在点 4,定期任务再次检查是否有需要修复的预留。在这种情况下,任务发现 Reservation-3 需要被修复,因为它将在下一个间隔开始,并且资源尚未恢复。

  6. 在点 5 之前,manager 检测到资源的恢复。

  7. 在点 5,定期任务发现没有失败的资源,也没有需要执行的操作。

../_images/healing_flow.png

标志

租约和预留具有指示预留资源状态的标志。预留具有以下两个标志

  • missing_resources:如果分配给预留的任何资源发生故障且未找到替代资源,则此标志设置为 True

  • resources_changed:如果分配给活动预留的任何资源并且重新分配了替代资源,则此标志设置为 True

租约具有以下标志

  • degraded:如果租约中任何预留的 missing_resourcesresources_changed 标志为 True,则它为 True

租约所有者可以通过检查这些标志来查看租约和租约中包含的预留的健康状况。

监控资源

资源特定的功能作为监控插件提供。目前支持以下资源: