InfluxDB部署和使用

  InfluxDB的安装方式非常简单,直接从官网下载rpm包后,安装就行

1
2
3
4
5
6
7
8
9
10
11
# influxdb时序数据库安装包
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.0.x86_64.rpm
 
# 采集和上报工具
wget https://dl.influxdata.com/telegraf/releases/telegraf-1.14.5-1.x86_64.rpm
 
# 图形化管理系统
wget https://dl.influxdata.com/chronograf/releases/chronograf-1.8.4.x86_64.rpm
 
# 实时数据分析和处理
wget https://dl.influxdata.com/kapacitor/releases/kapacitor-1.5.5-1.x86_64.rpm

  InfluxDB软件包提供的几个程序

1
2
3
4
5
influx:命令行工具
infulxd:服务器程序
influx_inspect:数据检查工具
influx_stress:压力测试工具
influx_tsm:数据库格式转换工具

  Influx命令参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# 显示程序版本
-version
# 指定要连接主机的地址/主机名
-host 'host name'
# 指定连接主机的端口号 
-port 'port #'
# 以socket方式连接influxdb
-socket 'unix domain socket'
# 指定要连接的数据库名
-database 'database name'
# 认证密码
-password 'password'
# 认证用户
-username 'username'
# 启用https连接
-ssl
# 当使用https连接到集群时,不使用ssl验证
-unsafeSsl
# 直接执行命令
-execute 'command'
# 指定调用REPL时使用的查询语言
-type 'influxql|flux'
# 指定服务器响应数据的格式
-format 'json|csv|column'
# 指定时间戳格式,支持rfc3339、h、m、s、ms、u、ns      
-precision 'rfc3339|h|m|s|ms|u|ns'
# 指定写入一致性级别
-consistency 'any|one|quorum|all'
# 以友好的方式显示JSON
-pretty
# 从之前的备份文件中还原备份数据
-import
# 设置数据导入时每秒允许导入多少条时序数据,默认0,不做限制
-pps
# 需要还原的备份文件存储路径
-path
# 设置为true时,表示支持导入压缩格式的备份文件
-compressed

  Influxd命令参数

1
2
3
4
5
6
7
8
9
10
11
12
# 数据备份
backup
#显示influxd的默认配置信息
config
#显示帮助信息
help
#还原之前通过backup命令备份的数据
restore
#运行程序,默认参数
run
#显示influxd的版本信息
version

  InfluxDB配置文件

  线上配置

  认证授权

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 开启认证需要在配置文件中开启
[http]
auth-enabled = true
 
# 创建管理员账户
> create user admin with password '123456' with all privileges
> show users
 
# 创建普通用户
> create user tony with password '1234556'
 
# 授权
# GRANT [READ,WRITE,ALL] [ON <DATABASE>] TO <USERNAME>
# 赋予读、写权限时必须指定数据库
# ALL表示所有权限,如果不指定数据库表示赋予超级管理员权限,如果指定数据库,表示赋予数据库的所有权限
# 赋予tony超级管理员权限
> GRANT ALL TO 'tony'
# 赋予tony对influx数据库的读权限
> GRANT READ ON 'influx' TO 'tony'
 
# 查看授权
> SHOW GRANTS FOR tony
 
# 取消授权
# REVOKE [READ,WRITE,ALL] [ON <DATABASE>] FROM <USERNAME>
# 取消tony的超级管理员权限
> REVOKE ALL FROM 'tony'
 
# 修改密码
> SET PASSWORD FRO 'tony' = '123456'
 
# 删除用户
> DROP USER 'tony'

  influxdb运行日志

systemctl方式启动的influxdb,运行日志是由journalctl接管,想要查看日志可以使用journalctl -u influxdb查看

https://docs.influxdata.com/influxdb/v1.8/troubleshooting/frequently-asked-questions/#where-can-i-find-influxdb-logs

   命令行执行SQL

1
2
3
4
5
6
7
8
#查询
$ influx -port 18086 -host 127.0.0.1 -username admin -password 123456 -database 'jiande' -execute 'SELECT * FROM machine_alert_log'
 
#插入
#what:表名
#machine_id,msg_code:带索引的键
#create_time,id,msg_value,serial_num:不带索引的键
$ influx -port 18086 -host 127.0.0.1 -username admin -password 123456 -database 'jiande' -execute 'insert what,machine_id=110,msg_code=yes create_time=1587214268123,id=666,msg_value=0,serial_num=0'

  备份恢复

1
2
3
4
5
6
7
8
9
10
11
# 备份 influxd backup
# -portable:在线备份
# -database:指定数据备份
# PATH:备份文件的目录
$ influxd backup -portable -database jiande /data/backup/
 
#恢复 influxd restore
# -portable:在线恢复
# -database:指定数据库
# PATH:恢复文件的目录
$ influxd restore -portable -database jiande /data/back/

  数据保留策略(注意:删除之前的保留策略会一并删除之前保留策略下的数据,如果不想删除之前的数据要使用alter修改策略)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# https://cloud.tencent.com/developer/article/1546922
# 查看数据库的保留策略
> show retention policies on telegraf
name    duration shardGroupDuration replicaN default
----    -------- ------------------ -------- -------
autogen 0s       168h0m0s           1        true
 
name 策略名称:默认autogen
duration 持续时间: 0s 代表无限制
shardGroupDuration shardGroup数据存储时间:shardGroup是InfluxDB的一个基本存储结构, 应该大于这个时间的数据在查询效率上应该有所降低。
replicaN 副本个数:1 代表只有一个副本
default 是否默认策略:true 代表设置为该数据库的默认策略
 
# 查看保留策略下的数据
> select * from "autogen".cpu limit 2;
 
# 新建一个策略
CREATE RETENTION POLICY "策略名称" ON 数据库名 DURATION 时长 REPLICATION 副本个数;
 
# 新建一个策略并且直接设置为默认策略
CREATE RETENTION POLICY "策略名称" ON 数据库名 DURATION 时长 REPLICATION 副本个数 DEFAULT;
> CREATE RETENTION POLICY "role_01" ON telegraf DURATION 1h REPLICATION 1 DEFAULT;
 
# 修改策略
ALTER RETENTION POLICY "策略名称" ON "数据库名" DURATION 时长 SHARD DURATION 时长
ALTER RETENTION POLICY "策略名称" ON "数据库名" DURATION 时长 SHARD DURATION 时长 DEFAULT
 
# 删除策略
drop retention POLICY "策略名" ON "数据库名"

  

  

  

  

  

  

 

posted @   ForLivetoLearn  阅读(2281)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
点击右上角即可分享
微信分享提示