[实践OK]InfluxDB基本安装、概念和操作

jackxiang 2019-12-30 16:22 | |
yum localinstall influxdb-1.7.9.x86_64.rpm -y
vim /etc/influxdb/influxdb.conf

systemctl start influxdb
netstat -nlpt
ps -ef | grep influxdb
netstat -nlpt

influx -precision rfc3339 # connect to http://localhost:8086: Get http://localhost:8086/ping: dial tcp 127.0.0.1:8086: connect
influx -precision rfc3339
Connected to http://localhost:8086 version 1.7.9
InfluxDB shell version: 1.7.9

显示数据库
show databases

新建数据库
create database jidan

删除数据库
drop database jidan

使用指定数据库
use jidan

2、InfluxDB数据表操作
在InfluxDB当中,并没有表(table)这个概念,取而代之的是MEASUREMENTS,MEASUREMENTS的功能与传统数据库中的表一致,因此我们也可以将MEASUREMENTS称为InfluxDB中的表。

显示所有表
SHOW MEASUREMENTS
新建表
InfluxDB中没有显式的新建表的语句,只能通过insert数据的方式来建立新表。

insert jidanwendu,hostname=jidanindex value=442221834240i
其中 jidanwendu 就是表名,hostname是索引(tag),value=xx是记录值(field),记录值可以有多个,系统自带追加时间戳
> use jidan
Using database jidan
> insert jidanwendu,hostname=jidanindex value=442221834240i
>多个记录值:https://www.cnblogs.com/bonelee/p/6811728.html

> use jidan
Using database jidan
> INSERT jidanwendu,host=serverA,region=us_west value=0.64

或者添加数据时,自己写入时间戳
insert jidanwendu,hostname=jidanindex value=442221834240i 1435362189575692182


删除表
drop measurement jidanwendu

3、数据保存策略(Retention Policies)

influxDB是没有提供直接删除数据记录的方法,但是提供数据保存策略,主要用于指定数据保留时间,超过指定时间,就删除这部分数据。

查看当前数据库Retention Policies
show retention policies on "db_name"

创建新的Retention Policies
create retention policy "rp_name" on "jidan" duration 3w replication 1 default
rp_name:策略名;
db_name:具体的数据库名;
3w:保存3周,3周之前的数据将被删除,influxdb具有各种事件参数,比如:h(小时),d(天),w(星期);
replication 1:副本个数,一般为1就可以了;
default:设置为默认策略
修改Retention Policies
alter retention policy "rp_name" on "jidan" duration 30d default
删除Retention Policies
drop retention policy "rp_name" on "jidan"
> create retention policy "rp_name" on "jidan" duration 3w replication 1 default
> alter retention policy "rp_name" on "jidan" duration 30d default
> drop retention policy "rp_name" on "jidan"

4、连续查询(Continuous Queries)
InfluxDB的连续查询是在数据库中自动定时启动的一组语句,语句中必须包含 SELECT 关键词和 GROUP BY time() 关键词。

InfluxDB会将查询结果放在指定的数据表中。
目的:使用连续查询是最优的降低采样率的方式,连续查询和存储策略搭配使用将会大大降低InfluxDB的系统占用量。而且使用连续查询后,数据会存放到指定的数据表中,这样就为以后统计不同精度的数据提供了方便。

新建连续查询
CREATE CONTINUOUS QUERY <cq_name> ON <database_name>
[RESAMPLE [EVERY <interval>] [FOR <interval>]]
BEGIN SELECT <function>(<stuff>)[,<function>(<stuff>)] INTO <different_measurement>
FROM <current_measurement> [WHERE <stuff>] GROUP BY time(<interval>)[,<stuff>]
END
样例:
CREATE CONTINUOUS QUERY rp_name ON jidan BEGIN SELECT mean(connected_clients), MEDIAN(connected_clients), MAX(connected_clients), MIN(connected_clients) INTO redis_clients_30m FROM redis_clients GROUP BY ip,port,time(30m) END
在jidan库中新建了一个名为 wj_30m 的连续查询,每三十分钟取一个connected_clients字段的平均值、中位值、最大值、最小值 redis_clients_30m 表中。使用的数据保留策略都是 default。

不同database样例:
CREATE CONTINUOUS QUERY rp_name ON jidan BEGIN SELECT mean(connected_clients), MEDIAN(connected_clients), MAX(connected_clients), MIN(connected_clients) INTO jidan_30.autogen.redis_clients_30m FROM jidan.autogen.redis_clients GROUP BY ip,port,time(30m) END
实践:
> CREATE CONTINUOUS QUERY rp_name ON jidan BEGIN SELECT mean(connected_clients), MEDIAN(connected_clients), MAX(connected_clients), MIN(connected_clients) INTO redis_clients_30m FROM redis_clients GROUP BY ip,port,time(30m) END
ERR: retention policy not found: jidan.rp_name  #刚删了策略
> create retention policy "rp_name" on "jidan" duration 3w replication 1 default
> CREATE CONTINUOUS QUERY rp_name ON jidan BEGIN SELECT mean(connected_clients), MEDIAN(connected_clients), MAX(connected_clients), MIN(connected_clients) INTO redis_clients_30m FROM redis_clients GROUP BY ip,port,time(30m) END

显示所有已存在的连续查询
SHOW CONTINUOUS QUERIES


删除Continuous Queries
DROP CONTINUOUS QUERY <cq_name> ON <database_name>

将influxdb中的所有的数据库都备份下来,不加任何的参数
influxd backup -portable /tmp/data/total

更多查询条件:https://www.jianshu.com/p/a1344ca86e9b
来自:https://www.cnblogs.com/shhnwangjian/p/6897216.html?utm_source=itdadao&utm_medium=referral
PHP调用查询:https://blog.csdn.net/weixin_41621706/article/details/100630332

作者:jackxiang@向东博客 专注WEB应用 构架之美 --- 构架之美,在于尽态极妍 | 应用之美,在于药到病除
地址:http://jackxiang.com/post/10386/
版权所有。转载时必须以链接形式注明作者和原始出处及本声明!


最后编辑: jackxiang 编辑于2019-12-30 17:09
评论列表
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]