title | catalog | date | type | subtitle | header-img | tags | catagories | ||
---|---|---|---|---|---|---|---|---|---|
[Kubernetes] Influxdb介绍 |
true |
2017-08-13 03:50:57 -0700 |
categories |
|
|
InfluxDB是一个当下比较流行的时序数据库,InfluxDB使用 Go 语言编写,无需外部依赖,安装配置非常方便,适合构建大型分布式系统的监控系统。
主要特色功能:
1)基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)
2)可度量性:你可以实时对大量数据进行计算
3)基于事件:它支持任意的事件数据
wget https://dl.influxdata.com/influxdb/releases/influxdb-0.13.0.x86_64.rpm
yum localinstall influxdb-0.13.0.armhf.rpm
service influxdb start
docker pull influxdb
docker run -d -p 8083:8083 -p 8086:8086 --expose 8090 --expose 8099 --volume=/opt/data/influxdb:/data --name influxsrv influxdb:latest
influxDB中的名词 | 传统数据库中的概念 |
---|---|
database | 数据库 |
measurement | 数据库中的表 |
points | 表里面的一行数据 |
Point由时间戳(time)、数据(field)、标签(tags)组成。
Point相当于传统数据库里的一行数据,如下表所示:
Point属性 | 传统数据库中的概念 |
---|---|
time | 每个数据记录时间,是数据库中的主索引(会自动生成) |
fields | 各种记录值(没有索引的属性)也就是记录的值:温度, 湿度 |
tags | 各种有索引的属性:地区,海拔 |
所有在数据库中的数据,都需要通过图表来展示,而这个series表示这个表里面的数据,可以在图表上画成几条线:通过tags排列组合算出来
show series from cpu
InfluxDB提供三种操作方式:
1)客户端命令行方式
2)HTTP API接口
3)各语言API库
操作 | 命令 |
---|---|
显示数据库 | show databases |
创建数据库 | create database db_name |
删除数据库 | drop database db_name |
使用某个数据库 | use db_name |
操作 | 命令 | 说明 |
---|---|---|
显示所有表 | SHOW MEASUREMENTS | |
创建数据表 | insert table_name ,hostname=server01 value=442221834240i 1435362189575692182 |
其中 disk_free 就是表名,hostname是索引,value=xx是记录值,记录值可以有多个,最后是指定的时间 |
删除数据表 | drop measurement table_name |
|
查看表内容 | select * from table_name |
|
查看series | show series from table_name |
series表示这个表里面的数据,可以在图表上画成几条线,series主要通过tags排列组合算出来 |