一. InfluxDB说明

1
1
  1. 架构说明

    • OSS

      无MetaNode,只有DataNode,官方未提供Cluster方案,就是单点

    • 企业版

      MetaNode + DataNode,同一集群的DN数据同步,需购买

    • influxdb-relay

      采用influxdb-relay,类似负载,数据无法同步同步,人工干预地方太多

    • influxdb-proxy

      采用双写,DN之间数据相互隔离互不影响
      测试10w条数据,每秒并发1w,宕机节点启动后自动追回数据(1核/1G内存),追回耗时不到3s

  2. 数据说明

    time为主键ID
    数据为追加写

    time、value为必须字段,其他表字段可自定义
  1. 调用API创建数据

    • Write

        # "table_name,row1=filed1,row2=filed2.... value
        curl -i  -XPOST http://influxdb_ip:influxdb_port/write?db=mydb --data-binary "cpu_usage,label=cpu,tag=iowait value=1"
      
    • Read

        # 模糊匹配
        curl -i  -XPOST http://192.168.0.102:7076/query?db=mydb --data-urlencode "q=select * from cpu_usage where label =~ /^cpu/"
      
        # and
        curl -i  -XPOST http://192.168.0.102:7076/query?db=mydb --data-urlencode "q=select * from cpu_usage where describe='iowait' and value=1"
      
        # group by
        curl -i  -XPOST http://192.168.0.102:7076/query?db=mydb --data-urlencode "q=select * from cpu_usage group by label limit 1"
      
        # limit (第11-20条数据)
        curl -i  -XPOST http://192.168.0.102:7076/query?db=mydb --data-urlencode "q=select * from cpu_usage limit 10 offset 10"
      
  2. 不友好地方

    数据库需要提前创建
    依赖组件越多,维护成本越高

二. Prometheus说明

  1. Prometheus支持remote storage

    本文采用InfluxDB远端存储,具备读写功能
    代理使用influxDB-proxy,比较实用

三. 配置案例

  1. influxdb-proxy

    {
     "circles": [ //后端influxdb 组
         {
             "name": "proxy01",
             "backends": [ // 后端influxdb 节点
                 {
                     "name": "remote-influxdb1",
                     "url": "http://192.168.0.103:8086",
                     "auth_secure": false // 若influxdb开启认证,则需配置
                 }
             ]
         },
         {
             "name": "proxy02",
             "backends": [
                 {
                     "name": "remote-influxdb2",
                     "url": "http://192.168.0.108:8086",
                     "auth_secure": false
                 }
             ]
         }
     ],
     "listen_addr": ":7076",
     "data_dir": "/opt/app/proxy/data",
     "tlog_dir": "/opt/app/proxy/logs/influxdb-proxy.log",
     "flush_size": 10000, // 当数据在1s内需要写入1w条,则触发,否则write_timeou写入
     "flush_time": 1, 
     "check_interval": 1,
     "rewrite_interval": 10, // 数据写入频率
     "conn_pool_size": 20, // 工作线程
     "write_timeout": 10, // 写超时时间,单位s
     "idle_timeout": 10,
     "auth_secure": false,
     "write_tracing": false,
     "query_tracing": false,
     "https_enabled": false,
     "https_cert": "",
     "https_key": ""
    }
    

    influxdb-proxy 差异数据补全 阈值为多少
    influxdb-proxy 差异数据 存留时间

  2. InfluxDB

数据存储路径
元数据存储路径
日志存储路径
认证开启

Copyright & TianCiwang 2021 all right reserved,powered by Gitbook修改时间: 2021-11-06 23:58:08

results matching ""

    No results matching ""

    results matching ""

      No results matching ""