跳到正文
molesignal
5 分钟

快速开始

五分钟跑出第一条查询。

前置条件

  • docker

    Docker + Docker Compose 2.x

  • helm

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

  • binary

    Linux x86_64,可写 workdir,4 GB 内存

安装

终端 · 单机沙盒
# molesignal standalone — everything in one command
$ docker compose -f deploy/docker/docker-compose.yaml --profile standalone up -d
 
# UI: http://localhost:5080

发送第一条数据

一个 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 是不是你正在写入的那个。