本文介绍如何在事件总线EventBridge控制台添加日志服务SLS类型的自定义事件源。
前提条件
日志服务SLS
事件总线EventBridge
操作步骤
- 登录事件总线EventBridge控制台,在左侧导航栏,单击事件总线。
- 在顶部菜单栏,选择地域,在事件总线页面,单击目标自定义事件总线名称。
- 在左侧导航栏,单击事件源,然后单击添加事件源。
在添加自定义事件源面板,输入名称和描述,将事件提供方选择为日志服务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的唯一身份标识。 |