Skip to main content
Connector 是与外部平台的托管集成,支持两个方向:
  • 接入源 —— 平台把数据推进 MoleSignal(Kinesis Firehose、Cloudflare Logpush、Heroku log drain)。
  • 出向 sink —— 流水线把产出投递出去到 S3 或 Kafka。

配置一个 connector

Pipelines → Connectors 下创建 connector,或通过 API。每个 connector 有一个 kind 和一个 config_json,后者的结构随 kind 而定。敏感字段(push_tokenaccess_keysecret_key …)在 API 响应中被掩码。

接入源(推送)

三种推送源共用一套模型:创建一个带 push_tokentarget_stream 的 connector,然后把平台 指向对应端点。这些端点不使用 JWT——请求用 connector token 鉴权,按平台允许的方式传入: Content-Encoding: gzip 的 body 会被自动解压。事件走与其他接入相同的路径——schema-on-write、 流水线脱敏一并生效。
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 发送)
MoleSignal 对每条 record base64 解码、按换行切分,并把每行解析为 JSON(纯文本则回退到 message 字段),并返回 Firehose 所要求的 200 ACK。
target_stream 在首次投递时创建,schema 随新字段出现而演化,与任意其他数据流一致。省略 target_stream 则回退到 按源区分的默认流名(kinesiscloudflareheroku)。

拉取源

CloudWatch Logs 是拉取源:MoleSignal 按周期主动轮询 AWS API,而非被动接收推送。创建一个 connector 后,MoleSignal 周期调用 FilterLogEvents(SigV4 签名,不引 AWS SDK),并按 connector 维度推进 checkpoint,使每轮只读新事件。
轮询器以单例运行(alert-manager / standalone 节点),无论集群规模都只有一个节点轮询。每条事件成为 一条带 messagelog_streamlog_group 的日志。

出向 sink

S3 与 Kafka connector 是 sink:在流水线中选中对应 connector, 即可在流水线运行时把变换后的事件投递出去。

权限

pipelines.read 用于列出和检查 Connector。pipelines.edit 用于创建、更新或删除 Connector。推送 Receiver 使用 Connector 专用 Token 身份验证,不能用普通登录 JWT 替代。

接入 API

Kinesis、Cloudflare、Heroku 推送接收端点的细节。
最后修改于 2026年8月9日