13.配置 influxDB 鉴权及 HTTP API 写数据的方法
13.配置 influxDB 鑒權及 HTTP API 寫數據的方法
13.1.創建InfluxDB管理賬號
13.1.1.創建admin賬號密碼并賦予所有數據庫權限
13.2.打開認證
13.2.1.命令行CLI登錄
13.3.開啟鑒權后如何寫數據
13.3.1.使用insert命令行寫數據
13.3.2.使用HTTP API寫數據
13.3.3.除了命令關鍵字不同,數據部分基本相同,僅觀察一下數據部分
13.3.4.這行數據含有兩個空格,將之分為三個部分
13.3.5.第一種寫數據方式
13.3.6.第二種寫數據方式:
13.配置 influxDB 鑒權及 HTTP API 寫數據的方法
轉自:https://blog.csdn.net/caodanwang/article/details/51967393
本文簡要描述如何為 InfluxDB 開啟鑒權和配置用戶管理權限(安裝后默認不需要登錄),以及開啟鑒權后如何使用 HTTP API 寫數據。
13.1.創建InfluxDB管理賬號
13.1.1.創建admin賬號密碼并賦予所有數據庫權限
1、創建
CREATE USER admin WITH PASSWORD 'admin';2、賦權
GRANT ALL PRIVILEGES TO admin;13.1.2.其他命令
1、修改用戶(密碼)
SET PASSWORD FOR admin = 'admin';2、刪除用戶
DROP USER admin;3、撤銷權限
REVOKE ALL ON mydb FROM admin;4、查看權限
SHOW GRANTS FOR admin;13.2.打開認證
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
13.2.1.命令行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"13.3.開啟鑒權后如何寫數據
13.3.1.使用insert命令行寫數據
> INSERT cpu_load_short,host=server01,region=us-west value=0.64,value2=0.86 1434055562000000000;13.3.2.使用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";13.3.3.除了命令關鍵字不同,數據部分基本相同,僅觀察一下數據部分
cpu_load_short,host=server01,region=us-west value=0.64,value2=0.86 1434055562000000000;13.3.4.這行數據含有兩個空格,將之分為三個部分
第一部分: 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,是時間戳,如果該部分省略,則默認將當前時間的時間戳插入數據庫,否則按照用戶輸入的時間戳插入。
13.3.5.第一種寫數據方式
產生 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-034aeaa91f10cpu_load_short,host=server01,region=us-west value=0.64,value2=0.86 1434055565000000000;13.3.6.第二種寫數據方式:
產生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-0a1194752a86cpu_load_short,host=server01,region=us-west value=0.64,value2=0.86 1434055565000000000 與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的13.配置 influxDB 鉴权及 HTTP API 写数据的方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 当了5年兵,参加汶川地震,60周年大阅兵
- 下一篇: 枪发催泪弹和防爆发射器用催泪弹的差异?