zoukankan      html  css  js  c++  java
  • Python操作Influxdb数据库

    1、influxdb基本操作
    [root@test ~]# wget https://dl.influxdata.com/influxdb/releases/influxdb-1.2.4.x86_64.rpm
    [root@test ~]# yum localinstall influxdb-1.2.4.x86_64.rpm
    [root@test ~]# wget https://dl.influxdata.com/influxdb/releases/influxdb-1.1.0.x86_64.rpm
    [root@test ~]# yum localinstall influxdb-1.1.0.x86_64.rpm
    [root@test ~]# influx -precision rfc3339      #更改influxdb的时间显示方式为utc显示方式
    >precision rfc3339
    insert disk_free,hostname=server01 value=4422i 1435362189575692182     #添加数据并自定义时间戳
    注意:
           插入一条带时间戳的数据时,时间必需在数据保留策略时间内,否则该条数据无法插入
           InfluxDB的insert中,表名与数据之间用逗号(,)分隔,tag和field之间用 空格分隔,多个tag或者多个field之间用逗号(,)分隔
    > show measurements           #显示所有表
    name: measurements
    name
    ----
    DomainBps
    > show series from [表名]       #series表示这个表里面的数据可以在图表上画成几条线
    > drop measurement [表名]    #删除一张表
    > show retention policies on aliyun     #查询aliyun数据库的默认策略
    name      duration      shardGroupDuration      replicaN     default
    ----           ----------        ------------------                 --------        -------
    autogen      0s               168h0m0s                       1              true
    > alter retention POLICY "autogen" on "aliyun" duration 200h     #更改数据的保留时间
    name        duration        shardGroupDuration   replicaN   default
    -------         ----------         ---------------------------   ----------     -------
    autogen  200h0m0s           168h0m0s                   1            true
    > drop retention policy [策略名] on [数据库名]        #删除策略
    > create retention policy [策略名] on [数据库名] duration 48h/2d replication 1 default      #创建策略
    说明:
           name字段为策略名
           duration字段的0表示数据永远保留,不自动删除
           shardGroupDuration字段的时间表示查询时间在168h内的查询效率高,查询大于这个时间的效率会降低
           replicaN字段表示副本个数

    2、python往influxbd插入数据
    yum -y install epel-release     #Centos6.8安装epel源
    yum -y install python-pip

    [root@test ~]# pip install influxdb
    [root@test ~]# pip install --upgrade influxdb
    [root@test ~]# pip uninstall influxdb
    root@debian:~# apt-get install python-influxdb
    
    from influxdb import InfluxDBClient
    
    json_body = [
        {
            "measurement": "table_name",  # 表名
            "tags": {
                "host": "server01",    #host和region为字段名,server01和us-west分别为host和region的值
                "region": "us-west"
            },
            "time": "2009-11-10T23:00:00Z",  # 插入的时间必需在数据保留时间范围内,如策略保留时间为7天,则传的时间不能为7天前
            "fields": {
                "value": 240.64345           #插入的值不能为0
            }
        },
        {
            "measurement": "table_name",
            "tags": {
                "host": "server01",
                "region": "us-west"
            },
            "time": "2018-04-22T011:05:00Z",
            "fields": {
                "value": 240
            }
        }
    ]
    
    client = InfluxDBClient('localhost', 8086, 'root', 'root', 'database')
    client.write_points(json_body)

    参考链接:
             https://www.cnblogs.com/shhnwangjian/p/6897216.html?utm_source=itdadao&utm_medium=referral
             https://www.cnblogs.com/mafeng/p/6848166.html
             https://github.com/influxdata/influxdb-python
             https://github.com/mike-zhang/mikeBlogEssays/blob/master/2017
             https://www.cnblogs.com/MikeZhang/p/InfluxDBPythonOpt20170312.html
             https://www.cnblogs.com/saneri/p/7528283.html       #psutil模块获取监控数据

  • 相关阅读:
    DB2 v8.2,v9.1,v9.5,v9.7下载地址及详细安装图解
    Windows Server 2008 R2遗忘管理员密码后的解决方案
    weblogic的域模式(生产模式、开发模式)
    Linux shell编程 字符串拼接
    Linux rsync命令详解
    oracle 日志组管理
    T-SQL编程规范
    数据库编程起别名的3中方式
    windows server下安装SSHD服务
    网线中的5类线、超5类线、6类线有什么区别?
  • 原文地址:https://www.cnblogs.com/xwupiaomiao/p/8898110.html
Copyright © 2011-2022 走看看