InfluxDB是一个由InfluxData开发的开源时序型数据。它由Go写成,着力于高性能地查询与存储时序型数据。InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。

安装下载

官网界面打开js报错,所以点击下载没有什么效果,后来在网上查了下在网页中其实已经暴露出来了,需要用chrome浏览器开发者模式,搜索windows,找到influxdb,后面我要下载Chronograf也是采取了同样的办法。

点击链接可以下载

influxdb-1.7.10_windows_amd64.zip

chronograf-1.8.0_windows_amd64.zip

kapacitor-1.5.5_windows_amd64.zip

telegraf-1.14.2_windows_amd64.zip

解压到安装盘

略过配图

修改配置文件

修改conf文件,代码如下,直接复制粘贴,注意修改路径,带D盘的改为你的安装路径就好,一共三个。

[meta]
# Where the metadata/raft database is stored
dir = "C:/influxdb/meta" # Automatically create a default retention policy when creating a database.
# retention-autocreate = true # If log messages are printed for the meta service
# logging-enabled = true ###
### [data]
###
### Controls where the actual shard data for InfluxDB lives and how it is
### flushed from the WAL. "dir" may need to be changed to a suitable place
### for your system, but the WAL settings are an advanced configuration. The
### defaults should work for most systems.
### [data]
# The directory where the TSM storage engine stores TSM files.
dir = "C:/influxdb/data" # The directory where the TSM storage engine stores WAL files.
wal-dir = "C:/influxdb/wal"
...后面省略一万行

运行

  • 双击influxd.exe启动数据库。
  • 然后双击influx.exe,可以连接数据库进行操作

  • 进入cmd命令,加载配置文件
cmd >> influxd -config influxdb.conf

建议通过nssm工具安装成服务,这样就不需要每次命令行启动了。

下载地址如下:http://www.nssm.cc/download

我们选择win64,进入文件夹后运行cmd,输入nssm install InfluxDB 运行后出现如下界面:

重点说一下参数这一栏,Argument里输入:-config influxdb.conf,类似上面在cmd中输入Influxd -config influxdb.conf

安装好后运行起来就好,Grafana的安装类似上面的操作,只是Argument这一栏不需要输入任何东西

Web界面管理

  • 解压chronograf
  • 双击chronograf.exe,可以打开网页管理界面,浏览器输入http://localhost:8888/

    可以看到美妙的画面,我用admin/admin可以登入,其实不输密码应该也可以,这里没仔细研究。

基础概念对比

概念 MySQL InfluxDB
数据库(同) database database
表(不同) table measurement
列(不同) column tag(索引的,非必须)、field(不带索引)、timestemp(唯一主键)
  • tag set:不同的每组tag key和tag value的集合;
  • field set:每组field key和field value的集合;
  • retention policy:数据存储策略(默认策略为autogen)InfluxDB没有删除数据操作,规定数据的保留时间达到清除数据的目的;
  • series:共同retention policy,measurement和tag set的集合;
  • 示例数据如下: 其中census是measurement,butterflies和honeybees是field key,location和scientist是tag key

注意点

  • tag 只能为字符串类型
  • field 类型无限制
  • 不支持join
  • 支持连续查询操作(汇总统计数据):CONTINUOUS QUERY
  • 配合Telegraf服务(Telegraf可以监控系统CPU、内存、网络等数据)
  • 配合Grafana服务(数据展现的图像界面,将influxdb中的数据可视化)

常用InfluxQL

  • 查看所有的数据库

    show databases;
  • 使用特定的数据库

    use database_name;
  • 查看所有的measurement

    show measurements;
  • 查询10条数据

    select * from measurement_name limit 10;
  • 数据中的时间字段默认显示的是一个纳秒时间戳,改成可读格式

    precision rfc3339; -- 之后再查询,时间就是rfc3339标准格式
  • 或可以在连接数据库的时候,直接带该参数

    influx -precision rfc3339
  • 查看一个measurement中所有的tag key

    show tag keys
  • 查看一个measurement中所有的field key

    show field keys
  • 查看一个measurement中所有的保存策略(可以有多个,一个标识为default)

    show retention policies;

客户端命令行方式操作

数据库操作

  • create database 指定数据库
  • show databases 显示所有数据库
  • drop database 指定数据库
  • use 使用指定数据库
Connected to http://localhost:8086 version 1.7.10
InfluxDB shell version: 1.7.10
>create database autocontrol
>show databases
name: databases
name
----
_internal
autocontrol

InfluxDB数据表操作

  • 当有数据插入时自动创建表
insert loop,hostname=Tag索引 value=值
  • 在insert执行语句中,tag与tag、field与field之间用都好进行分割,tag与field之间用空格分割
  • tag的value都是,String类型,不需要加双引号
  • field的String类型数据,需要放在双引号中,否则会报错
  • 如果需要显示添加时间戳,在filed后添加空格,再添加时间戳

查询表

select * from loop
  • 删除表
drop measurement loop

数据保存策略(Retention Policies)

influxDB是没有提供直接删除数据记录的方法,但是提供数据保存策略,主要用于指定数据保留时间,超过指定时间,就删除这部分数据。

查看当前数据库Retention Policies

> show retention policies on autocontrol
name duration shardGroupDuration replicaN default
---- -------- ------------------ -------- -------
autogen 0s 168h0m0s 1 true
>

创建新的Retention Policies

create retention policy "rp_name" on "db_name" duration 3w replication 1 default
  • rp_name:策略名;
  • db_name:具体的数据库名;
  • 3w:保存3周,3周之前的数据将被删除,influxdb具有各种事件参数,比如:h(小时),d(天),w(星期);
  • replication 1:副本个数,一般为1就可以了;
  • default:设置为默认策略

