InfluxDB

背景

随着监控系统的搭建开发 时序数据库选择了InfluxDB. 这里记录了Windows平台下的使用过程。

InfluxDB

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

时间序列数据可以是随时间跟踪、监视、下采样和聚合的度量或事件,如服务器指标、应用程序性能、网络数据、传感器数据以及许多其他类型的分析数据。

Let’s Start

  1. 下载InfluxDB
  • https://portal.influxdata.com/downloads,选windows版

    由于官网的下载使用的js寄存于谷歌云服务器。需要使用如下技巧来下载 惊不惊喜意不意外
    通过查看网页源代码 我们可以发现下载链接


wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.1_windows_amd64.zip
有wget使用wget ,没有的话 直接下载即可 为了减少复杂度 本次使用了1.X的版本。

下载成功后 解压。

使用前配置inflexdb.conf
[data]下的dir字段修改为安装路径。
[meta]下的dir、war-dir两个字段修改为安装路径。


双击influxd.exe即可运行

  1. 验证InfluxDB是否正在运行

使用SHOW DATABASE Scurl命令验证InfluxDB是否已启动并正在运行:

curl “http://localhost:8086/query?q=show+databases”

如果InfluxDB正在运行,您应该看到一个包含_internal数据库的对象:
InfluxDB正在运行的结果
这里也附带一个python验证demo

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os 
data = 'http://localhost:8086/query?q=show+databases'
print( os.popen('curl %s' % data ))
  1. 图形化管理界面influxdata
    图形化工具下载链接https://newreleases.io/project/github/influxdata/chronograf/release/1.8.9

为你提供的福利 需要单独下载

3.1 解压后,直接运行chronograf.exe。

3.2 浏览器输入 localhost:8888 访问。

windows下安装 influxdb 模块

命令 :pip install influxdb

遇到这个超时问题:

  • 解决方法
    找到C:\Users\tony\AppData\Roaming\pip,在该路径下新建文件夹,命名为“pip”,在pip文件夹中新建pip.ini”,
[global]
timeout = 60000
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
use-mirrors = true
mirrors = https://pypi.tuna.tsinghua.edu.cn


重新执行pip命令,问题解决

influxdb的应用

目前的数据库如下

测试influxdb

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import os

from influxdb import InfluxDBClient

# 初始化(指定要操作的数据库)
#client = InfluxDBClient('localhost', 8086, 'your_username', 'yuor_password', 'your_dbname')
client = InfluxDBClient('localhost', 8086, '', '', '_internal')

print(client.get_list_database()) # 显示所有数据库名称
client.create_database('testdb') # 创建数据库
print(client.get_list_database()) # 显示所有数据库名称
client.drop_database('testdb') # 删除数据库
print(client.get_list_database()) # 显示所有数据库名称

** 运行结果 **

[{‘name’: ‘_internal’},
{‘name’: ‘testdb’}]
[{‘name’: ‘_internal’}]

总结

Influxdb已经运行在windows系统中
这里记录几个常用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;

TODO

研究如何使用Influxdb存储数据

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