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