修改Retention Policies

alter retention policy "rp_name" on "db_name" duration 30d default

删除Retention Policies

drop retention policy "rp_name" on "db_name"

InfluxDB时序数据库基本知识的更多相关文章

  1. InfluxDB时序数据库应用场景

    目前了解到的InfluxDB时序数据库应用场景:如在数据库中有很多条记录,有的记录包含了时间字段time和数值字段water_level,有的只有时间字段time SELECT MAX("w ...

  2. 使用Python操作InfluxDB时序数据库

    使用Python操作InfluxDB时序数据库 安装python包 influxdb,这里我安装的是5.3.0版本 pip install influxdb==5.3.0   使用 from infl ...

  3. 认识Influxdb时序数据库及Influxdb基础命令操作

    认识Influxdb时序数据库及Influxdb基础命令操作 一.什么是Influxdb,什么又是时序数据库 Influxdb是一个用于存储时间序列,事件和指标的开源数据库,由Go语言编写而成,无需外 ...

  4. ASP.NET Core2读写InfluxDB时序数据库

    在我们很多应用中会遇到有一种基于一系列时间的数据需要处理,通过时间的顺序可以将这些数据点连成线,再通过数据统计后可以做成多纬度的报表,也可通过机器学习来实现数据的预测告警.而时序数据库就是用于存放管理 ...

  5. Influxdb时序数据库阅读笔记

    时序数据库 2017年2月Facebook开源了beringei时序数据库:到了4月基于PostgreSQL打造的时序数据库TimeScaleDB也开源了,而早在2016年7月,百度云在其天工物联网平 ...

  6. Influxdb 时序数据库 windows 安装

    Influxdb 是一款比较火爆的时序数据库,本文介绍如何在 windows 平台下安装. 1.场景: windows 平台的 influxdb 似乎只支持单机非windows 服务的安装方式 适用于 ...

  7. Influxdb 时序数据库 centos 安装

    Influxdb 环境搭建 操作系统:CentOS 7 X64 SSH工具:PuTTY 操作系统安装,请参照官网文档进行:https://www.centos.org/ 使用PuTTY 通过ssh连接 ...

  8. 深入浅出时序数据库之预处理篇——批处理和流处理,用户可定制,但目前流行influxdb没有做

    时序数据是一个写多读少的场景,对时序数据库以及数据存储方面做了论述,数据查询和聚合运算同样是时序数据库必不可少的功能之一.如何支持在秒级对上亿数据的查询分组聚合运算成为了时序数据库产品必须要面对的挑战 ...

  9. 互联网级监控系统必备-时序数据库之Influxdb

    时间序列数据库,简称时序数据库,Time Series Database,一个全新的领域,最大的特点就是每个条数据都带有Time列. 时序数据库到底能用到什么业务场景,答案是:监控系统. Baidu一 ...

随机推荐

  1. 50个SQL语句(MySQL版) 问题十六

    --------------------------表结构-------------------------- student(StuId,StuName,StuAge,StuSex) 学生表 tea ...

  2. 【Linux】yum库的配置

    链接–>CentOS7之yum仓库配置

  3. Java实现蓝桥杯 算法提高 线段和点

    算法提高 线段和点 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 有n个点和m个区间,点和区间的端点全部是整数,对于点a和区间[b,c],若a>=b且a<=c,称点a满 ...

  4. Java实现 LeetCode 458 可怜的小猪

    458. 可怜的小猪 有 1000 只水桶,其中有且只有一桶装的含有毒药,其余装的都是水.它们从外观看起来都一样.如果小猪喝了毒药,它会在 15 分钟内死去. 问题来了,如果需要你在一小时内,弄清楚哪 ...

  5. Java实现 蓝桥杯VIP 算法提高 我们的征途是星辰大海

    算法提高 我们的征途是星辰大海 时间限制:1.0s 内存限制:256.0MB 最新的火星探测机器人curiosity被困在了一个二维迷宫里,迷宫由一个个方格组成. 共有四种方格: '.' 代表空地,c ...

  6. Java实现交替字符串

    1 问题描述 输入三个字符串s1.s2和s3,判断第三个字符串s3是否由前两个字符串s1和s2交错而成且不改变s1和s2中各个字符原有的相对顺序. 2 解决方案 此处采用动态规划法,可以较大的提高时间 ...

  7. Java实现三人年龄

    2 三人年龄 三个神秘蒙面人来访F博士. 博士询问他们年龄时,他们说:我们中年龄最小的不超过19岁.我们3人年龄总和为70岁.且我们三人年龄的乘积是所有可能情况中最大的. 请帮助F博士计算他们的年龄, ...

  8. Java实现第十届蓝桥杯数列求值

    试题 C: 数列求值 本题总分:10 分 [问题描述] 给定数列 1, 1, 1, 3, 5, 9, 17, -,从第 4 项开始,每项都是前 3 项的和.求 第 20190324 项的最后 4 位数 ...

  9. NodeJS及路由

    1.基本介绍- http://nodejs.cn/api/ Node.js 是一个基于Chrome V8 引擎的JavaScript运行环境 Node.js使用了一个事件驱动.非阻塞式I/O的模型,使 ...

  10. ZooKeeper 基础入门

    什么是ZooKeeper Apache ZooKeeper 是一个开源的实现高可用的分布式协调服务器.ZooKeeper是一种集中式服务,用于维护配置信息,域名服务,提供分布式同步和集群管理.所有这些 ...