InfluxDB(一)简介,安装及基础使用
1.官网地址:https://portal.influxdata.com/downloads/#influxdb
2.相关软件介绍
(1)telegraf
一个用Go语言编写的代理程序,可收集系统和服务的统计数据,并写入到influxdb数据库,内存占用小,通过插件系统可轻松添加支持其他服务的扩展。
(2)InfluxDB是一个开源的分布式时序、时间和指标数据库,使用GO语言编写,无需外部依赖,特性:
a.给予时间序列,支持与时间有关的相关函数
b.可度量性,可以实时对大量数据进行计算
c.基于事件,它支持任意的事件数据;
3.使用Telegraf和influxdb的好处
(1)在数据采集和平台监控系统中,Telegraf可以采集多种组件的运行信息,而不需要自己手写脚本定时采集,降低数据获取的难度;
(2)Telegraf配置简单,只要有基本的Linux基础即可快速上手;
(3)Telegraf按照时间序列采集数据,数据结构中包含时序信息,influxdb就是为此类数据设计而来,使用Influxdb可以针采集得到的数据完成各种分析计算操作;
4.Telegraf安装及数据收集
(1)rpm包方式安装
wget https://dl.influxdata.com/telegraf/releases/telegraf-1.13.4-1.x86_64.rpm
(2)源码包方式编译安装
wget https://dl.influxdata.com/telegraf/releases/telegraf-1.13.4_linux_amd64.tar.gz
(3)启动telegraf
systemctl start telegraf
5.修改配置文件
vim /etc/telegraf/telegraf.conf
[[outputs.influxdb]]
urls = ["http://localhost:8086"] # required
database = "telegraf" # required
retention_policy = ""
precision = "s"
timeout = "5s"
username = "telegraf"
password = "password"
6.influxdb数据库安装
(1) rpm包方式安装
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.10.x86_64.rpm
(2) 源码包方式安装
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.10_linux_amd64.tar.gz
7.启动influxdb数据库
systemctl start influxdb
8.浏览器登陆influxdb数据库的方式:
IP+8083端口号,即可
在查询框中输入查询语句查询需要的信息
9.influxdb概念
database 数据库
measurement 数据库中的表
points 表里面的一行数据
独有的概念:
time 时间戳,每条数据记录的时间,也是数据库自动生成的主索引
fields 记录的值,四种数据类型:int、float、string、boolean
tags 带有索引的属性
series 表示此表里面的所有数据可以在图标上画成几条线
10.使用influxdb,以创建数据库test为例
输入influx进入influxdb数据库
创建用户:
> create user "test_user" with password ‘test_password‘
查看用户:
>show users;
创建数据库:
> create database test
查看数据库:
> show databases
使用数据库:
> use test
删除数据库:
> drop database test
查看此数据库拥有的表:
> show measurements
influxdb数据库没有显式的新建表的语句,只能通过insert数据的方式建立新表:
> insert test_mea,host=192.168.147.128,hostname=localhost value=value1,value2=value2,value3=value3,value4=value4
# 说明 test_mea:为表名;host:是索引(tag);value=后面是值,可以跟多个。时间戳系统自带
查看索引:
> show tag keys from test_mea;
查看记录:
> show field keys from test_mea;
查看插入的数据:
> select * from test_mea;
退出influxdb:
> exit