91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Docker中的Influxdb研究與實踐

發布時間:2021-09-15 15:12:05 來源:億速云 閱讀:173 作者:chen 欄目:云計算

這篇文章主要介紹“Docker中的Influxdb研究與實踐”,在日常操作中,相信很多人在Docker中的Influxdb研究與實踐問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Docker中的Influxdb研究與實踐”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

Influxdb研究與實踐:

influxdb介紹:

使用TSM(Time Structured Merge)存儲引擎,允許高攝取速度和數據壓縮; 
使用go編寫,無需其他依賴; 
簡單,高性能寫查詢httpAPI接口; 
支持其他數據獲取協議的插件,比如graphite,collected,OpenTSDB; 
使用relay構建高可用https://docs.influxdata.com/influxdb/v1.0/high_availability/relay/;
擴展的類sql語言,很容易查詢匯總數據; 
tag的支持,可用讓查詢變的更加高效和快速; 
保留策略有效地自動淘汰過期的數據; 
持續所產生的自動計算的數據會使得頻繁的查詢更加高效; 
web管理頁面的支持

下載安裝:

github:https://github.com/influxdata/influxdb 源碼編譯 
官網下載: 
Centos系列:wgethttps://dl.influxdata.com/influxdb/releases/influxdb-1.0.0.x86_64.rpm && sudo yum localinstall influxdb-1.0.0.x86_64.rpm 
源碼包系列:wgethttps://dl.influxdata.com/influxdb/releases/influxdb-1.0.0_linux_amd64.tar.gz && tar xvfz influxdb-1.0.0_linux_amd64.tar.gz 
docker系列:docker pull influxdb 
安裝手冊:https://docs.influxdata.com/influxdb/v0.9/introduction/installation/

配置:

#cat /etc/influxdb/influxdb.conf
reporting-disabled = false
[registration]
[meta]
dir = "/var/lib/influxdb/meta"
hostname = "10.0.0.2"    #此hostname必須寫本機,否則無法連接到數據操作的API
bind-address = ":8088"
retention-autocreate = true
election-timeout = "1s"
heartbeat-timeout = "1s"
leader-lease-timeout = "500ms"
commit-timeout = "50ms"
cluster-tracing = false
[data]
dir = "/var/lib/influxdb/data"
max-wal-size = 104857600 # Maximum size the WAL can reach before a flush. Defaults to 100MB.
wal-flush-interval = "10m" # Maximum time data can sit in WAL before a flush.
wal-partition-flush-delay = "2s" # The delay time between each WAL partition being flushed.
wal-dir = "/var/lib/influxdb/wal"
wal-logging-enabled = true
[hinted-handoff]
enabled = true
dir = "/var/lib/influxdb/hh"
max-size = 1073741824
max-age = "168h"
retry-rate-limit = 0
retry-interval = "1s"
retry-max-interval = "1m"
purge-interval = "1h"
[admin]
enabled = true
bind-address = ":8083"
https-enabled = false
https-certificate = "/etc/ssl/influxdb.pem"
[http]
enabled = true
bind-address = ":8086"
auth-enabled = false
log-enabled = true
write-tracing = false
pprof-enabled = false
https-enabled = false
https-certificate = "/etc/ssl/influxdb.pem"
[opentsdb]
enabled = false
[collectd]
enabled = false

注意:influxdb服務會啟動三個端口:8086為服務的默認數據處理端口,主要用來influxdb數據庫的相關操作,可提供相關的API;8083為管理員提供了一個可視化的web界面,用來為用戶提供友好的可視化查詢與數據管理;8088主要為了元數據的管理。需要注意的是,influxdb默認是需要influxdb用戶啟動,且數據存放在/var/lib/influxdb/下面,生產環境需要注意這個。

啟動:

和telegraf啟動方式一樣,可以使用init.d或者systemd進行管理influxdb 
注意,啟動之后需要查看相關的端口是否正在監聽,并檢查日志確保服務正常啟動

使用:

如果說使用telegraf最核心的部分在配置,那么influxdb最核心的就是SQL語言的使用了。influxdb默認支持三種操作方式: 
登錄influxdb的shell中操作:

創建數據庫:
create database mydb
創建用戶:
create user "bigdata" with password 'bigdata' with all privileges
查看數據庫:
show databases;
數據插入:
insert bigdata,host=server001,regin=HC load=88
切換數據庫:
 use mydb
