一、安装Influxdb
首先,我们需要在Linux系统上安装Influxdb。下面是在Ubuntu和CentOS上安装Influxdb的步骤。
1、在Ubuntu上安装Influxdb
# 添加influxdb仓库到系统
wget -qO- https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/lsb-release
echo "deb https://repos.influxdata.com/$DISTRIB_ID $DISTRIB_CODENAME stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
# 安装influxdb
sudo apt-get update && sudo apt-get install influxdb
# 启动influxdb并设置开机自启
sudo systemctl start influxdb
sudo systemctl enable influxdb
上面的代码将会:
- 添加Influxdb的Key到系统中,以便系统能够验证下载的Influxdb软件包的完整性。
- 添加Influxdb的软件仓库到Ubuntu中。
- 安装Influxdb。
- 启动influxdb并设置开机自启。
2、在CentOS上安装Influxdb
# 添加influxdb仓库到系统
sudo curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
cat <
上面的代码将会:
- 添加Influxdb的Key到系统中,以便系统能够验证下载的Influxdb软件包的完整性。
- 添加Influxdb的软件仓库到CentOS中。
- 安装Influxdb。
- 启动influxdb并设置开机自启。
二、配置InfluxDB
现在,我们需要配置Influxdb使其能够在我们的系统上运行。
1、修改配置文件
默认情况下,Influxdb的配置文件位于/etc/influxdb/influxdb.conf。我们可以通过修改这个文件来对Influxdb进行配置。
# 对文件进行备份
sudo cp /etc/influxdb/influxdb.conf /etc/influxdb/influxdb.conf.bak
# 修改配置文件
sudo nano /etc/influxdb/influxdb.conf
# 将第11行的 bind-address 设置为 0.0.0.0:8086
上面的代码:
- 对原始配置文件进行了备份,以防文件修改出错。
- 通过nano编辑器打开了influxdb配置文件。
- 将第11行的bind-address选项从127.0.0.1:8086修改为0.0.0.0:8086。这可以让Influxdb对外开放,使得其能够在公共网络中被访问。
2、重启Influxdb
sudo systemctl restart influxdb
上面的代码将会重启Influxdb,以让配置文件生效。
三、使用Influxdb
Influxdb已经准备好运行,接下来,我们将学习如何使用Influxdb。
1、创建数据库
在存储数据之前,我们需要创建一个或多个数据库。
# 使用Influxdb Shell
influx
# 创建mydb数据库
CREATE DATABASE mydb
# 显示数据库列表
SHOW DATABASES
# 退出Influxdb Shell
exit
上面的代码将会:
- 进入Influxdb Shell。
- 创建一个名为mydb的数据库。
- 显示所有数据库。
- 退出Influxdb Shell。
2、插入数据
现在,我们已经创建了一个数据库,我们将插入一些数据以在数据库中存储。
# 进入Influxdb Shell
influx
# 选择mydb数据库
USE mydb
# 插入数据
INSERT cpu,host=serverA,region=us_west value=0.64
INSERT cpu,host=serverB,region=us_west value=0.67
INSERT cpu,host=serverC,region=us_west value=0.42
# 查询数据
SELECT "value" FROM "cpu"
上面的代码将会:
- 进入Influxdb Shell。
- 选择mydb数据库。
- 插入三个数据点。
- 查询所插入的数据。
3、删除数据
如果某个时刻你要删除InfluxDB中的某些数据,可以使用InfluxDB Shell进行删除操作。
# 进入InfluxDB Shell
influx
# 选择mydb数据库
USE mydb
# 删除host为serverA的数据
DELETE FROM "cpu" WHERE host='serverA'
# 查询剩余的数据
SELECT "value" FROM "cpu"
上面的代码将会:
- 进入InfluxDB Shell。
- 选择mydb数据库。
- 删除mydb数据库中host为serverA的数据。
- 查询所有的剩余数据。