InfluxDB部署

Stella981
• 阅读 770

InfluxDB介绍

官网:https://www.influxdata.com/

文档:https://docs.influxdata.com/influxdb/v1.2/introduction/

InfluxDB 是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。

主要特色功能

  • 基于时间序列(Time Series),支持与时间有关的相关函数(如最大,最小,求和等)
  • 可度量性(Metrics):你可以实时对大量数据进行计算
  • 基于事件(Eevents):它支持任意的事件数据

主要特点

  • 无结构(无模式):可以是任意数量的列
  • 可拓展的
  • 支持min, max, sum, count, mean, median 等一系列函数,方便统计
  • 原生的HTTP支持,内置HTTP API
  • 强大的类SQL语法
  • 自带管理界面,方便使用

InfluxDB部署

官网介绍:https://portal.influxdata.com/downloads

1

2

wget https: / / dl.influxdata.com / influxdb / releases / influxdb - 1.2 . 4.x86_64 .rpm

sudo yum localinstall influxdb - 1.2 . 4.x86_64 .rpm

启动服务 service influxdb start

非服务方式启动 influxd

/usr/bin下

  • influxd    influxdb服务器
  • influx      influxdb命令行客户端
  • influx_inspect  查看工具
  • influx_stress  压力测试工具
  • influx_tsm  数据库转换工具(将数据库从b1或bz1格式转换为tsm1格式)

/var/lib/influxdb/下

  • data  存放最终存储的数据,文件以.tsm结尾
  • meta  存放数据库元数据
  • wal  存放预写日志文件

/var/log/influxdb下

  • influxd.log  日志文件

/etc/influxdb下

  • influxdb.conf  配置文件

/var/run/influxdb/

  • influxd.pid  PID文件

InfluxDB web管理页面

配置/etc/influxdb/influxdb.conf

1

2

3

[admin]

enabled  =  true

bind - address  =  ":8083"

访问http://IP:8083/

InfluxDB部署

配置influxdb.conf

官方介绍:https://docs.influxdata.com/influxdb/v1.2/administration/config/

全局配置

1

2

reporting - disabled  =  false   # 该选项用于上报influxdb的使用信息给InfluxData公司,默认值为false

bind - address  =  ":8088"   # 备份恢复时使用,默认值为8088

1、meta相关配置

1

2

3

4

[meta]

dir  =  "/var/lib/influxdb/meta"   # meta数据存放目录

retention - autocreate  =  true   # 用于控制默认存储策略,数据库创建时,会自动生成autogen的存储策略,默认值:true

logging - enabled  =  true   # 是否开启meta日志,默认值:true

2、data相关配置

1

2

3

4

5

6

7

8

9

10

[data]

dir  =  "/var/lib/influxdb/data"   # 最终数据(TSM文件)存储目录

wal - dir  =  "/var/lib/influxdb/wal"   # 预写日志存储目录

query - log - enabled  =  true   # 是否开启tsm引擎查询日志,默认值: true

cache - max - memory - size  =  1048576000   # 用于限定shard最大值,大于该值时会拒绝写入,默认值:1000MB,单位:byte

cache - snapshot - memory - size  =  26214400   # 用于设置快照大小,大于该值时数据会刷新到tsm文件,默认值:25MB,单位:byte

cache - snapshot - write - cold - duration  =  "10m"   # tsm引擎 snapshot写盘延迟,默认值:10Minute

compact - full - write - cold - duration  =  "4h"   # tsm文件在压缩前可以存储的最大时间,默认值:4Hour

max - series - per - database  =  1000000   # 限制数据库的级数,该值为0时取消限制,默认值:1000000

max - values - per - tag  =  100000   # 一个tag最大的value数,0取消限制,默认值:100000

3、coordinator查询管理的配置选项

1

2

3

4

5

6

7

8

