InfluxDB是一个当下比较流行的时序数据库,InfluxDB使用 Go 语言编写,无需外部依赖,安装配置非常方便,适合构建大型分布式系统的监控系统。

一、InfluxDB 简介

InfluxDB 是用Go语言编写的一个开源分布式时序、事件和指标数据库,无需外部依赖。

类似的数据库有Elasticsearch、Graphite等。

1、与传统数据库中的名词做比较

influxDB中的名词 传统数据库中的概念
database 数据库
measurement 数据库中的表
points 表里面的一行数据

2、InfluxDB中独有的概念

1)Point

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

Point相当于传统数据库里的一行数据,如下表所示:

Point属性 传统数据库中的概念
time 每个数据记录时间,是数据库中的主索引(会自动生成)
fields 各种记录值(没有索引的属性)也就是记录的值:温度, 湿度
tags 各种有索引的属性:地区,海拔
2)series

所有在数据库中的数据,都需要通过图表来展示,而这个series表示这个表里面的数据,可以在图表上画成几条线:通过tags排列组合算出来。

如下所示:

>show series from cpu
key
cpu,cpu=cpu-total,host=ResourcePool--billing07
cpu,cpu=cpu-total,host=billing07
cpu,cpu=cpu0,host=ResourcePool--billing07
cpu,cpu=cpu0,host=billing07
cpu,cpu=cpu1,host=ResourcePool--billing07
cpu,cpu=cpu1,host=billing07
cpu,cpu=cpu10,host=ResourcePool--billing07
cpu,cpu=cpu10,host=billing07
cpu,cpu=cpu11,host=ResourcePool--billing07
cpu,cpu=cpu11,host=billing07
cpu,cpu=cpu12,host=ResourcePool--billing07
cpu,cpu=cpu12,host=billing07
cpu,cpu=cpu13,host=ResourcePool--billing07
cpu,cpu=cpu13,host=billing07
cpu,cpu=cpu14,host=ResourcePool--billing07
cpu,cpu=cpu14,host=billing07
cpu,cpu=cpu15,host=ResourcePool--billing07
cpu,cpu=cpu15,host=billing07
cpu,cpu=cpu16,host=ResourcePool--billing07
cpu,cpu=cpu17,host=ResourcePool--billing07
cpu,cpu=cpu18,host=ResourcePool--billing07
cpu,cpu=cpu19,host=ResourcePool--billing07
cpu,cpu=cpu2,host=ResourcePool--billing07
cpu,cpu=cpu2,host=billing07
cpu,cpu=cpu20,host=ResourcePool--billing07
cpu,cpu=cpu21,host=ResourcePool--billing07
cpu,cpu=cpu22,host=ResourcePool--billing07
cpu,cpu=cpu23,host=ResourcePool--billing07
cpu,cpu=cpu3,host=ResourcePool--billing07
cpu,cpu=cpu3,host=billing07
cpu,cpu=cpu4,host=ResourcePool--billing07
cpu,cpu=cpu4,host=billing07
cpu,cpu=cpu5,host=ResourcePool--billing07
cpu,cpu=cpu5,host=billing07
cpu,cpu=cpu6,host=ResourcePool--billing07
cpu,cpu=cpu6,host=billing07
cpu,cpu=cpu7,host=ResourcePool--billing07
cpu,cpu=cpu7,host=billing07
cpu,cpu=cpu8,host=ResourcePool--billing07
cpu,cpu=cpu8,host=billing07
cpu,cpu=cpu9,host=ResourcePool--billing07
cpu,cpu=cpu9,host=billing07

其主要特色功能

1)基于时间序列,支持与时间有关的相关函数(如最大,最小,求和等)

2)可度量性:你可以实时对大量数据进行计算

3)基于事件:它支持任意的事件数据

InfluxDB的主要特点

1)无结构(无模式):可以是任意数量的列

2)可拓展的

3)支持min, max, sum, count, mean, median 等一系列函数,方便统计

4)原生的HTTP支持,内置HTTP API

5)强大的类SQL语法

6)自带管理界面,方便使用

自带管理界面:

二、InfluxDB安装

RedHat & CentOS (64-bit)

wget https://dl.influxdata.com/influxdb/releases/influxdb-0.13.0.x86_64.rpm
sudo yum localinstall influxdb-0.13..x86_64.rpm
MD5: 286b6c18aa4ef37225ea6605a729b61d

三、InfluxDB启动

1)服务端启动

如果是通过包安装的,可以使用如下语句启动:

sudo service influxdb start

如果直接下载的二进制包,则通过如下方式启动

进入InfluxDB目录下的usr/bin文件夹,执行:

./influxd

即可。

这样就启动了服务端。

2)客户端

在usr/bin里使用influx即可登入Influx服务器。也可以将路径加入环境变量中,这样既可在任意地方使用influx。

InfluxDB自带web管理界面,在浏览器中输入 http://服务器IP:8083 即可进入web管理页面。

