- 接入源 —— 平台把数据推进 MoleSignal(Kinesis Firehose、Cloudflare Logpush、Heroku log drain)。
- 出向 sink —— 流水线把产出投递出去到 S3 或 Kafka。
配置一个 connector
在 Pipelines → Connectors 下创建 connector,或通过 API。每个 connector 有一个kind 和一个
config_json,后者的结构随 kind 而定。敏感字段(push_token、access_key、secret_key …)在 API
响应中被掩码。
接入源(推送)
三种推送源共用一套模型:创建一个带push_token 和 target_stream 的 connector,然后把平台
指向对应端点。这些端点不使用 JWT——请求用 connector token 鉴权,按平台允许的方式传入:
带
Content-Encoding: gzip 的 body 会被自动解压。事件走与其他接入相同的路径——schema-on-write、
流水线、脱敏一并生效。
- Kinesis Firehose
- Cloudflare Logpush
- Heroku
用
kind: "aws_kinesis_firehose" 创建 connector,然后给 Firehose 投递流添加一个 HTTP
endpoint 目标:- URL ——
https://molesignal.example.com/api/v1/_kinesis_firehose - Access key —— connector 的
push_token(Firehose 以X-Amz-Firehose-Access-Key发送)
message
字段),并返回 Firehose 所要求的 200 ACK。拉取源
CloudWatch Logs 是拉取源:MoleSignal 按周期主动轮询 AWS API,而非被动接收推送。创建一个 connector 后,MoleSignal 周期调用FilterLogEvents(SigV4 签名,不引 AWS SDK),并按 connector 维度推进
checkpoint,使每轮只读新事件。
轮询器以单例运行(alert-manager / standalone 节点),无论集群规模都只有一个节点轮询。每条事件成为
一条带
message、log_stream、log_group 的日志。
出向 sink
S3 与 Kafka connector 是 sink:在流水线中选中对应 connector, 即可在流水线运行时把变换后的事件投递出去。权限
pipelines.read 用于列出和检查 Connector。pipelines.edit 用于创建、更新或删除
Connector。推送 Receiver 使用 Connector 专用 Token 身份验证,不能用普通登录 JWT 替代。
接入 API
Kinesis、Cloudflare、Heroku 推送接收端点的细节。