跳到正文
molesignal
5 分钟

快速开始

五分钟跑出第一条查询。

前置条件

  • docker

    Docker + Docker Compose 2.x

  • helm

    Kubernetes 1.27+,Helm 3.x,带读写权限的 S3 凭证

  • binary

    Linux x86_64,可写 workdir,4 GB 内存

安装

终端 · 单机沙盒
# Postgres + MinIO + molesignal standalone, 1 command
docker compose -f deploy/docker/docker-compose.yaml --profile standalone up

# UI:        http://localhost:5080
# S3 admin:  http://localhost:9001  (minioadmin / minioadmin)

发送第一条数据

一个 OTLP HTTP POST。任何 OpenTelemetry SDK、Vector 或 Fluent Bit 都能产生同样的形状。

终端 · OTLP 采集
curl -X POST http://localhost:5080/api/v1/ingest/logs/app \
  -H 'content-type: application/json' \
  -H 'authorization: Bearer <jwt>' \
  -d '[{"_timestamp":1700000000000000,"level":"error","msg":"db pool exhausted","trace_id":"abc123"}]'

跑出第一条查询

SQL 查询。PromQL 和 VRL 也行——同一个引擎,同一份 Parquet。

终端 · SQL 查询
curl -X POST http://localhost:5080/api/v1/query \
  -H 'authorization: Bearer <jwt>' \
  -H 'content-type: application/json' \
  -d '{"org_id":"<from-login>","language":"sql",
       "statement":"SELECT * FROM app WHERE trace_id = '\''abc123'\''",
       "time_range":{"start":0,"end":2000000000000000},
       "stream":{"name":"app","stream_type":"logs"}}'

排错

  • 5080 端口被占用
    设置 MOLE_HTTP_PORT 环境变量,或者修改 docker-compose.yaml 里的端口映射。
  • 第一次查询报 'no such org'
    standalone profile 在首次登录时创建默认 org。先打开 http://localhost:5080 完成 bootstrap。
  • MinIO admin 提示写不进 bucket
    默认凭证 minioadmin/minioadmin。检查 bucket 是否已建——molesignal 在首次 ingest 时才建 bucket,先发一个 OTLP 请求。
  • 源码编译 cargo 失败
    需要 Rust 1.74+。运行 rustup update stable。Apple Silicon 需先装 Xcode CLT。
  • 实时告警不触发
    kind: realtime 要求告警源是写路径上的 stream。检查告警绑定的 stream 是不是你正在写入的那个。