InfluxDB安装和简介的更多相关文章

  1. InfluxDB学习之InfluxDB的安装和简介

    最近用到了 InfluxDB,在此记录下学习过程,同时也希望能够帮助到其他学习的同学. 本文主要介绍InfluxDB的功能特点以及influxDB的安装过程.更多InfluxDB详细教程请看:Infl ...

  2. InfluxDB 安装以及使用

    InfluxDB InfluxDB简介: InfluxDB 是一个开源分布式时序.事件和指标数据库.使用Go语言编写,无需外部依赖.其设计目标是实现分布式和水平伸缩扩展.        它有三大特性: ...

  3. InfluxDB安装后web页面无法访问的解决方案

    本文属于<InfluxDB系列教程>文章系列,该系列共包括以下 16 部分: InfluxDB学习之InfluxDB的安装和简介 InfluxDB学习之InfluxDB的基本概念 Infl ...

  4. InfluxDB安装及配置

    这是我之前整理的InfluxDB安装及配置的笔记,这里记录下,也方便我以后查阅. 环境: CentOS6.5_x64 InfluxDB版本:1.1.0 一.安装 1.二进制安装 这里以centos6. ...

  5. 时序数据库InfluxDB安装及使用

    时序数据库InfluxDB安装及使用 1 安装配置 安装 wget https://dl.influxdata.com/influxdb/releases/influxdb-1.3.1.x86_64. ...

  6. [InfluxDB] 安装与配置

    [InfluxDB] 安装与配置 1- 下载 ubtuntu: wget https://dl.influxdata.com/influxdb/releases/influxdb_1.5.2_amd6 ...

  7. 第二百九十一节,RabbitMQ多设备消息队列-安装与简介

    RabbitMQ多设备消息队列-安装与简介 RabbitMQ简介 解释RabbitMQ,就不得不提到AMQP(Advanced Message Queuing Protocol)协议. AMQP协议是 ...

  8. (转)阿里 RocketMQ 安装与简介

    原文:阿里 RocketMQ 安装与简介 一.简介 官方简介: l  RocketMQ是一款分布式.队列模型的消息中间件,具有以下特点: l  能够保证严格的消息顺序 l  提供丰富的消息拉取模式 l ...

  9. [转帖]influxdb和boltDB简介——MVCC+B+树,Go写成,Bolt类似于LMDB,这个被认为是在现代kye/value存储中最好的,influxdb后端存储有LevelDB换成了BoltDB

    influxdb和boltDB简介——MVCC+B+树,Go写成,Bolt类似于LMDB,这个被认为是在现代kye/value存储中最好的,influxdb后端存储有LevelDB换成了BoltDB ...

随机推荐

  1. 两种语言实现设计模式(C++和Java)(二:单例模式)

    本篇介绍单例模式,可以说是使用场景最频繁的设计模式了.可以根据实例的生成时间,分为饿汉模式和懒汉模式 懒汉模式:饿了肯定要饥不择食.所以在单例类定义的时候就进行实例化. 饿汉模式:故名思义,不到万不得 ...

  2. 【python】带图片验证码的登录自动化实战

    近期在跟进新项目的时候,整体的业务线非常之长,会一直重复登录退出不同账号的这个流程,所以想从登录开始实现部分的自动化.因为是B/S的架构,所以采用的是selenium的框架来实现.大致实现步骤如下: ...

  3. TCP协议和UDP协议下的socket

    UDP协议的服务端和客户端: ##udp_服务端 import socket udp_server = socket.socket(type=socket.SOCK_DGRAM)#选择udp协议 ip ...

  4. 3.7 unittest之断言

    3.7 unittest之断言 前言在测试用例中,执行完测试用例后,最后一步是判断测试结果是pass还是fail,自动化测试脚本里面一般把这种生成测试结果的方法称为断言(assert).用unitte ...

  5. java clone()

    Java中对象的创建   clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象 ...

  6. Linux报错之ping: www.baidu.com: Name or service not known

    Linux报错之ping: www.baidu.com: Name or service not known 出现这个以后,首先去ping下主机Ip,发现能ping通,但是出现另一个问题Destina ...

  7. jupyter notebook添加虚拟环境

    原本以为,当进入虚拟环境之后,再运行jupyter notebook应该是这个环境下的jupyter,比如我默认创建一个文件,这个文件调用的编译器应该是这个虚拟环境中的编译器,实际上并不是 当你进入j ...

  8. Git入门(安装及基础命令行操作)

    一.安装 1.Mac 在Mac中安装Git的方法不止一种.最简单的要数通过Xcode命令行工具.对于Mavericks(10.9)或更高版本的操作系统,当你第一次尝试在终端执行git命令时,系统会自动 ...

  9. Python学习之路并发编程--信号量、事件、队列及生产消费模型

    1. 信号量 对于多进程来说,多个进程同时修改数据,就可能出现安全隐患,所以引入了锁,这一机制,但锁只能有一把来控制一个的开关,当你需要几把锁的时候,就可能用到信号量的概念.他是用了锁的原理,内置了一 ...

  10. Web测试常见问题点汇总

    UI测试 [目标] 确保用户可以访问产品所提供的浏览功能.符合企业或行业标准,包含用户易用性,友好性.可操作性等 [关注点] 菜单.对话框以及上边的文字.按钮.错误提示.帮助信息.图标.位置等. [常 ...