阿里云SLS导入Azure EventHub数据

本文介绍如何配置阿里云日志服务(SLS)的数据导入功能,以实时同步Azure Event Hubs中的数据。该方案利用SLSKafka协议的兼容性,通过SASL_SSL安全连接,将数据从Event Hub实时拉取至指定的Logstore,实现跨云数据的集中存储与分析。

重要

本文档为阿里云原创,知识产权归阿里云所有。由于本文档旨在介绍阿里云与第三方产品交互的服务能力,因此可能会提及第三方公司或其产品名称。

准备工作

  1. 阿里云资源准备:

    • 若使用主账号操作,默认具备所有权限;若使用 RAM 用户操作,请确保其被授予 AliyunLogFullAccess,或参考创建自定义权限策略进行细粒度授权。

    • 已创建用于接收数据的目标ProjectLogstore

  2. Azure 资源准备:

    已在Azure平台上准备好Event Hub实例,并获取以下配置信息,用于后续配置SLS数据导入任务。

    • Event Hub命名空间名称:用于构成SLS连接的服务地址(Endpoint)。

    • Event Hub实例名称:相当于Kafka中的Topic,是数据导入的数据源。

    • 连接字符串:用于身份验证的凭据。在SLS的导入配置中作为密码使用。

    关于如何在Microsoft Azure上创建资源并获取上述信息,请参见 Azure官方文档:快速入门 - 使用 Azure 门户创建事件中心

操作步骤

步骤一:创建SLS数据导入任务

  1. 登录日志服务控制台

  2. 单击Project名称,进入目标Project。

  3. 在左侧导航栏单击image任务管理,切换到数据导入页签。

  4. 单击创建数据导入任务,在Kafka-数据导入卡片上单击立即接入

  5. 选择数据导入的目标Logstore,并单击下一步

  6. 导入配置页面,填写以下信息:

    • 显示名称:任务的显示名称。

    • 服务地址:填写Azure Event HubsKafka端点地址,格式为<EventHub命名空间名称>.servicebus.windows.net:9093

    • Topic列表:填写Event Hub实例名称。

    • 起始位置:选择数据导入的起点。

      • 最早:从Topic中现存的最早一条数据开始导入。适用于需要全量同步历史数据的场景。

      • 最晚:从任务启动时刻开始导入新产生的数据,适用于增量同步场景。

    • 数据格式:根据源日志的实际格式选择。此处以JSON字符串为例,导入任务会将数据解析为键值对格式,只解析到第一层。

    • 编码格式:待导入数据的编码格式,选择UTF-8

    • 高级配置 > 通信协议

      • protocol:选择sasl_ssl

      • mechanism:选择PLAIN

      • username:固定填写为$ConnectionString。Event Hubs Kafka 端点要求以此作为 SASL PLAIN 认证的用户名。

      • password:填写在 Event Hub 命名空间获取到的连接字符串

  7. 单击预览,请检查预览数据中的字段是否符合预期。

    如果预览失败,请根据错误提示检查服务地址、Topic和认证信息是否正确。
  8. 确认预览数据符合预期后,单击下一步

步骤二:配置索引

为导入的日志数据配置索引,以启用高效的查询与分析能力。在查询分析配置页面:

  • 系统默认开启全文索引,支持对日志原始内容进行关键词搜索。

  • 如需按字段进行精确查询,请在页面加载出预览数据后,单击自动生成索引,日志服务将根据预览数据中的第一条内容生成字段索引

单击下一步,完成整个数据接入配置。

步骤三:查看与管理导入任务

任务创建成功后,系统将自动启动并持续运行。

  1. 在左侧导航栏,单击image任务管理

  2. 选择数据导入页签,单击目标任务名称,即可打开导入任务概览页面,查看任务运行状态、处理速率、错误信息等详细监控指标。

计费说明

SLS 数据导入功能的费用根据计费模式不同而有所差异: