python influxdb
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的更多相关文章
- dbclient python ---influxdb -install -relay--http write--read.[create db]
1s=1000ms 1ms=1000 microseconds 1microsecond=1000 nanoseconds+01:00 from influxdb import InfluxDBCli ...
- docker-compose(grafana influxdb) + telegraf 快速搭建简单监控
灵活实现方案: 1: telegraf 为go 语言写得占用内存小 收集主机各项监控数据 定时写入 时序DB influxdb ------------------------&qu ...
- 使用python操作InfluxDB
环境: CentOS6.5_x64InfluxDB版本:1.1.0Python版本 : 2.6 准备工作 启动服务器 执行如下命令: service influxdb start 示例如下: [roo ...
- 性能测试 基于Python结合InfluxDB及Grafana图表实时监控Android系统和应用进程
基于Python结合InfluxDB及Grafana图表实时监控Android系统和应用进程 By: 授客 QQ:1033553122 1. 测试环境 2. 实现功能 3. 使用前提 4. ...
- 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据
基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据 by:授客 QQ:1033553122 实现功能 测试环境 环境搭建 使用前提 使用方法 运行程序 效果展 ...
- Python 使用Python远程连接并操作InfluxDB数据库
使用Python远程连接并操作InfluxDB数据库 by:授客 QQ:1033553122 实践环境 Python 3.4.0 CentOS 6 64位(内核版本2.6.32-642.el6.x86 ...
- InfluxDB——python使用手册
InfluxDB--python使用手册 准备工作 安装InfluxDB: 请参考笔者相关博文:Centos7安装InfluxDB1.7 安装pip : yum install python-pip ...
- 性能测试 基于Python结合InfluxDB及Grafana图表实时采集Linux多主机或Docker容器性能数据
基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据 by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 3 使用前提 3 使用方法 ...
- Python操作Influxdb数据库
1.influxdb基本操作[root@test ~]# wget https://dl.influxdata.com/influxdb/releases/influxdb-1.2.4.x86_64. ...
随机推荐
- 二维数组转化为一维数组 contact 与apply 的结合
将多维数组(尤其是二维数组)转化为一维数组是业务开发中的常用逻辑,除了使用朴素的循环转换以外,我们还可以利用Javascript的语言特性实现更为简洁优雅的转换.本文将从朴素的循环转换开始,逐一介绍三 ...
- log4php的使用方法与详细配置
log4php的使用 首先引入logger.php文件.log4php可以通过引入logger.php来完成自动加载的过程.文件位置如下: 日志记录器自身没有定义日志的输出目的地和格式,所以我们通常需 ...
- charCodeAt与fromCharCode
charCodeAt() 方法可返回指定位置的字符的 Unicode 编码 这个返回值是 0 - 65535 之间的整数. stringObject.charCodeAt(index) /* a-z ...
- mysql 和php 保留2位小数
一般交易中保留的数字的小数位数为2位(即最小单位为 1分钱[0.01元]) 数据库设计中预金钱有关或要求精准度要高的用 decimal(n,m) 表示,n表示保留的数字长度,保留的小数位数,如deci ...
- [转帖]Nginx的超时keeplive_timeout配置详解
Nginx的超时keeplive_timeout配置详解 https://blog.csdn.net/weixin_42350212/article/details/81123932 Nginx ...
- 梯度、散度、旋度、Jacobian、Hessian、Laplacian 的关系图
转自松鼠的窝 一.入门
- Vue 初识Vue
<!DOCTYPE html><html lang="zh-cn"><head> <meta charset="utf-8&qu ...
- python 时间转换相关
最近需要操作时间的地方相当的多,包括打点,包括时间转换. 罗列最近遇到的两个需求. 1. 关于上篇文章写的base64上传图片的问题,我使用了打点来计算解码需要多少时间.这个对时间精度要求是比较高的. ...
- JavaScript从入门到精通
第一(基本语法) if(condition1){ expression1; }else if(condition2){ expression2; }else{ expression3; } switc ...
- 常见的HTTP报头(头参数)
本内容摘抄自<RESTful WebServices> 中文译本附录C '常见的HTTP报头'. 原文作者:Leonard Ricbardson & Sam Ruby 翻译:徐涵. ...