解压软件包
tar -xf influxdb-1.7.7_linux_amd64.tar.gz
修改配置文件(可删除原文件,按照我下方复制)
[meta]
dir = "/opt/apps/influxdb/meta" #meta存放地址
[data]
dir = "/opt/apps/influxdb/data" #数据存放地址
wal-dir = "/opt/apps/influxdb/wal"
cache-max-memory-size = "200g"
max-series-per-database = 10000000
max-values-per-tag = 10000000
[coordinator]
write-timeout = "60s"
max-concurrent-queries = 0
query-timeout = "0s"
log-queries-after = "10s"
max-select-point = 0
max-select-series = 0
max-select-buckets = 0
[retention]
[shard-precreation]
[monitor]
[http]
enabled = true
bind-address = ":8086"
auth-enabled = true #关闭认证改成false
http-enabled = true
[ifql]
[logging]
[subscriber]
[[graphite]]
[[collectd]]
[[opentsdb]]
[[udp]]
[continuous_queries]
创建目录及调整
mv influxdb-1.7.7-1/ influxdb
mkdir /opt/apps/influxdb/meta
mkdir /opt/apps/influxdb/data
mkdir /opt/apps/influxdb/wal
启动influxdb
/opt/apps/influxdb/usr/bin/influxd -config /opt/apps/influxdb/etc/influxdb/influxdb.conf > /opt/apps/influxdb/influxdb.log 2>&1 &
创建数据库及账号
进入数据库:/opt/apps/influxdb/usr/bin/influx
创建数据库:create database telegraf
[root@bigdata3 apps]# /opt/apps/influxdb/usr/bin/influx
Connected to http://localhost:8086 version 1.7.7
InfluxDB shell version: 1.7.7
> show databases #查看数据库
name: databases
name
----
_internal
telegraf
> create database telegraf #创建数据库
> show databases
name: databases
name
----
_internal
telegraf
> create user "telegraf" with password 'telegraf' #创建用户
至此influxdb搭建完成
关于调优的心得:
influxdb在使用过程中需要注意调整增加influxdb的并发能力,并且控制数据的存放周期。对于上千台服务器的集群监控,如果存储到influxdb里,通过grafana界面查询时,会产生大量的线程去读取influxdb数据,很可能会遇到influxdb读写数据大量超时。
遇到这种情况,可以先查看副本存储策略:
[root@bigdata3 influxdb]# /opt/apps/influxdb/usr/bin/influx
Connected to http://localhost:8086 version 1.7.7
InfluxDB shell version: 1.7.7
> SHOW RETENTION POLICIES ON telegraf
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 0s 168h0m0s 1 true
>
duration:持续时间,0代表无限制
shardGroupDuration:shardGroup的存储时间,shardGroup是InfluxDB的一个基本储存结构,大于这个时间的数据在查询效率上有所降低。
replicaN:全称是REPLICATION,副本个数
default:是否是默认策略
修改副本存储的周期:
[root@bigdata3 influxdb]# /opt/apps/influxdb/usr/bin/influx
Connected to http://localhost:8086 version 1.7.7
InfluxDB shell version: 1.7.7
> SHOW RETENTION POLICIES ON telegraf
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 0s 168h0m0s 1 true
> ALTER RETENTION POLICY "autogen" ON "telegraf" DURATION 72h REPLICATION 1 SHARD DURATION 24h DEFAULT
> SHOW RETENTION POLICIES ON telegraf
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 72h0m0s 24h0m0s 1 true
>
由于influxdb开源版对于分布式支持不稳定,单机版的influxdb服务器对于上千台的服务器监控存在性能瓶颈(数据存储使用的普通sata盘,非ssd)。建议选择使用es 或 promethaus联邦来解决此问题。