什么是InfluxDB?

InfluxDB 是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。

它有三大特性:

  • Time Series (时间序列): 你可以使用与时间有关的相关函数(如最大,最小,求和等)
  • Metrics(度量):你可以实时对大量数据进行计算

  • Eevents(事件):它支持任意的事件数据

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

如何安装InfluxDB?

系统环境:CentOS Linux release 7.3.1611 (Core)

1
2
3
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.2.4.x86_64.rpm
sudo yum localinstall influxdb-1.2.4.x86_64.rpm
sudo systemctl start influxdb

官网下载连接:https://portal.influxdata.com/downloads

简单介绍InfluxDB用法

默认开启WEB访问界面地址为IP:8083,默认登录账号和密码为root/root

Linux字符进入直接输入influx

influxDB名词

  • database: 数据库;
  • measurement: 数据库中的表;
  • points: 表里面的一行数据。

influxDB中独有的一些概念

Point由时间戳(time)、数据(field)和标签(tags)组成。

  • time: 每条数据记录的时间,也是数据库自动生成的主索引;
  • fields: 各记录的值;
  • tags: 各种有索引的属性。

新增数据库

1
2
CREATE DATABASE "db_name"
SHOW DATABASES #显示所有数据库

进入数据库

1
2
3
USE "db_name"
# 显示该数据库中所有的表
show measurements

创建表,直接在插入数据的时候指定表名

1
2
3
4
5
6
> insert test-measurements,host=127.0.0.1,monitor_name=test count=1
> SHOW MEASUREMENTS
name: measurements
------------------
name
test-measurements

删除表

1
drop measurement "measurement_name"

通过API插入数据

1
curl -i -XPOST -u username:password "http://192.168.162.113:8086/write?db=test" --data-binary 'test-measurements  value=120'

注意是否存在test数据库,没有则新增

查询语法

1
SELECT <field_key>[,<field_key>,<tag_key>] FROM <measurement_name>[,<measurement_name>]

官方文档:https://docs.influxdata.com/influxdb/v1.0/query_language/data_exploration/?spm=5176.100239.blogcont61915.11.R6KaBi

结合Grafana

官网介绍:

安装下载Grafana

下载链接:https://github.com/grafana/grafana/releases
或者直接使用rpm安装:

1
2
3
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.4.1-1.x86_64.rpm
yum install initscripts fontconfig
yum localinstall grafana-4.4.1-1.x86_64.rpm\

1
2
3
4
5
systemctl daemon-reload
systemctl start grafana-server
systemctl status grafana-server
netstat -ntlp|grep 3000
lsof -i:3000

简单配置Grafana

官方文档:http://docs.grafana.org/features/datasources/influxdb/

安装后登陆地址为:http://IP:3000/login,默认账号和密码都是admin


Comments

2019-02-17