跳到主要内容

入门

5分钟内即可完成 IEDB 安装和运行。

发布包

平台架构包名
Dockeramd64, arm64ghcr.io/mengdal/iedb:xx.xx.xx
Debian/Ubuntuamd64iedb-xx.xx.xx_amd64.deb
Debian/Ubuntuarm64iedb-xx.xx.xx_arm64.deb
RHEL/Fedorax86_64iedb-xx.xx.xx-1.x86_64.rpm
RHEL/Fedoraaarch64iedb-xx.xx.xx-1.aarch64.rpm
Kubernetes-iedb-xx.xx.xx.tgz (Helm)

先决条件

  • Docker 最低 4GB 内存,建议 8GB 以上
  • x86_64 / ARM64 架构均可

快速入门

docker run -d \
--name iedb \
-p 8000:8000 \
-v iedb-data:/app/data \
ghcr.io/mengdal/iedb:latest

确认程序正在运行:

curl http://localhost:8000/health

获取您的管理员Token

首次启动时会生成一个管理员Token。请立即复制——未来无法再次生成获取!

docker logs iedb 2>&1 | grep -i "admin"

你会看到:

======================================================================
FIRST RUN - INITIAL ADMIN TOKEN GENERATED
======================================================================
Initial admin API token: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
======================================================================

写入数据

data = {
"m": "cpu",
"columns": {
"time": [int(datetime.now().timestamp() * 1000)],
"host": ["server01"],
"usage_idle": [95.0],
"usage_user": [3.2]
}
}

response = requests.post(
"http://localhost:8000/api/v1/write/msgpack",
headers={
"Authorization": f"Bearer {token}",
"Content-Type": "application/msgpack",
"x-iedb-database": "default"
},
data=msgpack.packb(data)
)

查询数据

curl -X POST http://localhost:8000/api/v1/query \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"sql": "SELECT * FROM default.cpu LIMIT 10", "format": "json"}'

后续步骤

故障排除

docker logs iedb

常见问题

身份验证错误:请确保TOKEN已设置并包含在请求头中。

未返回数据:数据可能尚未刷新。清除缓存后刷新:

curl -X POST http://localhost:8000/api/v1/write/line-protocol/flush \
-H "Authorization: Bearer $TOKEN"

无法访问 Web 管理界面:IEDB 启动后会从当前目录下的 front/ 文件夹加载前端页面。前端源码及构建产物参见 iedb-ui。将前端构建产物放在与 iedb 二进制同级的 front/ 目录中:

# 下载或构建前端资源后,确保目录结构如下:
# .
# ├── iedb ← 二进制文件
# ├── iedb.toml ← 配置文件
# └── front/ ← 前端静态资源
# ├── index.html
# └── assets/

启动后访问 http://localhost:8000 即可打开管理界面。