Skip to main content
MoleSignal supports native and protocol-compatible intake, so many existing agents and SDKs can send data with little or no adaptation. Every endpoint is authenticated with Authorization: Bearer <jwt> (or an API token — see Security), except the push connectors, which use a connector token.

Supported protocols

Kinesis Firehose, Cloudflare Logpush, and Heroku log drains are configured per source — see the Connectors guide.

Native HTTP JSON

The simplest path. POST an array of records to intake/{logs,metrics,traces}/{stream}. Timestamps are microseconds since the Unix epoch, in the _timestamp field.
The stream is created on first write, and the schema evolves as new fields appear.

OpenTelemetry

Point the OTel HTTP exporter at MoleSignal:
Logs, metrics, and traces post to /api/v1/logs, /api/v1/metrics, and /api/v1/traces.

Prometheus remote_write

Add MoleSignal as a remote write target in prometheus.yml:

Loki and Elasticsearch

The Loki endpoint accepts {"streams":[{"stream":{...},"values":[["<unix_nano>","<line>"]]}]}. Set stream-name to choose the MoleSignal log stream. Configure senders for JSON rather than the default Loki snappy-protobuf encoding.

Pipeline functions

Pipeline functions transform events on the intake hot path through reusable transforms attached to a pipeline step. The runtime supports:
  • VRL — always available. Compiled per (function_id, updated_at) with the vrl::compiler stdlib (del, parse_json, to_int, match, encrypt/decrypt, …).
  • JavaScript — opt-in, built on deno_core (V8). JavaScript is available only when the binary is built with --features js-runtime; there is no runtime TOML switch.
  • LLM evaluation — API-configurable for low-throughput pipelines when [functions].llm_eval_enabled = true and the organization has an enabled model provider. Each event triggers a model request.
The JS isolate is deliberately minimal: no fetch, no setTimeout, no import, no npm. Each event gets a 50 ms wall-clock budget and a 32 MiB heap. Anything beyond a single synchronous pass is unsupported by design.
Last modified on August 13, 2026