zoukankan      html  css  js  c++  java
  • influxDB使用小结

    在集群中安装influxdb

    influxdb提供了官方镜像,因此在集群中安装influxdb十分方便,只需要指定镜像名为influxdb即可自动下载运行,只需要配置环境变量就可以进行初始化设置

    以下是官方文档提供的可配置环境变量

    INFLUXDB_DB

    以这个环境变量作为名字自动初始化一个数据库

    INFLUXDB_HTTP_AUTH_ENABLED

    允许身份验证。必须设置此选项或必须在配置文件中设置auth-enabled = true才能使后续的任何身份验证相关选项生效。

    INFLUXDB_ADMIN_USER

    以这个环境变量作为名字自动初始化一个管理员用户

    INFLUXDB_ADMIN_PASSWORD

    以这个环境变量作为管理员用户的密码

    INFLUXDB_USER

    以这个环境变量作为名字自动初始化一个普通用户,如果初始化了数据库,则自动获得该数据库的读写权限

    INFLUXDB_USER_PASSWORD

    使用INFLUXDB_USER配置的用户的密码。如果未设置,则生成随机密码并打印到标准输出。

    INFLUXDB_READ_USER

    要在INFLUXDB_DB上使用读取权限创建的用户的名称。如果未设置INFLUXDB_DB,则此用户将没有授予权限。

    INFLUXDB_READ_USER_PASSWORD

    使用INFLUXDB_READ_USER配置的用户的密码。如果未设置,则生成随机密码并打印到标准输出。

    INFLUXDB_WRITE_USER

    要在INFLUXDB_DB上使用写权限创建的用户的名称。如果未设置INFLUXDB_DB,则此用户将没有授予权限。

    INFLUXDB_WRITE_USER_PASSWORD

    使用INFLUXDB_WRITE_USER配置的用户的密码。如果未设置,则生成随机密码并打印到标准输出。

    使用HTTP API与数据库通信

    influxDB自带HTTP接口,可以轻松编写代码读写数据库

    首先观察官方文档中使用curl操作数据库的样例:

    Create your first database

    curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE DATABASE mydb"
    

    Insert some data

    curl -XPOST "http://localhost:8086/write?db=mydb" 
    -d 'cpu,host=server01,region=uswest load=42 1434055562000000000'
    
    curl -XPOST "http://localhost:8086/write?db=mydb" 
    -d 'cpu,host=server02,region=uswest load=78 1434055562000000000'
    
    curl -XPOST "http://localhost:8086/write?db=mydb" 
    -d 'cpu,host=server03,region=useast load=15.4 1434055562000000000'
    

    Query for the data

    curl -G "http://localhost:8086/query?pretty=true" --data-urlencode "db=mydb" 
    --data-urlencode "q=SELECT * FROM cpu WHERE host='server01' AND time < now() - 1d"
    

    Analyze the data

    curl -G "http://localhost:8086/query?pretty=true" --data-urlencode "db=mydb" 
    --data-urlencode "q=SELECT mean(load) FROM cpu WHERE region='uswest'"
    

    看起来有一些麻烦,但是influxDB官方同时给出了HTTP client代码库

    使用GO Client

    连接客户端

    c, err := client_v2.NewHTTPClient(client_v2.HTTPConfig{
    		Addr:     "http://192.168.102.238:8086",
    		Username: "kubespy",
    		Password: "kubespy",
    	})
    	if err != nil {
    		log.Fatal(err)
    	}
    	defer c.Close()
    
  • 相关阅读:
    前端性能优化-全链路质量监控体系建设
    前端性能优化-研发开发流程优化
    一次VLAN标签引发的网络事件的处置
    2001
    SpringBoot定时任务
    在el-dialog中使用ref找不到元素?
    el-table使用checkbox时,获取选中数据的id?
    SpringBoot邮件发送
    表单中el-select和el-input的长度不一致?
    element-ui如何修改el-dialog的样式?
  • 原文地址:https://www.cnblogs.com/bforever/p/10601229.html
Copyright © 2011-2022 走看看