zoukankan      html  css  js  c++  java
  • 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性能指标

  • 相关阅读:
    android Service Activity三种交互方式(付源码)
    Android优化
    Android 开发性能优化之SparseArray(三)
    Android 开发性能优化之SparseArray(二)
    ListView封装实现下拉刷新和上拉加载(方式2)(转载)
    Android——谷歌官方下拉刷新控件SwipeRefreshLayout(转)
    Android 6.0
    Android AppCompatActivity去掉actionbar fullScreen
    决心
    Translucent System Bar 的最佳实践
  • 原文地址:https://www.cnblogs.com/twodog/p/12140405.html
Copyright © 2011-2022 走看看