M3DB¶
M3DB 是 Uber 开源的一款分布式时序数据库,主要用来存储 Metric 类型数据,已在 Uber 内部使用多年。
Datakit 支持将采集到的指标性数据写入 M3db 中,可以通过配置文件和环境变量两种形式配置到指定的数据库中。
M3DB更多介绍和文档 请参考:
安装单机版 m3db¶
# 下载并启动
wget https://s3-gz01.didistatic.com/n9e-pub/tarball/m3dbnode-single-v0.0.1.tar.gz
tar zxvf m3dbnode-single-v0.0.1.tar.gz
cd m3dbnode-single
./scripts/install.sh #install.sh为自行编写的脚本,建议自己查看一下步骤
systemctl enable m3dbnode
# 初始化
curl -X POST http://localhost:7201/api/v1/database/create -d '{
"type": "local",
"namespaceName": "default",
"retentionTime": "48h"
}'
# 查看状态
systemctl status m3dbnode
# 或者
ss -tlnp|grep m3dbnode
在 datakit 上开启 sink-m3db¶
通过配置文件指定 M3DB¶
- 修改配置 datakit 配置文件
- 修改 sink 配置,注意 如果从没有配置过 sink 相关,新增一个配置项即可
[sinks]
[[sinks.sink]]
scheme = "http"
host = "localhost:7201"
path = "/api/v1/prom/remote/write"
categories = ["M"] # M3DB 目前只支持时序时序(metric)
target = "m3db"
- 重启 datakit
安装阶段指定 m3db 设置¶
DK_SINK_M="m3db://localhost:7201?scheme=http" \
DK_DATAWAY="https://openway.guance.com?token=<YOUR-TOKEN>" \
bash -c "$(curl -L https://static.guance.com/datakit/install.sh)"
通过环境变量安装的 Datakit,会在自动在配置文件中生成相应的配置。
m3db 可视化¶
这里推荐您使用 prometheus 和 grafana 去查询和展示数据。