自定义事件源日志服务SLS

本文介绍如何在事件总线EventBridge控制台添加日志服务SLS类型的自定义事件源。

前提条件

操作步骤

  1. 登录事件总线EventBridge控制台,在左侧导航栏,单击事件总线
  2. 在顶部菜单栏,选择地域,在事件总线页面,单击目标自定义事件总线名称。
  3. 在左侧导航栏,单击事件源,然后单击添加事件源
  4. 添加自定义事件源面板,输入名称描述,将事件提供方选择为日志服务SLS,配置以下参数,然后单击确认

    • 日志项目:选择已创建的Project。

    • 日志库:选择已创建的Logstore。

    • 起始消费位点:起始消费位点,可以选择最早或最新位点,也可以从指定时间戳(以秒表示的Unix 时间戳)开始消费。

    • 角色配置:授权事件总线EventBridge使用此角色读取SLS日志内容。

      • 事件总线EventBridge使用您提供的角色来读取SLS日志时,会在LogStore下自动创建一个以“eventbridge-”开头的消费组,任务释放后会将此消费组清理。

      • 您提供的角色应保证事件总线EventBridge可以读取对应LogStore日志与消费组的增删操作,至少赋予角色LogStore消费权限与消费组的增删操作。权限策略请参考以下代码。更多信息,请参见权限策略和示例

        {
          "Version": "1",
          "Statement": [
            {
              "Action": [
                "log:ListShards",
                "log:GetCursorOrData",
                "log:GetConsumerGroupCheckPoint",
                "log:UpdateConsumerGroup",
                "log:ConsumerGroupHeartBeat",
                "log:ConsumerGroupUpdateCheckPoint",
                "log:ListConsumerGroup",
                "log:CreateConsumerGroup",
                "log:DeleteConsumerGroup"
              ],
              "Resource": [
                "acs:log:*:*:project/<指定的project名称>/logstore/<指定的Logstore名称>",
                "acs:log:*:*:project/<指定的project名称>/logstore/<指定的Logstore名称>/*"
              ],
              "Effect": "Allow"
            }
          ]
        }

事件示例

{
    "datacontenttype": "application/json;charset=utf-8",
    "aliyunaccountid": "175299981560****",
    "data": {
        "key1": "value1",
        "key2": "value2",
        "__topic__": "test_topic",
        "__source__": "test_source",
        "__client_ip__": "122.231.XX.XX",
        "__receive_time__": "1663487595",
        "__pack_id__": "59b662b2257796****"
    },
    "subject": "acs:log:cn-qingdao:175299981560****:project/qiingdaoproject/logstore/qingdao-logstore-1",
    "aliyunoriginalaccountid": "175299981560****",
    "source": "test-SLS",
    "type": "sls:connector",
    "aliyunpublishtime": "2022-09-18T07:53:15.387Z",
    "specversion": "1.0",
    "aliyuneventbusname": "qingdaoBus",
    "id": "qiingdaoproject-qingdao-logstore-1-1-MTY2MzExODM5ODY4NjAxOTQyMw****",
    "time": "2022-09-18T07:53:12Z",
    "aliyunregionid": "cn-qingdao",
    "aliyunpublishaddr": "10.50.XX.XX"
}

CloudEvents规范中定义的参数解释,请参见事件概述

data字段包含的参数解释如下表所示,其中以“__”开头和结尾的为SLS系统字段解释,请参见保留字段

参数

类型

示例值

描述

key1

String

testKey

"key1": "value1"、"key2": "value2"表示用户的SLS日志中的字段及对应内容。

__topic__

String

testTopic

日志主题。

__source__

String

testSource

日志来源设备。

__client_ip__

String

122.231.XX.XX

日志所在主机的IP地址。

__receive_time__

String

1663487595

日志到达服务端的时间。

__pack_id__

String

59b662b2257796****

该日志所属的LogGroup的唯一身份标识。