Git:https://github.com/influxdata/influxdb-python

帮助文档:http://influxdb-python.readthedocs.io/en/latest/examples.html

代码样例

# -*- coding: utf-8 -*-

"""
pip install influxdb
InfluxDB属于时序数据库,没有提供修改和删除数据的方法。
""" from influxdb import InfluxDBClient class InfluxDBBaseClass(object): def __init__(self, ip, port, username=None, password=None, timeout=10, dbname=None):
self.ip = ip
self.port = int(port)
self.username = username
self.password = password
self.timeout = timeout
self.dbname = dbname
self.__connect() def __connect(self):
self.client = InfluxDBClient(host=self.ip, port=self.port, username=self.username, password=self.password,
timeout=self.timeout, database=self.dbname) @property
def get_list_database(self):
"""
:return: 显示所有数据库名称
"""
return self.client.get_list_database() def create_database(self, dbname):
"""
:param dbname: 数据库名称
:return: 创建数据库
"""
return self.client.create_database(dbname) def drop_database(self, dbname):
"""
:param dbname: 数据库名称
:return: 删除数据库
"""
return self.client.drop_database(dbname) def get_list_table(self, dbname=None):
"""
:param dbname: 数据库名称
:return: 显示数据库中的表
"""
if self.dbname:
return self.client.query('show measurements;', database=self.dbname)
else:
return self.client.query('show measurements;', database=dbname) def delete_table(self, tablename, dbname=None):
"""
:param dbname: 数据库名称
:param tablename: 表名
:return: 删除表
"""
if self.dbname:
return self.client.query('drop measurement %s;' % tablename, database=self.dbname)
else:
return self.client.query('drop measurement %s;' % tablename, database=dbname) def insert_data(self, json_body, dbname=None):
"""
:param json_body: InfluxDB没有提供单独的建表语句,可以通过并添加数据的方式建表
:param dbname: 数据库名称
:return: 创建新表并添加数据
样例数据:json_body = [
{
"measurement": "cpu_load_short",
"tags": {
"host": "server01",
"region": "us-west"
},
"time": "2009-11-10T23:00:00Z",
"fields": {
"Float_value": 0.64,
"Int_value": 3,
"String_value": "Text",
"Bool_value": True
}
}
]
"""
if self.dbname:
return self.client.write_points(json_body, database=self.dbname)
else:
return self.client.write_points(json_body, database=dbname) def query_table(self, query_content, dbname=None):
"""
:param query_content: 查询语句
:param dbname: 数据库名称
:return: 查询表中数据
"""
if self.dbname:
return self.client.query(query_content, database=self.dbname)
else:
return self.client.query(query_content, database=dbname) def delete_series(self, dbname=None, measurement=None, tags=None):
"""
:param dbname: 数据库名称
:param measurement: 表名
:param tags: 索引
:return: 删除series集合
"""
if self.dbname:
return self.client.delete_series(database=self.dbname, measurement=measurement, tags=tags)
else:
return self.client.delete_series(database=dbname, measurement=measurement, tags=tags)

influxdb结合grafana监控redis性能指标

influxdb结合grafana监控RabbitMQ性能指标

python influxdb的更多相关文章

  1. dbclient python ---influxdb -install -relay--http write--read.[create db]

    1s=1000ms 1ms=1000 microseconds 1microsecond=1000 nanoseconds+01:00 from influxdb import InfluxDBCli ...

  2. docker-compose(grafana influxdb) + telegraf 快速搭建简单监控

     灵活实现方案:   1:     telegraf 为go 语言写得占用内存小 收集主机各项监控数据 定时写入 时序DB   influxdb ------------------------&qu ...

  3. 使用python操作InfluxDB

    环境: CentOS6.5_x64InfluxDB版本:1.1.0Python版本 : 2.6 准备工作 启动服务器 执行如下命令: service influxdb start 示例如下: [roo ...

  4. 性能测试 基于Python结合InfluxDB及Grafana图表实时监控Android系统和应用进程

    基于Python结合InfluxDB及Grafana图表实时监控Android系统和应用进程   By: 授客 QQ:1033553122     1. 测试环境 2. 实现功能 3. 使用前提 4. ...

  5. 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据

    基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据   by:授客 QQ:1033553122 实现功能 测试环境 环境搭建 使用前提 使用方法 运行程序 效果展 ...

  6. Python 使用Python远程连接并操作InfluxDB数据库

    使用Python远程连接并操作InfluxDB数据库 by:授客 QQ:1033553122 实践环境 Python 3.4.0 CentOS 6 64位(内核版本2.6.32-642.el6.x86 ...

  7. InfluxDB——python使用手册

    InfluxDB--python使用手册 准备工作 安装InfluxDB: 请参考笔者相关博文:Centos7安装InfluxDB1.7 安装pip : yum install python-pip ...

  8. 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机或Docker容器性能数据

    基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据   by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 3 使用前提 3 使用方法 ...

  9. Python操作Influxdb数据库

    1.influxdb基本操作[root@test ~]# wget https://dl.influxdata.com/influxdb/releases/influxdb-1.2.4.x86_64. ...

随机推荐

  1. 二维数组转化为一维数组 contact 与apply 的结合

    将多维数组(尤其是二维数组)转化为一维数组是业务开发中的常用逻辑,除了使用朴素的循环转换以外,我们还可以利用Javascript的语言特性实现更为简洁优雅的转换.本文将从朴素的循环转换开始,逐一介绍三 ...

  2. log4php的使用方法与详细配置

    log4php的使用 首先引入logger.php文件.log4php可以通过引入logger.php来完成自动加载的过程.文件位置如下: 日志记录器自身没有定义日志的输出目的地和格式,所以我们通常需 ...

  3. charCodeAt与fromCharCode

    charCodeAt() 方法可返回指定位置的字符的 Unicode 编码 这个返回值是 0 - 65535 之间的整数. stringObject.charCodeAt(index) /* a-z  ...

  4. mysql 和php 保留2位小数

    一般交易中保留的数字的小数位数为2位(即最小单位为 1分钱[0.01元]) 数据库设计中预金钱有关或要求精准度要高的用 decimal(n,m) 表示,n表示保留的数字长度,保留的小数位数,如deci ...

  5. [转帖]Nginx的超时keeplive_timeout配置详解

    Nginx的超时keeplive_timeout配置详解 https://blog.csdn.net/weixin_42350212/article/details/81123932   Nginx  ...

  6. 梯度、散度、旋度、Jacobian、Hessian、Laplacian 的关系图

    转自松鼠的窝 一.入门

  7. Vue 初识Vue

    <!DOCTYPE html><html lang="zh-cn"><head> <meta charset="utf-8&qu ...

  8. python 时间转换相关

    最近需要操作时间的地方相当的多,包括打点,包括时间转换. 罗列最近遇到的两个需求. 1. 关于上篇文章写的base64上传图片的问题,我使用了打点来计算解码需要多少时间.这个对时间精度要求是比较高的. ...

  9. JavaScript从入门到精通

    第一(基本语法) if(condition1){ expression1; }else if(condition2){ expression2; }else{ expression3; } switc ...

  10. 常见的HTTP报头(头参数)

    本内容摘抄自<RESTful WebServices> 中文译本附录C '常见的HTTP报头'. 原文作者:Leonard Ricbardson & Sam Ruby 翻译:徐涵. ...