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"

最新文章

  1. C/C++: C++位域和内存对齐问题
  2. 微小,但是美好的改变 G2 2.2发布
  3. 如何用inno setup打包activex
  4. HTTP 405 错误 – 方法不被允许 (Method not allowed)
  5. DOM(四)事件流
  6. RPI学习--WebCam_mplayer
  7. react初识
  8. C#程序调用cmd执行命令(转)
  9. PHP标记
  10. python在接口测试的实际应用
  11. 养成这8个编程习惯,你的Python性能将蹭蹭蹭地往上涨
  12. mybatis百科-列映射类ResultMapping
  13. HTTP协议响应码及get请求和post请求比较
  14. 获取 ip ( 第三方接口 )
  15. UI5-文档-4.37-Content Density
  16. 移去OleContainer的黑边框
  17. windows命令行快捷操作
  18. python+xpath+requests爬取维基百科历史上的今天
  19. Maven 高级应用
  20. Linux下SVN的三种备份方式

热门文章

  1. [统计信息系列7] Oracle 11g的自动统计信息收集
  2. Java 第十一届 蓝桥杯 省模拟赛 19000互质的个数
  3. Java实现 LeetCode 268 缺失数字
  4. Java实现 LeetCode 224 基本计算器
  5. Java实现 蓝桥杯VIP 算法提高 进制转换
  6. Java实现 LeetCode 96 不同的二叉搜索树
  7. webpack从单页面到多页面
  8. 汇编指令mov、add、sub、jmp
  9. 百度编辑器UEditor不能插入视频的解决方法
  10. 安装并配置Samba