influxdb之简介与使用安装

influxdb之简介与使用安装1 安装 wget https dl influxdata com influxdb releases influxdb 1 8 3 x86 64 rpmsudo yum localinstall influxdb 1 8 3 x86 6

大家好,欢迎来到IT知识分享网。

1:安装

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.3.x86_64.rpm sudo yum localinstall influxdb-1.8.3.x86_64.rpm

按照后 配置文件在 /etc/influxdb/influxdb.conf

2:全局配置

reporting-disabled = false

该选项用于上报influxdb的使用信息给InfluxData公司,默认值为false,将此选项设置为true将禁用报告。

bind-address = “:8088”

备份恢复时使用,默认值为8088。

Metastore配置

[meta]

本部分控制InfluxDB metastore的参数,该metastore存储有关用户,数据库,保留策略,分片和连续查询的信息。

dir = “/var/lib/influxdb/meta”

meta数据存放目录。

retention-autocreate = true

用于控制默认存储策咯,数据库创建时,会自动生成autogen的存储策略,默认值:true。

logging-enabled = true

是否开启meta日志,默认值:true

Data配置

[data]

[data]设置控制InfluxDB的实际分片数据在何处以及如何从预写日志(WAL)中清除。 dir可能需要更改为适合您的系统的位置,但是WAL设置是高级配置。 默认值适用于大多数系统。

dir = “/var/lib/influxdb/data”

存储最终数据(TSM文件)的目录,此目录可能会更改。

index-version = “inmem”

用于新分片的分片索引的类型,默认inmem索引是在启动时重新创建的内存中索引。要启用基于时间序列(TSI)磁盘的索引,请将其值设置为tsi1。

wal-dir = “/var/lib/influxdb/wal”

预写日志(WAL)文件的存储目录。

wal-fsync-delay = “0s”

写入在fsyncing之前等待的时间。 持续时间大于0可用于批量处理多个fsync调用。 这对于较慢的磁盘或遇到WAL写入争用时很有用。 每次写入WAL时值为0s fsyncs。 对于非SSD磁盘,建议使用0-100ms范围内的值。

validate-keys = false

验证传入的写操作以确保密钥仅具有有效的unicode字符。 因为必须检查每个密钥, 所以此设置会产生少量的开销,默认值false。

query-log-enabled = true

是否开启tsm引擎查询日志,默认值: true。 查询日志对于故障排除很有用,但会记录查询中包含的所有敏感数据。

trace-logging-enabled = false

是否开启跟踪(trace)日志,默认值:false。

TSM引擎设置

cache-max-memory-size =

用于限定shard最大值,大于该值时会拒绝写入,默认值:1000MB,单位:byte。

cache-snapshot-memory-size = “25m”

用于设置快照大小,大于该值时数据会刷新到tsm文件,默认值:25MB,单位:byte。

cache-snapshot-write-cold-duration = “10m”

如果分片尚未收到写入或删除操作,则tsm引擎将对缓存进行快照(snapshot)并将其写入新的TSM文件的时间间隔,默认值:10Minute。

compact-full-write-cold-duration = “4h”

如果TSM引擎未收到写入或删除操作,则该时间间隔会将所有TSM文件压缩到一个分片中,默认值:4h。

max-concurrent-compactions = 0

可以一次运行的最大并发完全和级别压缩数。 默认值0导致50%的CPU内核在运行时用于压缩。 如果明确设置,则用于压缩的核数将限制为指定值。 此设置不适用于缓存快照,默认值:0。

compact-throughput = “48m”

是我们允许TSM压缩写入磁盘的速率限制(以字节/秒为单位)。 请注意,短脉冲串允许以可能更大的值发生,由Compact-Throughput-Burst设置,默认值:48m。

compact-throughput-burst = “48m”

是我们允许TSM压缩写入磁盘的速率限制(以每秒字节数为单位),默认值:48m。

tsm-use-madv-willneed = false

如果为true,则mmap advise值MADV_WILLNEED会就输入/输出页面调度向内核建议如何处理映射的内存区域。 由于此设置在某些内核(包括CentOS和RHEL)上存在问题,因此默认值为false。 将值更改为true可能会在某些情况下帮助磁盘速度较慢的用户。

In-memory(inmen)索引设置

