如何在Debian 10(Buster)Linux上安装InfluxDB

时间:2020-02-23 14:32:17  来源:igfitidea点击:

InfluxDB是一个开源时间序列数据库,旨在监视指标和事件,同时提供对堆栈的实时可见性。 InfluxDB是InfluxData作为TICK Stack的一部分开发的产品,该产品包括Telegraf,InfluxDB,Chronograf和Kapacitor。这是一个为高可用性而设计的快速Go时间序列数据库。

使用配置文件(influxdb.conf)和环境变量可以轻松配置InfluxDB。没有太多理论,让我们开始研究在Debian 10(Buster)Linux发行版上InfluxDB的安装。

在Debian 10(Buster)Linux上安装InfluxDB

添加InfluxDB APT存储库。

sudo apt update
sudo apt install -y gnupg2 curl wget
wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add 
echo "deb https://repos.influxdata.com/debian buster stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

添加存储库后,在Debian 10(Buster)Linux上安装InfluxDB:

sudo apt update
sudo apt install -y influxdb

InfluxDB默认配置文件位于/etc/influxdb/influxdb.conf下。大多数部分已被注释掉,我们可以根据自己的喜好对其进行修改,然后再重新启动influxdb服务。

启动并启用服务以在启动时启动。

sudo systemctl enable --now influxdb

检查服务状态:

~$systemctl status influxdb
● influxdb.service - InfluxDB is an open-source, distributed, time series database
   Loaded: loaded (/lib/systemd/system/influxdb.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-10-21 12:59:55 UTC; 1min 33s ago
     Docs: https://docs.influxdata.com/influxdb/
 Main PID: 2088 (influxd)
    Tasks: 10 (limit: 4719)
   Memory: 18.0M
   CGroup: /system.slice/influxdb.service
           └─2088 /usr/bin/influxd -config /etc/influxdb/influxdb.conf

Oct 21 12:59:56 deb10 influxd[2088]: ts=2019-10-21T12:59:56.458599Z lvl=info msg="Starting precreation service" log_id=0IcbHvDl000 service=shard-pr
Oct 21 12:59:56 deb10 influxd[2088]: ts=2019-10-21T12:59:56.458605Z lvl=info msg="Starting snapshot service" log_id=0IcbHvDl000 service=snapshot
Oct 21 12:59:56 deb10 influxd[2088]: ts=2019-10-21T12:59:56.458610Z lvl=info msg="Starting continuous query service" log_id=0IcbHvDl000 service=con
Oct 21 12:59:56 deb10 influxd[2088]: ts=2019-10-21T12:59:56.458617Z lvl=info msg="Starting HTTP service" log_id=0IcbHvDl000 service=httpd authentic
Oct 21 12:59:56 deb10 influxd[2088]: ts=2019-10-21T12:59:56.458621Z lvl=info msg="opened HTTP access log" log_id=0IcbHvDl000 service=httpd path=std
Oct 21 12:59:56 deb10 influxd[2088]: ts=2019-10-21T12:59:56.458680Z lvl=info msg="Listening on HTTP" log_id=0IcbHvDl000 service=httpd addr=[::]:808
Oct 21 12:59:56 deb10 influxd[2088]: ts=2019-10-21T12:59:56.458691Z lvl=info msg="Starting retention policy enforcement service" log_id=0IcbHvDl000
Oct 21 12:59:56 deb10 influxd[2088]: ts=2019-10-21T12:59:56.458876Z lvl=info msg="Listening for signals" log_id=0IcbHvDl000
Oct 21 12:59:56 deb10 influxd[2088]: ts=2019-10-21T12:59:56.458968Z lvl=info msg="Storing statistics" log_id=0IcbHvDl000 service=monitor db_instanc
Oct 21 12:59:56 deb10 influxd[2088]: ts=2019-10-21T12:59:56.459087Z lvl=info msg="Sending usage statistics to usage.influxdata.com" log_id=0IcbHvDl

在防火墙上打开influxdb服务端口

对于使用ufw防火墙的用户,请允许服务端口。

sudo apt -y install ufw
sudo ufw enable
sudo ufw allow 22/tcp
sudo ufw allow 8086/tcp

默认情况下,InfluxDB使用以下网络端口:TCP端口8086用于通过InfluxDB进行客户端-服务器通信HTTP API TCP端口8088用于RPC服务进行备份和还原

配置InfluxDB http身份验证(可选)

如果需要http认证,请修改influxdbhttp部分以包含以下内容。

$sudo vim /etc/influxdb/influxdb.conf 
[http]
 auth-enabled = true

然后使用身份验证密码创建用户:

curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER username WITH PASSWORD 'strongpassword' WITH ALL PRIVILEGES"

更换:

用户名和我们自己的用户名
使用我们自己的密码的strongpassword(请注意,密码需要单引号)

现在,每当需要在终端上运行任何influxdb命令时,都需要使用-username指定用户名,并使用-passwordoptions指定密码。

influx -username 'username' -password 'password'

对于curl,请使用-u指定用冒号分隔的用户名和密码。

curl -G http://localhost:8086/query -u username:password --data-urlencode "q=SHOW DATABASES"