大家好,欢迎来到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