支持两种原生的操作模式:
上一篇讲过influx命令行的含义和基本用法。这里用几个示例演示。



RESTful风格的接口,返回JSON格式的响应数据,并支持身份认证、JWT令牌、丰富的HTTP响应代码等。 influxDB API接口及接口的定义描述如下图所示:


写操作支持简明的行协议,行协议是一种基于文本格式的协议。
行协议的单行文本表示一条时序数据,由表、标签集、指标集和时间戳4部分组成,行协议的基本语法如下所示:

timestamp,可选参数,纳秒级精度的时间戳,如果没有该参数,InfluxDB将采用数据写入时间为时间戳

//cpu_usage是表明,host、region是tag,value、name是值,最后是时间戳 insert cpu_usage,host=server01,region=ch value=2,name=zhongguo 1592906727717942736
行协议中,不同的字段支持不通的数据类型

行协议中一些字段对特殊符号较敏感,当需要使用这些敏感符号作为字段的一部分时,需要在前面加\进行转义处理。

需避免在表明和字段名中使用InfluxDB的保留字。

注意 1.关键字time是一个特殊的保留字,time不可以用作标签键和指标键的命名。但可以用作其他命名,如表的命名、保留策略的命名 2.除了时间戳字段外,其他字段都是大小写敏感的
写入数据前,先指定数据库 : use 数据库名
实际应用中,我们也是通过API写入的。写入语法如下:

其中,line_protocol_expression表示行协议格式的时序数据,每条时序数据之间使用换行分隔符。


InfluxDB支持两种方式导入InfluxDB API导入和influx-import导入
支持导入内容为行协议格式时序数据的文本文件。



功能更丰富。


当数据量较大时,每插入100000条数据会输出一次执行状态日志。 使用-compressed参数可以导入gz压缩文件中的时序数据。
支持类sql的语法进行数据查询,简称influxQL。 支持SELECT语句、GROUP BY语句、INTO语句、正则表达式、SHOW语句、数据库管理语句、保留策略管理语句、DROP语句、持续查询、丰富的函数和数据运算符等。

其中,<field_key>和<measurement_name>是必须的,其它部分为可选。<field_key>[,<field_key>,<tag_key>]表示指定查询结果展现的字段:










在cpu_usage中过滤主机名为server1的时序数据


根据用户指定的标签或者时间间隔对查询结果数据进行分组。





对结果集进行排序,排序方式包括时间升序和时间降序




返回指定查询的前N个时间序列线中的时序数据,一般与GROUP BY搭配使用。 SLIMET是对分组个数进行限制,LIMIT是对记录数进行限制。


类似于分页功能。

对分组进行分页啦。
作为时序数据库, 支持丰富的时间计算、时间查询、时间分组等操作。 时间语法支持绝对时间和相对时间。
可以通过rfc3339时间字符串或Epoch时间来指定绝对时间。 rfc3339时间字符串如下:

其中,.nnnnnnnnnZ为可选,默认为000000000 简化版rfc3339时间字符串如下:




infludDB支持的时间单位有:
可以通过now()函数实现相对当前服务器本地时间的数据查询,now()函数以当前服务器本地时间作为值,使用+ -等操作符获取指定时间间隔的当前绝对时间



select查询语句<database> <field_key> <measurement> <retension_policy> <tag_key>中以下情况要加双引号
'+' 、'-'、 '*'、 '/'、 '%' 在select等语句中,指标值和WHERE条件语句支持以上数学运算。


通过”内存使用量/内存使用率=总内存“可以只到两台服务器都是8G内存
与 或 异或 & 按位与 | 按位或 ^ 按位异或 select value&10 from cpu
包括聚合函数和选择函数。
聚合函数

select count(distinct(value)) from cpu_usage select mean(value) from cpu_usage where host='server01'





InfluxDB API接口是生产环境中常用的查询方式,通过发送一个GET请求/query路径,并设置URL的db参数为目标数据库,设置URL参数q为查询语句







来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946831/viewspace-3135518/ ,如需转载,请注明出处,否则将追究法律责任。