跳转到: 导航, 搜索

Monasca/Events

新闻

2018 年 7 月- Monasca Events 的工作仍在继续,架构和 API 正在修订。以下信息来自 2017 年 1 月之前,甚至可以追溯到 2015 年,但请关注即将发布的更新,因为工作正在进行中。



简介

Monasca 中的实时事件流处理正在进行中,它将允许来自外部数据源的事件发送到 Monasca API,在那里可以对其进行转换、存储、查询、过滤、分组并与处理程序关联。可以使用事件中的字段通过过滤和分组事件来定义流。可以与流定义关联处理程序,当流触发条件发生时,这些处理程序将被触发。

OpenStack 事件的示例包括:实例创建和实例删除。可以对这些事件执行特定操作。例如,如果删除了一个实例,则应删除与该实例相关的所有警报。

一个示例用例是将 OpenStack “compute.instance.create.*” 事件(请参阅 https://wiki.openstack.org/wiki/NotificationEventExamples)发送到 API。可以定义一个事件转换,以减少源事件中提供的字段数量,使其更易于管理,并规范化数据。可以通过定义一个过滤器来选择所有“compute.instance.create.*”事件,并根据事件中的一组字段(例如“instance_id”)对其进行分组来创建事件流。当发生“compute.instance.create.end”事件时,可以调用一个触发条件来处理该流。

事件 API

事件

  • POST /v2.0/events: 发布一个事件。
  • GET /v2.0/events/{event_id}: 获取具有特定事件 ID 的事件。
  • GET /v2.0/events: 列出事件。

转换

  • POST /v2.0/events/transforms - 创建一个转换
  • GET /v2.0/events/transforms - 列出转换
  • GET /v2.0/events/transforms/{transform_id} - 获取指定的转换
  • DELETE /v2.0/events/transforms/{transform_id}

流定义

  • POST /v2.0/events/stream-definitions: 创建一个流定义,JSON 主体中包含以下参数
    • name (string(255), required) - 流的唯一名称。
    • description (string(255), optional) - 流的描述。
    • select () - 用于过滤/匹配事件的字段。例如,选择事件类型字段与“compute.instance.create.*”匹配的所有事件。
    • group_by () - 用于分组事件的字段。对于匹配选择标准的事件,根据指定的标准对其进行分组。例如,按“instance_id”或“user_id”字段进行分组。
    • expires (int, required) - 从流开始到触发操作未发生时,过期操作被触发的毫秒数。
    • fire_actions ([string(50)], optional) - 当管道触发时调用的通知方法 ID 数组。
    • expire_actions ([string(50)], optional) - 当管道过期时调用的通知方法 ID 数组。
  • GET /v2.0/events/stream-definitions
  • GET /v2.0/events/stream-definitions/{stream-definition-id}
  • DELETE /v2.0/events/stream-definitions/{stream-definition-id}

转换引擎

从 Kafka 消费事件,对其进行转换,然后发布到 Kafka。

事件引擎

从 Kafka 消费转换后的事件,并使用 Winchester 管道对其进行处理。

Distiller

无需更改。

Winchester

  • 添加多租户支持
  • 动态更新管道。
  • 在运行时添加和删除管道定义。当前,Winchester 管道需要在启动时创建。
    • 通过方法提供管道定义,而不是 yaml 文件。Winchester 当前在启动时从 yaml 文件读取管道配置信息。
  • 创建管道处理程序,发布通知事件,以便通知引擎可以消费它们。

阈值引擎

更新以生成更通用的警报状态转换事件。

MySQL

  • 初始化 Winchester 模式
  • 初始化 Monasca 转换和管道模式。