配置 influxDB 鉴权及 HTTP API 写数据的方法
本文简要描述如何为 InfluxDB 开启鉴权和配置用户管理权限(安装后默认不需要登录),以及开启鉴权后如何使用 HTTP API 写数据。
创建 InfluxDB 管理员账号
创建 admin 帐号密码并赋予所有数据库权限
创建
CREATE USER admin WITH PASSWORD ‘admin‘
赋权
GRANT ALL PRIVILEGES TO admin
其他命令
修改用户(密码)
SET PASSWORD FOR admin = ‘admin‘
删除用户
DROP USER admin
撤消权限
REVOKE ALL ON mydb FROM admin
查看权限
SHOW GRANTS FOR admin
打开认证
vi /etc/influxdb/influxdb.conf
把 [http] 标签下的 auth-enabled 选项值改为 true
[http]
enabled = true
bind-address = ":8086"
auth-enabled = true # ✨
log-enabled = true
write-tracing = false
pprof-enabled = false
https-enabled = false
https-certificate = "/etc/ssl/influxdb.pem"
重启 InfluxDB
命令行 CLI 登录
$ influx -username admin -password admin
Connected to http://localhost:8086 version 0.13.x
InfluxDB shell 0.13.x
>
或者
$ influx
Connected to http://localhost:8086 version 0.13.x
InfluxDB shell 0.13.x
> auth
username: admin
password:
>
HTTP API 查询的方式变为
curl -G "http://localhost:8086/query" -u admin:admin --data-urlencode "q=SHOW DATABASES"
curl -G "http://localhost:8086/query" --data-urlencode "u=admin" --data-urlencode "p=admin" --data-urlencode "q=SHOW DATABASES"
curl -G "http://localhost:8086/query?u=admin&p=admin&q=SHOW+DATABASES"
开启鉴权后如何写数据
使用insert命令行写数据:
> INSERT cpu_load_short,host=server01,region=us-west value=0.64,value2=0.86 1434055562000000000
使用HTTP API写数据:
用户名密码写在 URL 中
curl -i -X POST "http://localhost:8086/write?db=mydb&u=admin&p=admin" --data-binary "cpu_load_short,host=server01,region=us-west value=0.64,value2=0.86 1434055562000000000"
用户名密码写在 HTTP 头 Authorization 选项
curl -i -X POST "http://localhost:8086/write?db=mydb" -u admin:admin --data-binary "cpu_load_short,host=server01,region=us-west value=0.64,value2=0.86 1434055562000000000"
除了命令关键字不同,数据部分基本相同,仅观察一下数据部分:
cpu_load_short,host=server01,region=us-west value=0.64,value2=0.86 1434055562000000000
这行数据含有两个空格,将之分为三个部分:
第一部分: cpu_load_short,host=server01,region=us-west
第一部分称为key,key中包含了measurement name和tags(tags又分为tag key和tag value,tags可以有多个),例子中的“cpu_load_short”就是measurement name,“host”和“reginon”是tag key,“server01”和“us-west”是对应的tag value。在我看来,measurement name和MySQL数据库的表名是等同的。另外,在tag value中的空格应以“/”加上空格表示,若有多个tag value,可以使用逗号隔开,但是应以“/”加逗号表示。
第二部分:value=0.64,value2=0.86
第二部分称为Field,同样和tags的形式相同,都是键值对的形式,但是tags中的值必须是string类型,而Field中的值可以为Integer、float、Boolean、string类型,若为Integer类型,则值后必须加“i”,否则该值为float类型,比如value=23意味着这个值23是float类型,而value=23i,意味着值23是Integer类型。Boolean类型的值的表示方式有很多,直接写成:t, T, true, TRUE, f, F, false或 FALSE都可以。
第三部分(可选):1434055562000000000
第三部分称为Timestamp,是时间戳,如果该部分省略,则默认将当前时间的时间戳插入数据库,否则按照用户输入的时间戳插入。
第一种写数据方式
产生 HTTP 包(使用 Chrome 插件 Postman 生成)
POST /write?db=mydb HTTP/1.1
Host: 192.168.6.93:8086
Authorization: Basic YWRtaW46YWRtaW4=
Cache-Control: no-cache
Postman-Token: d3ce583a-1e11-63ec-a818-034aeaa91f10
cpu_load_short,host=server01,region=us-west value=0.64,value2=0.86 1434055565000000000
第二种写数据方式
产生 HTTP 包
POST /write?db=mydb&u=admin&p=admin HTTP/1.1
Host: 192.168.6.93:8086
Cache-Control: no-cache
Postman-Token: 6773f66a-de4c-435d-6469-0a1194752a86
cpu_load_short,host=server01,region=us-west value=0.64,value2=0.86 1434055565000000000
---------------------
作者:caodanwang
来源:CSDN
原文:https://blog.csdn.net/caodanwang/article/details/51967393
版权声明:本文为博主原创文章,转载请附上博文链接!
配置 influxDB 鉴权及 HTTP API 写数据的方法的更多相关文章
- 从API请求数据的方法(主要适用于tp5)
// 从api获取数据,$data是一个数组,默认为空,请求数据的方法可以通用,但是其它说明只适用于tp5 function postData($url,$data=''){ $ch = curl_i ...
- Go + gRPC-Gateway(V2) 构建微服务实战系列,小程序登录鉴权服务:第一篇(内附开发 demo)
简介 小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身份标识,快速建立小程序内的用户体系. 系列 云原生 API 网关,gRPC-Gateway V2 初探 业务流程 官方开发接入文档 ...
- 使用SpringSecurity Oauth2.0实现自定义鉴权中心
Oauth2.0是什么不在赘述,本文主要介绍如何使用SpringSecurity Oauth2.0实现自定义的用户校验 1.鉴权中心服务 首先,列举一下我们需要用到的依赖,本文采用的是数据库保存用户信 ...
- Session, Token, OAuth 鉴权那些事儿
鉴权那些事 整体思路 无论什么样的服务, Web 服务总是不能绕开鉴权这个话题的, 通过有效的鉴权手段来保护网站数据, 来为特定用户提供服务. 整体来说, 有三种方式: Session-Cookie ...
- Smart3D系列教程7之 《手动配置S3C索引加载全部的瓦片数据》
一.前言 迄今为止,Wish3D已经出品推出了6篇系列教程,从倾斜摄影的原理方法.采集照片的技巧.Smart3D各模块的功能应用.小物件的照片重建.大区域的地形重建到DSM及正射影像的处理生产,立足于 ...
- AT24C02跨页写数据
AT24C02 EEPROM的写数据分为:字节写数据模式和页写数据模式:字节写就是一个地址一个数据的写,页写是连续写数据,一个地址多个数据的写,但是页写不能自动跨页,如果超出一页长度,超出的数据会覆盖 ...
- 认证鉴权与API权限控制在微服务架构中的设计与实现(四)
引言: 本文系<认证鉴权与API权限控制在微服务架构中的设计与实现>系列的完结篇,前面三篇已经将认证鉴权与API权限控制的流程和主要细节讲解完.本文比较长,对这个系列进行收尾,主要内容包括 ...
- laravel JWTAuth实现api接口鉴权(基础篇)
官网:https://jwt-auth.readthedocs.io 参考:https://learnku.com/articles/10885/full-use-of-jwt#99529f 1.to ...
- 自定义分布式RESTful API鉴权机制
微软利用OAuth2为RESTful API提供了完整的鉴权机制,但是可能微软保姆做的太完整了,在这个机制中指定了数据持久化的方法是用EF,而且对于用户.权限等已经进行了封装,对于系统中已经有了自己的 ...
随机推荐
- 计时器---JS
<script type="text/javascript"> function count(){ var a=document.getElementById(&quo ...
- PHPweb应用攻击总结(转)
XSS跨站脚本 概念:恶意攻击者往Web页面里插入恶意html代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被执行,从而达到恶意用户的特殊目的. 危害: 盗取用户COOKIE信息. 跳转 ...
- c语言求最大公约数和最小公倍数(转)
最大公约数与最小公倍数的求解是很多初学C的人所面临的一道问题.当然这道问题并不难解答,也有很多人已经写过相关的博客,我在此书写此篇博客,一是为了让自己能够夯实基础,另外就是希望能够帮到和我一样的初学者 ...
- #python str.format 方法被用于字符串的格式化输出。
#python str.format 方法被用于字符串的格式化输出. #''.format() print('{0}+{1}={2}'.format(1,2,3)) #1+2=3 可见字符串中大括号内 ...
- java一些必会算法
经典算法的Java实现 (1)河内塔问题: 42 (2)费式数列 43 (3)巴斯卡(Pascal)三角形 44 (4)蒙地卡罗法求 PI 45 (5)最大公因数.最小公倍数 46 (6)阿姆斯壮数 ...
- 2017.5.11 Yarn
Yarn在hadoop中的位置 Yarn的优点 YARN把JobTracker分为ResouceManager和ApplicationMaster,ResouceManager专管整个集群的资源管理和 ...
- hdu1695 GCD 容斥原理
Given 5 integers: a, b, c, d, k, you're to find x in a...b, y in c...d that GCD(x, y) = k. GCD(x, y) ...
- 【mybatis源码学习】利用maven插件自动生成mybatis代码
[一]在要生成代码的项目模块的pom.xml文件中添加maven插件 <!--mybatis代码生成器--> <plugin> <groupId>org.mybat ...
- 【添加最新版本的mysql的jdbc连接jar包】java.math.BigInteger cannot be cast to java.lang.Long异常
[问题描述] 从我的电脑把项目拷贝到guo小中的win8电脑,but出现了那个错误,估计他的mysql是最新版本的. [如何下载连接jar包] 链接:https://pan.baidu.com/s/1 ...
- MySQL DataType--数值类型
=========================================================MySQL常见的整数类型有:TINYINT: 占用8位空间SMALLINT: 占用16 ...