InfluxDB

主要是官方文档内容的整理和补充。

安装。

根据需要,自行加上sudo

APT 是全局性的包管理器,一般所有用户共享系统安装的软件包。对于 influxdb 同样如此,安装后,各个用户都能使用,只是各自有各自的配置文件,不会干扰。具体在后面会说。

1
apt list --installed | grep influx

就日常使用感受来说,官方文档说的第 2 种安装方式较少用。

查看服务状态。

1
sudo service influxdb status

如果要具体查看端口状态。端口号默认是8086

1
sudo lsof -i :8086

如有需要。虽然个人感觉一般用不到。

1
sudo kill -9 <PID>

启动服务。

1
sudo service influxdb start

停止服务。

1
sudo service influxdb stop

influx 安装后,默认是开机自启的,即使之前使用了stop,重启服务器或者 WSL 之类的之后会自己启动。如果想关闭自启动,可以使用这个。

1
sudo systemctl disable influxdb

UI 和 CLI 都是很方便的,建议都使用。

localhost:8086/

在 influxdb 运行的情况下。

对于服务器也是可以的,如果只在用一个服务器,那么上面的地址就直接可以的,或者使用服务器的 IP 地址。

这里个人建议通过 CLI 命令行来设置。

1
influx setup

按照提示,设置自己的 username,password,organization,bucket,等等内容。

名字不要紧,后续都可以再修改的。

可以删除指定时间段的数据。

具体对于 organization,bucket,user,token 等的管理。包括添加,删除,查看,更新,等操作。

另外也可以参考后文 reference 部分。

1
2
3
influx org update \
--org-id ORG_ID \
--name NEW_ORG_NAME \

这样更新之后,配置文件的 org 并不会跟着更新,还是需要自己手动修改配置。

个人建议是使用 CLI 来管理,UI 当然也行,主要看自己的使用习惯和方便程度。另外,对于这些,能直接修改就修改,能更新就更新,尽量少用删除相关的命令。

1
influx auth list

请善待自己的 token,好好利用,在配置文件里好好保管。这样就不用专门去记住自己的用户名,组织,等内容,即使忘记密码也可以重新设置。

这里说的更新 token 指的是更新 token 的描述和状态等内容。

假如自己真的不小心在 UI 或者 CLI 将自己唯一的 token 给删除 delete 了,那么就需要重新 setup 走一遍。先停止运行 influxdb 服务,删除数据文件,删除配置信息,然后重新运行 influxdb 服务。

1
2
3
4
5
sudo service influxdb stop
sudo rm -rf /var/lib/influxdb
rm -r ~/.influxdbv2/*
sudo service influxdb start
influx setup

用户管理。

1
influx user list

修改用户的密码,或者说更新密码,重置密码。只要配置文件有 token 或者手动带上 token 参数。无需记住原先的密码。也常用于忘记密码的场景。

1
2
3
influx user password \
--name USERNAME \
--password PASSWORD

数据文件存储相关。

Configs path

~/.influxdbv2/configs

在什么用户模式下setup的,配置文件就在什么用户目录下,这样就各自独立。特别地,在 root 模式下setup的,配置文件就在/root/.influxdbv2/configs

语法是 toml,默认的配置内容大致是这样的。从内容也可以看出,配置文件的一个很重要的作用就是保管自己的 token。

1
2
3
4
5
[default]
url = "http://localhost:8086"
token = "<your-token>"
org = "<your-org>"
active = true

这里的org是可选的,可以不写这一行,或者直接留空。当然,如果自己有多个 org,那么可以在这里指定默认的。

如果默认只有一个,那么建议写上比较方便,这样比如influx bucket list的时候,不需要再去指定 org。只是如果自己后面要修改 org 的名字或者其他内容的时候,还得记得另外再修改这个配置里的内容。

文档里面说 Installed as a package 方式的 Configs path 是/var/lib/influxdb/configs,不过一般不会这么安装,用处不大。

位于/etc/influxdb/config.toml的配置文件,是 influxd configuration file,用于服务器的配置。

1
2
bolt-path = "/var/lib/influxdb/influxd.bolt"
engine-path = "/var/lib/influxdb/engine"

Engine path

/var/lib/influxdb/engine/

TSM directories and files layout

/var/lib/influxdb/engine/data/

数据文件主要就是存这个地方。使用du命令查看总的大小。

1
2
3
du -sh /var/lib/influxdb/
du -sh /var/lib/influxdb/engine/data/
du -sk /var/lib/influxdb/engine/data/

WAL directories and files layout

/var/lib/influxdb/engine/wal/

其中influxd相关的命令,主要是服务器的配置,对于用户来说,一般较少用。

1
influx config set [flags]

这里setupdate同义。

相关命令行的效果相当于直接修改该文件。

用户的 token 也是放在此处,放这之后就不需要单独保存记忆,平时使用命令行也不需要每次都带上--token参数。

1
influx v1 shell

可以用于使用 shell 模式。