查看數據庫中有哪些measurement(類似數據庫中的表):
show measurements
查詢:
select * from cpu limit 2
查詢一小時前開始到現在結束的:
#select load from cpu where time > now() - 1h
查詢從歷史紀元開始到1000天之間:
#select load from cpu where time < now() + 1000d
查找一個時間區間:
#select load from cpu where time > '2016-08-18' and time < '2016-09-19'
查詢一個小時間區間的數據,比如在September 18, 2016 21:24:00:后的6分鐘:
#select load from cpu where time > '2016-09-18T21:24:00Z' +6m
使用正則查詢所有measurement的數據:
#select * from /.*/ limit 1
#select * from /^docker/ limit 3
#select * from /.*mem.*/ limit 3
正則匹配加指定tag:(=~ !~)
#select * from cpu where "host" !~ /.*HC.*/ limit 4
#SELECT * FROM "h3o_feet" WHERE ("location" =~ /.*y.*/ OR "location" =~ /.*m.*/) AND "water_level" > 0 LIMIT 4
排序:group by的用法必須得是在復合函數中進行使用
#select count(type) from events group by time(10s)
#select count(type) from events group by time(10s),type
給查詢字段做tag:
#select count(type) as number_of_types group by time(10m)
#select count(type) from events group by time(1h) where time > now() - 3h
使用fill字段:
#select count(type) from events group by time(1h) fill(0)/fill(-1)/fill(null) where time > now() - 3h
數據聚合:
select count(type) from user_events merge admin_events group by time(10m)

使用API進行操作數據:

創建數據庫:
curl -G "http://localhost:8086/query" --data-urlencode "q=create database mydb"
插入數據:
curl -XPOST 'http://localhost:8086/write?db=mydb' -d 'biaoge,name=xxbandy,xingqu=coding age=2'
curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'
curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load_short,host=server02 value=0.67
cpu_load_short,host=server02,region=us-west value=0.55 1422568543702900257
cpu_load_short,direction=in,host=server01,region=us-west value=2.0 1422568543702900257'
將sql語句寫入文件,并通過api插入:
#cat sql.txt
cpu_load_short,host=server02 value=0.67
cpu_load_short,host=server02,region=us-west value=0.55 1422568543702900257
cpu_load_short,direction=in,host=server01,region=us-west value=2.0 1422568543702900257
#curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary @cpu_data.txt

查詢數據:(--data-urlencode "epoch=s" 指定時間序列 "chunk_size=20000" 指定查詢塊大小)
# curl -G http://localhost:8086/query?pretty=true --data-urlencode "db=ydb" --data-urlencode "q=select * from biaoge where xingqu='coding'"
數據分析:
#curl -G http://localhost:8086/query?pretty=true --data-urlencode "db=mydb" --data-urlencode "q=select mean(load) from cpu"
#curl -G http://localhost:8086/query?pretty=true --data-urlencode "db=mydb" --data-urlencode "q=select load from cpu"
可以看到load的值分別是42 78 15.4;用mean(load)求出來的值為45,13
curl -G http://localhost:8086/query?pretty=true --data-urlencode "db=ydb" --data-urlencode "q=select mean(load) from cpu where host='server01'"

使用influxdb提供的web界面進行操作:

Docker中的Influxdb研究與實踐

這里只是簡單的介紹了influxdb的使用,后期如果想在grafana中匯聚并完美地展示數據,可能需要熟悉influxdb的各種查詢語法。(其實就是sql語句的一些使用技巧,聚合函數的使用,子查詢等等)

到此,關于“Docker中的Influxdb研究與實踐”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

张北县| 盈江县| 永川市| 巴林左旗| 台中县| 凤山县| 郓城县| 玉环县| 莫力| 永宁县| 东至县| 房产| 泗洪县| 白水县| 玛纳斯县| 安远县| 濮阳市| 阿瓦提县| 抚州市| 崇义县| 福泉市| 仁怀市| 阳东县| 措美县| 石门县| 桃源县| 宁陵县| 黑山县| 鄂托克旗| 河曲县| 台江县| 邵阳市| 兴安盟| 都匀市| 西华县| 武乡县| 新源县| 广饶县| 罗平县| 灯塔市| 木兰县|