通常,InfluxDB软件包会提供以下几个程序:
·influx:InfluxDB的命令行工具。
·influxd:InfluxDB的服务器程序。
·influx_inspect:InfluxDB的数据检查工具。
·influx_stress:InfluxDB的压力测试工具。
·influx_tsm:InfluxDB的数据库格式转换工具(将数据库从b1或bz1格式转换为tsm1格式)。
接下来,我们分别看一下每个程序的使用方式和参数。
influx是InfluxDB的命令行工具,用于通过命令行的形式访问InfluxDB服务。
注意 InfluxDB服务器程序版本和influx命令行程序版本必须相同,如果两者版本不相同,则查询时可能会出现解析错误的问题。
influx也支持代理访问方式,可通过HTTP_PROXY和HTTPS_PROXY环境变量设置相应的HTTP代理和HTTPS代理,如代码清单2-31所示。
代码清单2-31 HTTP代理和HTTPS代理配置示例
# HTTP协议 $ HTTP_PROXY=http://localhost:1234 # HTTPS协议 $ HTTPS_PROXY=https://localhost:1443
如果在某些主机上不希望通过代理访问InfluxDB服务,可以配置NO_PROXY环境变量,如代码清单2-32所示,如果使用“*”则会匹配所有主机。
代码清单2-32 NO_PROXY配置示例
$ NO_PROXY=123.45.67.89,123.45.67.90
下面再来看一下influx的基本语法和常用参数,influx的基本语法如代码清单2-33所示。
代码清单2-33 influx基本语法
influx [arguments]
influx支持以下参数:
·-version:显示程序版本信息。
·-host‘host name’:指定要连接的主机的主机名。
·-port‘port’:指定要连接的主机端口号。
·-socket‘unix domain socket’:以UNIX域socket方式连接InfluxDB。
·-database‘database name’:指定要连接的数据库名。
·-password‘password’:连接时用于认证的密码。
·-username‘username’:连接时用于认证的用户名。
·-ssl:启用HTTPS连接。
·-unsafeSsl:当使用HTTPS连接到集群时不使用SSL验证。
·-execute‘command’:执行命令。
·-type‘influxql|flux’:指定调用REPL时使用的查询语言。
·-format‘json|csv|column’:指定服务器响应内容的格式,支持JSON、CVS、COLUMN。
·-precision‘rfc3339|h|m|s|ms|u|ns’:指定时间戳的格式,支持rfc3339、h、m、s、ms、u、ns,默认格式为rfc3339。
·-consistency‘any|one|quorum|all’:指定写入一致性级别,支持any、one、quorum、all。
·-pretty:以阅读友好的方式显示JSON格式的内容。
·-import:从之前的备份文件中还原备份数据。
·-pps:设置数据导入时每秒允许导入多少条时序数据。默认值为0,不限制导入速率。
·-path:需要还原的备份文件的存储路径。
·-compressed:设置为true时,表示支持导入压缩格式的备份文件。
influxd是InfluxDB的服务器守护进程,在默认安装情况下,不同操作系统环境下,InfluxDB配置文件所在的位置略有不同。例如:
·Linux:/etc/influxdb/influxdb.conf。
·Mac OS:/usr/local/etc/influxdb.conf。
还可以通过“influxd config”来直接创建InfluxDB配置文件,不过通过此方式创建的配置文件不带参数注释,创建方式如代码清单2-34所示。
代码清单2-34 创建InfluxDB配置文件
$ influxd config > /etc/influxdb/influxdb.generated.conf
可以通过--config参数加载指定配置文件启动InfluxDB服务,如代码清单2-35所示。
代码清单2-35 通过加载指定配置文件启动InfluxDB服务
$ sudo influxd --config /etc/influxdb/influxdb.generated.conf
除使用--config参数外,还可以通过加载环境变量指定的配置文件来启动InfluxDB服务,但需要提前确认环境变量是否存在,如代码清单2-36所示。
代码清单2-36 通过加载环境变量指定的配置文件启动InfluxDB服务
$ echo $INFLUXDB_CONFIG_PATH /etc/influxdb/influxdb.conf $ sudo influxd
在启动过程中,InfluxDB首先会检测--config参数是否存在,如果为空,则使用环境变量中指定的配置文件。
接着再来看一下influxd的基本语法和其支持的子命令,influxd的基本语法如代码清单2-37所示。
代码清单2-37 influxd基本语法
influxd [[command] [arguments]]
influxd支持以下子命令:
·backup:数据备份。
·config:显示influxd的默认配置信息。
·help:显示帮助信息。
·restore:还原之前通过backup命令备份的数据。
·run:运行程序,默认参数,可忽略。
·version:显示influxd程序的版本信息。
influx_inspect是InfluxDB的数据检查工具,可通过influx_inspect查看InfluxDB的TSM格式文件的内容,如代码清单2-38所示。
代码清单2-38 通过influx_inpsect查看TSM文件的内容
$ influx_inspect dumptsm -all /var/lib/influxdb/data/monitor/autogen/6/000000001-000000001.tsm Summary: File: /var/lib/influxdb/data/monitor/autogen/6/000000001-000000001.tsm Time Range: 2019-08-26T19:01:00Z - 2019-08-26T19:03:00Z Duration: 2m0s Series: 8 File Size: 1039 Index: Pos Min Time Max Time Ofs Size Key Field 1 2019-08-26T19:01:00Z 2019-08-26T19:03:00Z 5 36 cpu_usage,hostname=server1,region=us-west core 2 2019-08-26T19:01:00Z 2019-08-26T19:03:00Z 41 52 cpu_usage,hostname=server1,region=us-west percent 3 2019-08-26T19:01:00Z 2019-08-26T19:03:00Z 93 36 ......
influx_inspect的基本语法如代码清单2-39所示。
代码清单2-39 influx_inspect基本语法
influx_inspect [[command] [arguments]]
influx_inspect支持以下子命令:
·deletetsm:批量删除原始TSM文件。
·dumptsi:显示tsi1文件的底层细节信息。
·dumptsm:显示tsm1文件的底层细节信息。
·buildtsi:从tsm1数据中生成tsi1索引信息。
·help:显示帮助信息。
·export:导出数据。
·report:显示分片级别的数据信息。
·verify:验证TSM文件的完整性。
·verify-seriesfile:验证时序文件的完整性。
influx_stress是InfluxDB的压力测试工具,但从v1.2.0版本开始已经弃用,不再推荐使用,推荐使用influx-stress和influxdb-comparisons进行压测,相关链接如代码清单2-40所示。
代码清单2-40 influx-stress和influxdb-comparisons链接地址
influx-stress:https://github.com/influxdata/influx-stress influxdb-comparisons:https://github.com/influxdata/influxdb-comparisons
influx_tsm是InfluxDB的数据库格式转换工具,它可以将数据库从b1或bz1格式转换为tsm1格式,其中b1和bz1为InfluxDB 0.10之前版本支持的格式。influx_tsm命令的基本语法如代码清单2-41所示。
代码清单2-41 influx_tsm命令的基本语法
influx_tsm [options] <data-path>
influx_tsm命令支持以下选项:
·-backup string:备份文件的存放位置,但不能在当前数据的存储目录中备份。
·-dbs string:以逗号分隔的要转换的数据库列表,默认转换所有数据库的数据。
·-debug string:在给定的HTTP地址上开启debug功能。
·-interval duration:打印状态更新的频率,默认为5秒。
·-nobackup:禁用数据库备份(不推荐)。
·-parallel:启用并行转换。
·-profile string:CPU Profile文件的存储位置。
·-sz uint:单个TSM文件的大小(默认值为2147483648)。
·-y:不询问,直接转换。