max-series-per-database =

限制数据库的series数,该值为0时取消限制,默认值:。

max-values-per-tag =

一个tag最大的value数,该值为0时取消限制,默认值:。

TSI(tsi1)索引设置

max-index-log-file-size = “1m”

索引预写日志(WAL)文件压缩到索引文件中时的阈值(以字节为单位)。 较小的大小将导致日志文件更快地压缩,并导致较低的堆使用率,但会降低写入吞吐量。 更高的大小将更少压缩,在内存中存储更多序列,并提供更高的写入吞吐量。有效大小的后缀为k,m或g(不区分大小写,1024 = 1k)。没有大小后缀的值以字节为单位,默认值:1m。

series-id-set-cache-size = 100

TSI索引中用于存储先前计算的系列结果的内部缓存的大小。 高速缓存的结果将从高速缓存中快速返回,而不是在执行具有匹配的标签键值谓词的后续查询时需要重新计算。 将此值设置为0将禁用缓存,这可能会导致查询性能问题。 仅当已知数据库的所有度量中经常使用的标记键值谓词的集合大于100时,才应增加此值。高速缓存大小的增加可能会导致堆使用率的增加。

查询管理设置

[coordinator]

本部分包含查询管理的配置设置。

write-timeout = “10s”

写操作超时时间,默认值: 10s。

max-concurrent-queries = 0

最大并发查询数,0无限制,默认值: 0。

query-timeout = “0s”

查询操作超时时间,0无限制,默认值:0s。

log-queries-after = “0s”

慢查询超时时间,0无限制,默认值:0s

max-select-point = 0

select语句可以处理的最大点数(points),0无限制,默认值:0。

max-select-series = 0

SELECT语句可以处理的最大级数(series),0无限制,默认值:0

max-select-buckets = 0

select语句可以处理的最大”GROUP BY time()”的时间周期,0无限制,默认值:0。

保留策咯(Retention policy)设置

[retention]

[retention]设置用于控制淘汰旧数据的保留策略的执行。

enabled = true

是否启用该模块,默认值 : true,设置为false可以防止InfluxDB强制执行保留策略。

check-interval = “30m0s”

检查时间间隔,默认值 :“30m”。

分区预创建(Shard precreation)设置

[shard-precreation]

[shard-precreation]设置控制分片的增量,以便在数据到达之前可以使用分片。 只有在创建后将在未来具有开始时间和结束时间的分片才会被创建。 永远不会预先创建全部或部分过去的碎片。

enabled = true

是否启用该模块,默认值 : true。

check-interval = “10m”

检查时间间隔,默认值 :“10m”。

advance-period = “30m”

预创建分区的最大提前时间,默认值 :30m。

监控(Monitoring)设置

[monitor]

[monitor]部分的设置可控制InfluxDB系统的自我监视。

默认情况下,InfluxDB将数据写入_internal数据库。 如果该数据库不存在,InfluxDB会自动创建它。 _internal数据库上的DEFAULT保留策略为7天。 如果要使用7天保留策略以外的保留策略,则必须创建它。

store-enabled = true

是否启用该模块,默认值 :true。

store-database = “_internal”

默认数据库:”_internal”

store-interval = “10s”

统计间隔,默认值:”10s”

HTTP端点设置

[http]

[http]部分的设置控制InfluxDB如何配置HTTP端点。 这些是将数据传入和传出InfluxDB的主要机制。 编辑此部分中的设置以启用HTTPS和身份验证。

enabled = true

是否启用该模块,默认值 :true。

flux-enabled = false

是否启用流查询端点,默认值 :false。

flux-log-enabled = false

是否启用流查询日志。

bind-address = “:8086”

绑定地址,默认值:”:8086″。

auth-enabled = false

是否开启认证,默认值:false。

log-enabled = true

是否开启http请求日志,默认值:true。

suppress-write-log = false

在启用日志时是否应禁止HTTP写入请求日志,默认值:false。

write-tracing = false

是否开启写操作日志,如果置成true,每一次写操作都会打日志,默认值:false。

pprof-enabled = true

是否开启pprof,此端点用于故障排除和监视,默认值:true。

pprof-auth-enabled = false

是否在/debug端点上启用身份验证。

debug-pprof-enabled = false

