我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Python简单使用InfluxDB

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Python简单使用InfluxDB

之前已经在自己的MQTT服务器上安装好了InfluxDB时序数据库,接下来写个Python程序测试下.

API详情参阅这里
打开powershell,执行pip install influxdb安装模块

程序API详细参考这里

# coding=utf-8
import time
from influxdb import InfluxDBClient


def read_info():
	data_list = [{'measurement': 'win',
	             'tags': {'cpu': 'i7-7700HQ'},
	             'fields': {'cpu_info_user': cpu_time_info[0],
	                        'cpu_info_system': cpu_time_info[1],
	                        'cpu_info_idle': cpu_time_info[2],
	                        'cpu_info_interrupt': cpu_time_info[3],
	                        'cpu_info_dpc': cpu_time_info[4]}}]
	return data_list 

if __name__ == '__main__':
    client = InfluxDBClient(host, port, user, password, database)  # 初始化
    counts = 0  #计数,也就是数据上传20次
    while counts <= 20:#
        counts += 1
        client.write_points(read_info())
        time.sleep(5)
        
程序功能很简单,每5秒上传一次CPU使用状况,连续上传20次.
其中核心知识是数据格式,这里会自动打包字典到JSON,一开始在这打包成JSON上传报错.而且需要把这个字典放在列表中,因为一次可以添加多个字典格式上传.其中必须有'measurement','tags','fields'三个Key.

数据格式 Line Protocol

在 InfluxDB 中,我们可以粗略的将要存入的一条数据看作一个虚拟的 key 和其对应的 value(field value),格式如下:
cpu_usage,host=server01,region=us-west value=0.64 1434055562000000000
虚拟的 key 包括以下几个部分: database, retention policy, measurement, tag sets, field name, timestamp。 database 和 retention policy 在上面的数据中并没有体现,通常在插入数据时在 http 请求的相应字段中指定。
  • database: 数据库名,在 InfluxDB 中可以创建多个数据库,不同数据库中的数据文件是隔离存放的,存放在磁盘上的不同目录。
  • retention policy: 存储策略,用于设置数据保留的时间,每个数据库刚开始会自动创建一个默认的存储策略
    autogen,数据保留时间为永久,之后用户可以自己设置,例如保留最近2小时的数据。插入和查询数据时如果不指定存储策略,则使用默认存储策略,且默认存储策略可以修改。InfluxDB
    会定期清除过期的数据。
  • measurement: 测量指标名,例如 cpu_usage 表示 cpu 的使用率。
  • tag sets: tags 在 InfluxDB 中会按照字典序排序,不管是 tagk 还是 tagv,只要不一致就分别属于两个
    key,例如 host=server01,region=us-west 和 host=server02,region=us-west
    就是两个不同的 tag set。
  • field name: 例如上面数据中的 value 就是 fieldName,InfluxDB 中支持一条数据中插入多个
    fieldName,这其实是一个语法上的优化,在实际的底层存储中,是当作多条数据来存储。 timestamp:
    每一条数据都需要指定一个时间戳,在 TSM 存储引擎中会特殊对待,以为了优化后续的查询操作。

Python简单使用InfluxDB

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Python简单使用InfluxDB

之前已经在自己的MQTT服务器上安装好了InfluxDB时序数据库,接下来写个Python程序测试下.API详情参阅这里打开powershell,执行pip install influxdb安装模块程序API详细参考这里# coding=u
2023-01-31

python logging简单使用

#coding: UTF-8'''Created on 2014年1月6日@author: mingliu'''import logging#导入mylog = logging.getLogger('mylogger')#申请一个名字oth
2023-01-31

Python Tkinter 简单使用

简单的一些实例,能够实现一般的功能就够用了Tkinter:创建顶层窗口:# -*- coding: utf-8 -*-from Tkinter import * root = Tk()root.title("顶层窗口")root.mainl
2023-01-30

python datetime简单使用

import datetime#当前时间print datetime.datetime.now()2018-06-13 16:22:42.414143#当前时间减去七天print datetime.datetime.now() - date
2023-01-31

使用python脚本向influxdb写

python3使用requests模块向influxdb的http API发送接口请求实现数据写入,如下:1. 创建数据库import requestsposturl = 'http://192.168.220.128:8086/query
2023-01-31

Python:简单select模块使用

select 多并发socket 例子#!/usr/bin/env python#coding:utf-8import selectimport socketimport Queuelisten_addr=('0.0.0.0',8000)#
2023-01-31

python使用sqlite简单介绍

python连接sqlite非常简单,基本步骤如下:用sqlite3.connect创建数据库连接,假设连接对象为conn如果该数据库操作不需要返回结果,就直接用conn.execute查询,如建表、删表、添加、修改删除数据等,需要conn
2023-01-31

python学习-ansible简单使用

一、介绍Ansible 一种集成 IT 系统的配置管理、应用部署、执行特定任务的开源平台,是 AnsibleWorks 公司名下的项目,该公司由 Cobbler 及 Func 的作者于 2012 年创建成立。Ansible 基于 Pytho
2023-01-31

python的日志简单使用

开始一个项目的时候总是匆匆的写了代码,但是有时候会发现一个问题,那就是经常会为一个很长时间才出现一次的bug感到很苦恼,如果没有及时捕捉的话,那还要浪费很多时间去重现,再纠正,还好python有比较方便的日志供使用,logging模块imp
2023-01-31

python gdal安装与简单使用

gdal安装方式一:在网址 https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal 下载对应python版本的whl文件,在命令行中pip install whl文件完整路径安装(windows方式
2023-01-31

使用Python和OpenSSL简单模拟

本文使用Python和文件系统模拟保密通信的整个过程本阶段完成系统初始状态模拟,直接看代码import os,shutilfrom Crypto.Cipher import DES3,XORdef xorencode(data,key):
2023-01-31

Python Pandas的简单使用教程

一、  Pandas简介 1、Python Data Analysis Library 或 pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大
2022-06-02

python random库的简单使用demo

这篇文章主要为大家介绍了python random库的简单使用demo,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-03-24

python学习-paramiko简单使

paramiko是基于python实现的ssh2远程安全连接,支持认证及密钥方式。可以实现远程命令执行,文件传输、中间ssh代理等功能。安装:pip install paramiko或 easy_install paramikoparami
2023-01-31

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录