influxdb是一款开源的时序数据库,可以用作监控系统的数据存储或用来存储基于时序进行分析的业务系统的数据存储。

influxdb的部署及使用均比较简单,但是集群(官方版集群已闭源)及高可用方案较少,所以后续测试完几种方案后再推送给大家参考。

1、 安装

在官网选择对应版本的库进行安装,例如当前最新文档版本为1.8,部署在centos7上

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.0.x86_64.rpm
sudo yum localinstall influxdb-1.8..x86_64.rpm

2、 配置修改

因为监控的数据量一般会比较大,所以相关数据的目录要调整至空间最大的目录。

安装后默认的配置文件在/etc/influxdb/influxdb.conf

...

[meta]
dir = "/data/influxdb/meta"
... ... [data]
dir = "/data/influxdb/data"
...
wal-dir = "/data/influxdb/wal"
... ... [hinted-handoff]
...
dir = "/data/influxdbhh"
...

配置方面踩坑经验:

max-row-limit不为0,会导致influxdb OOM,配置时设置为0

查询限制参数不要修改,使用默认配置,否则会出现各种奇葩问题

写入超时时间默认是10s,需要按需调大

3、 主要的一些概念

Database

数据库是个逻辑容器,包含了measurement、retention policies、continuous queries、time series data,类似于mysql的database。

Measurement

描述了相关数据的存储结构,类似于mysql的table,但是不需要创建,写入数据的时候自动创建。关于schema的设计建议参考:设计建议。

Timestamp

格式是:RFC3339 UTC。默认精确到纳秒,可选。

Series

measurement, tag set, retention policy相同的数据集合算做一个 series。 这些数据存储在内存中,如果series太多,会导致OOM。

Retention Policy

保留策略包括设置数据保存的时间以及在集群中的副本个数。默认配置是:RP是autogen,保留时间是永久,副本为1。这些配置在创建数据库时可以修改。

Continuous Query

CQ是预先配置好的一些查询命令,定期自动执行这些命令并将查询结果写入指定的measurement中,这个功能主要用于数据聚合。

Shard

存储一定时间间隔的数据,每个目录对应一个shard,目录的名字就是shard id。每一个shard都有自己的cache、wal、tsm file以及compactor,目的就是通过时间来快速定位到要查询数据的相关资源,加速查询的过程,并且也让之后的批量删除数据的操作变得非常简单且高效。

(参考 饿了么Influxdb实践之路)

4、 结语

influxdb的部署是非常简单的,本文的主要目的是推出influxdb,让更多的小伙伴多一种可选的数据库;

之前我们也介绍过prometheus(prometheus监控)来做监控,小伙伴们也可以将底层修改为influxdb进行存储;

influxdb的时间精度更高(influxdbs精确到纳秒,prometheus精确到微秒);

熟悉SQL的同学也可以比较快的上手influxdb,因其有类SQL。

大家有什么问题欢迎多多交流。

influxdb 安装的更多相关文章

  1. InfluxDB安装及配置

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

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

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

  3. InfluxDB安装和简介

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

  4. [InfluxDB] 安装与配置

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

  5. InfluxDB 安装以及使用

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

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

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

  7. windows版influxDB安装与配置

    一.下载链接https://portal.influxdata.com/downloads,选windows版 二.解压到安装盘,目录如下 三.修改conf文件,代码如下,直接复制粘贴(1.4.2版本 ...

  8. Influxdb安装部署

    1.下载Influxdb并解压 2.下载上图中的nssm(辅助性工具) 3.  在安装目录执行cmd 输入 nssm install influxdb,其中Path选择安装文件中的influxd,Ar ...

  9. TICK技术栈(三)InfluxDB安装及使用

    1.什么是InfluxDB? InfluxDB是一个用Go语言开发的时序数据库,用于处理高写入和查询负载,专门为带时间戳的数据编写,对DevOps监控,IoT监控和实时分析等应用场景非常有用.通过自定 ...

  10. influxdb安装和学习

    安装 https://docs.docker.com/samples/library/influxdb/ 先启动,创建admin用户 docker run -d --name influxdb -p ...

随机推荐

  1. LVS的部署、案例、以及常见问题

    LVS的部署.案例.以及常见问题 原创chenhuyang 最后发布于2018-06-03 16:18:25 阅读数 1560 收藏 展开 一.LVS的部署 LVS现在已经集成在linux内核模块中, ...

  2. 作为 attribute 和 property 的 value 及 Vue.js 的相关处理

    attribute 和 property 是 Web 开发中,比较容易混淆的概念,而对于 value,因其特殊性,更易困惑,本文尝试做一下梳理和例证 attribute 和 property 的概念 ...

  3. 三层架构之UI层

    之前已经发表了BLL,DAL,MODEL,三个层的源码 继续UI层: 先简单实现用户的登录及注册 高级操作可按照上一篇文章进行源码完善 如图所示↑ UI层目录文件 Reg.aspx 进行注册操作  & ...

  4. Oracle创建函数例子

    编写一个函数计算学生某一门课程在班级内的排名. 表结构如下: create or replace function fun_score_rank( p_in_stuid in number,--学号 ...

  5. Spring的jdbcTemplate操作

    Spring的jdbcTemplate操作 dao层,使用jdbcTemplate Spring对不同的持久化层技术的支持,都进行了封装 JDBC Hibernate5.0 MyBatis JPA 相 ...

  6. Module Error (/index.js): error: 'HelloWorld' is defined but never used (no-unused-vars) at src\views\A.vue:9:8:

    原因:

  7. 经常登录Linux,用户密码背后的知识了解一下

    一,用户密码存放在哪里? 说到这个问题,绝大部分的同学肯定都知道/etc/passwd这个文件,不错,这个文件里存储的就是用户名,密码等信息. 每一行都是一个account,每一行有7个信息,分别用 ...

  8. Linux基础管理篇,软件管理程序,yum与rpm

    一.RPM 一般来说,rpm类型的文件在安装的时候,会检测当前的系统是否满足当前软件需要的环境.若符合,则该软件就会被安装,并且会把软件的相关信息写入/var/lib/rpm/目录下的数据库文件中. ...

  9. mysql截取函数常用方法 即mysql 字符串 截取-- - 最后带上java字符串截取规则比较

    常用的mysql截取函数有:left(), right(), substring(), substring_index() 下面来一一说明一下: 1.左截取left(str, length) 说明:l ...

  10. 010-字符串-C语言笔记

    010-字符串-C语言笔记 学习目标 1.[掌握]二维数组的声明和初始化 2.[掌握]遍历二维数组 3.[掌握]二维数组在内存中的存储 4.[掌握]二维数组与函数 5.[掌握]字符串 一.二维数组的声 ...