启用默认的/ pprof端点并绑定到localhost:6060。 对于调试启动性能问题很有用。默认值:false。

ping-auth-enabled = false

在/ ping,/ metrics和已弃用的/ status端点上启用身份验证。 如果auth-enabled设置为false,则此设置无效。

https-enabled = false

确定是否启用HTTPS。 要启用HTTPS,请将值设置为true。

https-certificate = “/etc/ssl/influxdb.pem”

启用HTTPS时要使用的SSL证书文件的路径。

https-private-key = “”

设置https私钥,无默认值。

max-row-limit = 0

系统在非分块查询中可以返回的最大行数。 默认设置(0)允许无限制的行数。 如果查询结果超过指定的值,则InfluxDB在响应正文中包含一个“ partial”:true标记。

max-connection-limit = 0

一次可以打开的最大连接数。 超出限制的新连接将被删除。

默认值0禁用该限制。

shared-secret = “”

用于使用JWT令牌验证公共API请求的共享密钥。

realm = “InfluxDB”

发出基本身份验证质询时发送回的默认域,默认值: “InfluxDB”。

unix-socket-enabled = false

通过UNIX域套接字启用HTTP服务。 要通过UNIX域套接字启用HTTP服务,请将值设置为true。

bind-socket = “/var/run/influxdb.sock”

unix-socket路径,默认值:”/var/run/influxdb.sock”。

max-body-size =

客户端请求正文的最大大小(以字节为单位), 将此值设置为0将禁用该限制。默认值:。

access-log-path = “”

启用HTTP请求日志记录时,此选项指定应写入日志条目的路径。

max-concurrent-write-limit = 0

并发处理的最大写入次数,将此设置为0将禁用该限制。默认值:0。

max-enqueued-write-limit = 0

排队等待处理的最大写入次数。将此设置为0将禁用该限制。默认值:0。

enqueued-write-timeout = 0

写入等待队列中写入的最长持续时间。将此设置为0或将max-concurrent-write-limit设置为0将禁用该限制。默认值:0。

日志(Logging)设置

[logging]

控制记录器如何将日志发送到输出。

format = “auto”

确定用于日志的日志编码器。 可用选项包括auto,logfmt和json。 如果输出终端是TTY,则auto将使用更加用户友好的输出格式,但格式不易于机器读取。 当输出是非TTY时,auto将使用logfmt。默认值:“auto”。

level = “info”

确定将发出的日志级别。 可用的级别包括错误,警告,信息和调试。 将发出等于或高于指定级别的日志。默认值:“info”。

suppress-logo = false

禁止在程序启动时打印的徽标输出。 如果STDOUT不是TTY,则始终禁止使用徽标。默认值:false。

订阅(Subscription)设置

[subscriber]

[subscriber]部分控制Kapacitor如何接收数据。

enabled = true

是否启用该模块,默认值 :true。

http-timeout = “30s”

http超时时间,默认值:“30s”。

insecure-skip-verify = false

是否允许不安全的证书,当测试自己签发的证书时比较有用。默认值: false。

ca-certs = “”

设置CA证书,无默认值。

write-concurrency = 40

设置并发数目,默认值:40。

write-buffer-size = 1000

设置buffer大小,默认值:1000。

Graphite设置

enabled = false

是否启用该模块,默认值 :false。

bind-address = “:2003”

默认端口。

database = “graphite”

数据库名称,默认值:“graphite”。

retention-policy = “”

存储策略,无默认值。

consistency-level = “one”

一致性等级,默认值:“one”。

tls-enabled = false

是否开启tls,默认值:false。

certificate = “/etc/ssl/influxdb.pem”

证书路径,默认值:”/etc/ssl/influxdb.pem”。

batch-size = 1000

这些下一行控制批处理的工作方式。 您应该已启用此功能,否则您可能会丢失指标或性能不佳。 仅通过telnet协议接收的指标进行批处理。如果这么多点被缓冲,请刷新。默认值:1000。

batch-pending = 5

内存中可能挂起的批次数,默认值:5。

batch-timeout = “1s”

即使输入未达到配置的批量大小,输入也会至少刷新一次。默认值:“1s”。

log-point-errors = true

出错时是否记录日志,默认值:true。

UDP设置

[[udp]]

