InfluxDB Python  操作实践记录 on windows_图形化

背景

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

InfluxDB

InfluxDB是一个由InfluxData开发的开源时序型数据。它由Go写成,着力于高性能地查询与存储时序型数据。

InfluxDB被广泛应用于存储系统的监控数据,IoT行业的实时数据等场景。

Why is InfluxDB

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

Let's Start

  1. 下载InfluxDB

InfluxDB Python  操作实践记录 on windows_图形化_03

wget https://dl.influxdata.com/influxdb/releases/influxdb-1.8.1_windows_amd64.zip

有wget使用wget ,没有的话 直接下载即可 为了减少复杂度 本次使用了1.X的版本。

InfluxDB Python  操作实践记录 on windows_数据库_04

下载成功后 解压。

InfluxDB Python  操作实践记录 on windows_数据_05

使用前配置inflexdb.conf

[data]下的dir字段修改为安装路径。

[meta]下的dir、war-dir两个字段修改为安装路径。

InfluxDB Python  操作实践记录 on windows_数据_06

双击influxd.exe即可运行

InfluxDB Python  操作实践记录 on windows_字段_07

  1. 验证InfluxDB是否正在运行

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

curl "​​http://localhost:8086/query?q=show+databases​​"

如果InfluxDB正在运行,您应该看到一个包含_internal数据库的对象:

InfluxDB Python  操作实践记录 on windows_数据_08

这里也附带一个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

InfluxDB Python  操作实践记录 on windows_数据_09

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

InfluxDB Python  操作实践记录 on windows_字段_10

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

InfluxDB Python  操作实践记录 on windows_数据_11

InfluxDB Python  操作实践记录 on windows_数据库_12

windows下安装 influxdb 模块

命令 :pip install influxdb

InfluxDB Python  操作实践记录 on windows_图形化_13

遇到这个超时问题:

  • 解决方法
    找到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


InfluxDB Python  操作实践记录 on windows_图形化_14

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

InfluxDB Python  操作实践记录 on windows_字段_15

influxdb的应用

目前的数据库如下

InfluxDB Python  操作实践记录 on windows_数据库_16

测试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'}]

(venv) E:\nanwang\kafka>

总结

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存储数据