[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

4、retention旧数据的保留策略

1

2

3

[retention]

enabled  =  true   # 是否启用该模块,默认值 : true

check - interval  =  "30m"   # 检查时间间隔,默认值 :"30m"

5、shard-precreation分区预创建

1

2

3

4

[shard - precreation]

enabled  =  true   # 是否启用该模块,默认值 : true

check - interval  =  "10m"   # 检查时间间隔,默认值 :"10m"

advance - period  =  "30m"   # 预创建分区的最大提前时间,默认值 :"30m"

6、monitor 控制InfluxDB自有的监控系统。 默认情况下,InfluxDB把这些数据写入_internal 数据库,如果这个库不存在则自动创建。 _internal 库默认的retention策略是7天,如果你想使用一个自己的retention策略,需要自己创建。

1

2

3

4

[monitor]

store - enabled  =  true   # 是否启用该模块,默认值 :true

store - database  =  "_internal"   # 默认数据库:"_internal"

store - interval  =  "10s  # 统计间隔,默认值:" 10s "

7、admin web管理页面

1

2

3

4

5

[admin]

enabled  =  true   # 是否启用该模块,默认值 : false

bind - address  =  ":8083"   # 绑定地址,默认值 :":8083"

https - enabled  =  false   # 是否开启https ,默认值 :false

https - certificate  =  "/etc/ssl/influxdb.pem"   # https证书路径,默认值:"/etc/ssl/influxdb.pem"

8、http API

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

[http]

enabled  =  true   # 是否启用该模块,默认值 :true

bind - address  =  ":8086"   # 绑定地址,默认值:":8086"

auth - enabled  =  false   # 是否开启认证,默认值:false

realm  =  "InfluxDB"   # 配置JWT realm,默认值: "InfluxDB"

log - enabled  =  true   # 是否开启日志,默认值:true

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

pprof - enabled  =  true   # 是否开启pprof,默认值:true

https - enabled  =  false   # 是否开启https,默认值:false

https - certificate  =  "/etc/ssl/influxdb.pem"   # 设置https证书路径,默认值:"/etc/ssl/influxdb.pem"

https - private - key  =  ""   # 设置https私钥,无默认值

shared - secret  =  ""   # 用于JWT签名的共享密钥,无默认值

max - row - limit  =  0   # 配置查询返回最大行数,0无限制,默认值:0

max - connection - limit  =  0   # 配置最大连接数,0无限制,默认值:0

unix - socket - enabled  =  false   # 是否使用unix-socket,默认值:false

bind - socket  =  "/var/run/influxdb.sock"   # unix-socket路径,默认值:"/var/run/influxdb.sock"

9、subscriber 控制Kapacitor接受数据的配置

1

2

3

4

5

6

7

[subscriber]

enabled  =  true   # 是否启用该模块,默认值 :true

http - timeout  =  "30s"   # http超时时间,默认值:"30s"

insecure - skip - verify  =  false   # 是否允许不安全的证书

ca - certs  =  ""   # 设置CA证书

write - concurrency  =  40   # 设置并发数目,默认值:40

write - buffer - size  =  1000   # 设置buffer大小,默认值:1000

10、graphite 相关配置

1

2

3

4

5

6

7

8

9

10

11

12

[[graphite]]

enabled  =  false   # 是否启用该模块,默认值 :false

database  =  "graphite"   # 数据库名称,默认值:"graphite"

retention - policy  =  ""   # 存储策略,无默认值

bind - address  =  ":2003"   # 绑定地址,默认值:":2003"

protocol  =  "tcp"   # 协议,默认值:"tcp"

consistency - level  =  "one"   # 一致性级别,默认值:"one

batch - size  =  5000   # 批量size,默认值:5000

batch - pending  =  10   # 配置在内存中等待的batch数,默认值:10

batch - timeout  =  "1s"   # 超时时间,默认值:"1s"

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

separator  =  "."   # 多个measurement间的连接符,默认值: "."

11、collectd

1

2

3

4

5

6

7

8

9

10

11

[[collectd]]

enabled  =  false   # 是否启用该模块,默认值 :false

bind - address  =  ":25826"   # 绑定地址,默认值: ":25826"

database  =  "collectd"   # 数据库名称,默认值:"collectd"

retention - policy  =  ""   # 存储策略,无默认值

typesdb  =  "/usr/local/share/collectd"   # 路径,默认值:"/usr/share/collectd/types.db"

auth - file  =  "/etc/collectd/auth_file"

batch - size  =  5000

batch - pending  =  10

batch - timeout  =  "10s"

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

12、opentsdb

1

2

3

4

5

6

7

8

9

10

11

12

[[opentsdb]]

enabled  =  false   # 是否启用该模块,默认值:false

bind - address  =  ":4242"   # 绑定地址,默认值:":4242"

database  =  "opentsdb"   # 默认数据库:"opentsdb"

retention - policy  =  ""   # 存储策略,无默认值

consistency - level  =  "one"   # 一致性级别,默认值:"one"

tls - enabled  =  false   # 是否开启tls,默认值:false

certificate =  "/etc/ssl/influxdb.pem"   # 证书路径,默认值:"/etc/ssl/influxdb.pem"

log - point - errors  =  true   # 出错时是否记录日志,默认值:true

batch - size  =  1000

batch - pending  =  5

batch - timeout  =  "1s"

13、udp

1

2

3

4

5

6

7

8

9

[[udp]]

enabled  =  false   # 是否启用该模块,默认值:false

bind - address  =  ":8089"   # 绑定地址,默认值:":8089"

database  =  "udp"   # 数据库名称,默认值:"udp"

retention - policy  =  ""   # 存储策略,无默认值

batch - size  =  5000

batch - pending  =  10

batch - timeout  =  "1s"

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

14、continuous_queries

1

2

3

4

[continuous_queries]

enabled  =  true   # enabled 是否开启CQs,默认值:true

log - enabled  =  true   # 是否开启日志,默认值:true

run - interval  =  "1s"   # 时间间隔,默认值:"1s"

参考博文:http://www.cnblogs.com/MikeZhang/p/InfluxDBInstall20170206.html

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
3年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这