[[udp]]设置使用UDP控制InfluxDB线路协议数据的侦听器。

enabled = false

是否启用该模块,默认值:false。

bind-address = “:8089”

绑定地址,默认值:”:8089″。

database = “udp”

数据库名称,默认值:“udp”。

retention-policy = “”

存储策略,无默认值。

batch-size = 5000

接下来的行控制批处理的工作原理。 您应该已启用此功能,否则您可能会丢失指标或性能不佳。 如果有很多进入,批处理将缓冲内存中的点。如果这么多点被缓冲,则刷新,默认值:5000。

batch-pending = 10

如果这么多点被缓冲,请刷新,默认值:10。

read-buffer = 0

udp读取buffer的大小,0表示使用操作系统提供的值,如果超过操作系统的默认配置则会出错。 默认值:0。

batch-timeout = “1s”

即使输入未达到配置的批量大小,输入也会至少刷新一次。默认值:“1s”。

precision = “”

解码时间值时使用的时间精度。 默认值为纳秒,这是数据库的默认值。

连续查询(Continuous queries)设置

[continuous_queries]

[continuous_queries]设置控制InfluxDB中连续查询(CQ)的运行方式。 连续查询是在最近的时间间隔内执行的自动查询批次。 InfluxDB每个GROUP BY time()间隔执行一个自动生成的查询。

log-enabled = true

是否开启日志,默认值:true。

enabled = true

是否开启CQs,默认值:true。

query-stats-enabled = false

控制是否将查询记录到自我监视数据存储。默认值:false。

run-interval = “1s”

检查连续查询是否需要运行的时间间隔,默认值:“1s”。

[tls]

InfluxDB中TLS的全局配置设置。

min-version = “”

将协商的tls协议的最低版本。 如果未指定,则使用Go的crypto / tls包中的默认设置,默认值:“tls1.2”。

max-version = “”

将协商的tls协议的最大版本。 如果未指定,则使用Go的crypto / tls包中的默认设置,默认值:“tls1.2”。

3:启动等命令

状态:service influxdb status

启动:service influxdb start

关闭:service influxdb start

4:添加用户认证步骤

首先创建一个admin用户

以下语句都可以直接在InfluxDB的Web管理界面中调用:

# 显示用户 SHOW USERS # 创建用户 CREATE USER "username" WITH PASSWORD 'password' # 创建管理员权限的用户 CREATE USER <username> WITH PASSWORD '<password>' WITH ALL PRIVILEGES # 删除用户 DROP USER "username"

默认情况下,认证在配置文件是禁用的

需要在配置文件里把 [http] 下的 auth-enabled 选项设置为 true 。

vim /etc/influxdb/influxdb.conf
[http] enabled = true bind-address = ":8086" auth-enabled = true # ✨ log-enabled = true write-tracing = false pprof-enabled = false https-enabled = false https-certificate = "/etc/ssl/influxdb.pem"

重启进程

最后重启 influxd 即可。以后使用 influx 就需要username和password。

influx -username -password

5:基本命令

influx 启动influxdb客户端,如同mysql -u xxx功能

create database db1 创建数据库db1

show databases 查看数据库列表

use db1 使用数据库db1,是不是和mysql中功能类似

show measurements 查看measurement列表

drop database db1 删除数据库db1

drop measurement mt1 删除表mt1

delete from measurement [WHERE <tag_key> ]

drop shard <shard_id_num> 删除分片

select * from measurement_name [WHERE <tag_key> ] [limit xx] 查看数据

show series [on dbname] [from measurement] [WHERE <tag_key> ] [limit xx] 查看series信息

show tag keys [on dbname] [from measurement] [WHERE <tag_key> ] [limit xx] 查看tag keys信息

show field keys [on dbname] [from measurement] 查看field keys

6:cli 查询的时候 数据时间格式化 precision rfc3339

7:简易的客户端安装

https://github.com/CymaticLabs/InfluxDBStudio/releases/tag/v0.2.0-beta.1

8:进行查询的时候 时间区域 格式化等设置

SELECT * FROM "database" WHERE time > now() - 5m order by time desc tz('Asia/Shanghai') 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/164018.html

(0)
上一篇 2024-12-23 19:00
下一篇 2024-12-23 19:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信