在本节中,我们将动手一步一步搭建一个InfluxDB实例,并基于influx命令行实际操作InfluxDB的写入、查询等基础功能,帮助读者在体验和理解InfluxDB的同时,也为学习后续章节提前搭建一个操作环境,夯实操作基础。
注意 本实战案例在CentOS-8.0.1905环境下验证通过。
操作本实战案例大约需要5分钟时间,通过以下两个步骤完成。
·安装和配置InfluxDB服务。
·基础操作。
首先需要安装和配置InfluxDB服务,通过官方提供的rpm软件包在RedHat & CentOS系统中安装InfluxDB,使用wget命令下载最新稳定版本的InfluxDB软件包,如代码清单2-42所示。
代码清单2-42 下载InfluxDB rpm软件包
$ wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.8.x86_64.rpm
然后,使用yum命令安装InfluxDB rpm软件包,如代码清单2-43所示。
代码清单2-43 通过yum命令安装InfluxDB rpm软件包
$ sudo yum localinstall influxdb-1.7.8.x86_64.rpm
通过sudo service命令启动InfluxDB服务,如代码清单2-44所示。
代码清单2-44 启动InfluxDB服务
$ sudo service influxdb start
然后通过service命令查看InfluxDB服务的运行状态,如代码清单2-45所示。
代码清单2-45 查看InfluxDB服务的运行状态
$ service influxdb status Redirecting to /bin/systemctl status influxdb.service influxdb.service - InfluxDB is an open-source, distributed, time series datab> Loaded: loaded (/usr/lib/systemd/system/influxdb.service; enabled; vendor pr> Active: active (running) since Thu 2019-10-17 03:13:33 EDT; 3 days ago Docs: https://docs.influxdata.com/influxdb/ Main PID: 1080 (influxd) Tasks: 11 (limit: 11362) Memory: 173.1M CGroup: /system.slice/influxdb.service └─1080 /usr/bin/influxd -config /etc/influxdb/influxdb.conf
从service influxdb status命令的输出结果中,我们看到InfluxDB服务处于“active(running)”状态,正常运行。
InfluxDB支持通过InfluxDB API和influx命令行来进行InfluxDB操作,InfluxDB API是一种基于HTTP协议的REST API,推荐在生产环境中使用。influx命令行是一种类似于MySQL命令行的命令行工具,推荐在日常数据库管理中使用。为了便于演示,我们将使用influx命令行执行InfluxDB的写入、查询等基础操作。
首先启动influx命令行,连接到本地InfluxDB服务器,如代码清单2-46所示。
代码清单2-46 启动influx命令行
$ influx Connected to http://localhost:8086 version 1.7.8 InfluxDB shell version: 1.7.8 >
通过show databases命令查看当前所有的数据库信息,如代码清单2-47所示,因为InfluxDB是新安装的,没有数据记录,所以输出结果中只看到_internal数据库。
代码清单2-47 查看数据库信息
> show databases; name: databases name ---- _internal
通过create database命令创建数据库devops_idc_sz,如代码清单2-48所示。
代码清单2-48 创建数据库devops_idc_sz
> create database devops_idc_sz
再次执行show databases命令查看当前数据库信息,这时我们可以看到新创建的数据库devops_idc_sz,如代码清单2-49所示。
代码清单2-49 查看数据库信息
> show databases; name: databases name ---- _internal devops_idc_sz
通过use命令选定数据库devops_idc_sz,如代码清单2-50所示。
代码清单2-50 选定数据库devops_idc_sz
> use devops_idc_sz Using database devops_idc_sz
通过insert命令向表cpu_usage中插入一条有关CPU负载的时序数据记录,如代码清单2-51所示。
代码清单2-51 插入时序数据记录
> insert cpu_usage,host=server01,region=us-west value=0.64
通过show measurements命令查看数据库devops_idc_sz中当前所有的表信息,如代码清单2-52所示,这时我们可以看到新创建的表cpu_usage。
注意 与MySQL等不同的是,InfluxDB不需要提前创建表,当写入时序数据时InfluxDB会自动创建新表。
代码清单2-52 查看数据库devops_idc_sz中的表信息
> show measurements name: measurements name ---- cpu_usage
通过select命令查询表cpu_usage中的时序数据信息,如代码清单2-53所示,这时我们可以看到之前插入的时序数据记录。
代码清单2-53 查询表cpu_usage中的时序数据记录
> select * from cpu_usage name: cpu_usage time host region value ---- ---- ------ ----- 1571576312149875031 server01 us-west 0.64
然后执行exit命令,退出influx命令行,如代码清单2-54所示。
代码清单2-54 退出influx命令行
> exit $
至此,我们已经完成InfluxDB的安装部署和基础操作实战,在这里我们体验了InfluxDB类SQL接口的易用和强大,更多功能和原理我们将在后续章节中一一介绍。