InfluxDB是一个当下比较流行的时序数据库,InfluxDB使用 Go 语言编写,无需外部依赖,安装配置非常方便,适合构建大型分布式系统的监控系统。
一、InfluxDB 简介
InfluxDB 是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。
类似的数据库有Elasticsearch、Graphite等。
其主要特色功能
1)基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)
2)可度量性:你可以实时对大量数据进行计算
3)基于事件:它支持任意的事件数据
InfluxDB的主要特点
1)无结构(无模式):可以是任意数量的列
2)可拓展的
3)支持min, max, sum, count, mean, median 等一系列函数,方便统计
4)原生的HTTP支持,内置HTTP API
5)强大的类SQL语法
6)自带管理界面,方便使用
自带管理界面:
二、InfluxDB安装
1.下载压缩包文件
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.4_linux_amd64.tar.gz
2.解压到当前文件夹
tar xvf influxdb-1.8.4_linux_amd64.tar.gz
3.进入启动项目录
cd influxdb-1.8.4-1/usr/bin/
4.启动
nohup ./influxd
默认端口是8086和8088
在线安装其他版本参考InfluxDB学习之InfluxDB的安装和简介
三、InfluxDB设置用户和密码
#进入命令行
cd influxdb-1.8.4-1/usr/bin/
./influx
#查看所有用户
show users;
显示如下
user admin
证明没有密码即可登录
现在需要去配置文件influxdb.conf中,将auth-enabled项设置为true,在重启服务之前添加几个用户,并对其进行授权。
进入配置文件
cd influxdb-1.8.4-1/etc/influxdb
打开influxdb.conf
vi influxdb.conf
#在influxdb.conf中
[http]
auth-enabled=true
再次进入./influx
#添加一个管理员用户
create user "root" with password 'root' with all privileges
#添加一个非管理员用户只赋read权
create user "abcuser" with password 'mypassword'
grant write on "mydb" to "abcuser"
#查看abcuser的权限
show grants for mydb
#查看所有用户
SHOW USERS;
user admin
---- -----
root true
abcuser false
退出
exit
重启
#influxdb中使用用户名密码登录
influx -username root -password mypassword