title: “[Kubernetes] Influxdb介绍”
catalog: true
date: 2017-08-13 10:50:57
type: “categories”
subtitle:
header-img:
tags:
- Kubernetes
catagories: - Kubernetes
1. InfluxDB简介
InfluxDB是一个当下比较流行的时序数据库,InfluxDB使用 Go 语言编写,无需外部依赖,安装配置非常方便,适合构建大型分布式系统的监控系统。
主要特色功能:
1)基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)
2)可度量性:你可以实时对大量数据进行计算
3)基于事件:它支持任意的事件数据
2. InfluxDB安装
1)安装
wget https://dl.influxdata.com/influxdb/releases/influxdb-0.13.0.x86_64.rpm
yum localinstall influxdb-0.13.0.armhf.rpm
2)启动
service influxdb start
3)访问
4)docker image方式安装
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
3. InfluxDB的基本概念
3.1. 与传统数据库中的名词做比较
influxDB中的名词 | 传统数据库中的概念 |
---|---|
database | 数据库 |
measurement | 数据库中的表 |
points | 表里面的一行数据 |
3.2. InfluxDB中独有的概念
3.2.1. Point
Point由时间戳(time)、数据(field)、标签(tags)组成。
Point相当于传统数据库里的一行数据,如下表所示:
Point属性 | 传统数据库中的概念 |
---|---|
time | 每个数据记录时间,是数据库中的主索引(会自动生成) |
fields | 各种记录值(没有索引的属性)也就是记录的值:温度, 湿度 |
tags | 各种有索引的属性:地区,海拔 |
3.2.2. series
所有在数据库中的数据,都需要通过图表来展示,而这个series表示这个表里面的数据,可以在图表上画成几条线:通过tags排列组合算出来
show series from cpu
4. InfluxDB的基本操作
InfluxDB提供三种操作方式:
1)客户端命令行方式
2)HTTP API接口
3)各语言API库
4.1. InfluxDB数据库操作
操作 | 命令 |
---|---|
显示数据库 | show databases |
创建数据库 | create database db_name |
删除数据库 | drop database db_name |
使用某个数据库 | use db_name |
4.2. InfluxDB数据表操作
操作 | 命令 | 说明 |
---|---|---|
显示所有表 | 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排列组合算出来 |