日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

互联网级监控系统必备-时序数据库之Influxdb技术

發(fā)布時(shí)間:2023/12/4 windows 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 互联网级监控系统必备-时序数据库之Influxdb技术 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

時(shí)間序列數(shù)據(jù)庫(kù),簡(jiǎn)稱(chēng)時(shí)序數(shù)據(jù)庫(kù),Time Series?Database,一個(gè)全新的領(lǐng)域,最大的特點(diǎn)就是每個(gè)條數(shù)據(jù)都帶有Time列。

時(shí)序數(shù)據(jù)庫(kù)到底能用到什么業(yè)務(wù)場(chǎng)景,答案是:監(jiān)控系統(tǒng)。

Baidu一下,互聯(lián)網(wǎng)監(jiān)控系統(tǒng),大家會(huì)發(fā)現(xiàn)小米、餓了嗎等互聯(lián)網(wǎng)巨頭都在用時(shí)序數(shù)據(jù)庫(kù)實(shí)現(xiàn)企業(yè)級(jí)的互聯(lián)網(wǎng)監(jiān)控系統(tǒng)。

很多人會(huì)說(shuō),用Zabbix不就搞定了,其實(shí)不是這樣的,簡(jiǎn)單的主機(jī)資源監(jiān)控、網(wǎng)絡(luò)監(jiān)控、小規(guī)模的部署環(huán)境,Zabbix能搞定。

如果在IDC 上千臺(tái)服務(wù)器環(huán)境下,分布式應(yīng)用架構(gòu)、各種中間件,這種情況下我們要監(jiān)控上千臺(tái)服務(wù)的主機(jī)資源、網(wǎng)絡(luò)、按不同緯度監(jiān)控服務(wù)的性能、TPS,監(jiān)控各類(lèi)中間件,程序監(jiān)控埋點(diǎn)。Zabbix就無(wú)法

滿足需要了。此時(shí),我們要獨(dú)立搭建自己的監(jiān)控體系了。說(shuō)到這,每一個(gè)監(jiān)控圖表的背后,都有什么?

1. 時(shí)間軸

2. 數(shù)據(jù)值(不同指標(biāo)緯度)

例如,一段時(shí)間內(nèi)CPU使用率

這時(shí),各種Google、Baidu之后,你肯定會(huì)搜索到Influxdb、OpenTSDB等時(shí)序數(shù)據(jù)庫(kù)。

Influxdb我們研究了很長(zhǎng)的時(shí)間,準(zhǔn)備用2篇文章,推薦給大家,本文中,我們分享一下Influxdb的關(guān)鍵特性、查詢語(yǔ)法和使用場(chǎng)景。

一、Influxdb關(guān)鍵特性

1. 支持類(lèi)似SQL的查詢語(yǔ)法

2.提供了Http Api直接訪問(wèn)

3.存儲(chǔ)超過(guò)10億級(jí)別的時(shí)間序列數(shù)據(jù)

4.靈活的數(shù)據(jù)保留策略,可以定義到Database級(jí)別(只保留最熱的數(shù)據(jù))

5.內(nèi)置管理接口和CMD

6.飛一般速度的聚合查詢

7.按不同時(shí)間段進(jìn)行聚合查詢

8.內(nèi)置持續(xù)查詢功能,定時(shí)計(jì)算指定時(shí)間段的數(shù)據(jù),插入到指定表中,可以理解為定時(shí)歸集數(shù)據(jù)

9. 水平擴(kuò)展,支持集群模式

二、Influxdb 版本和.Net支持

1. 根據(jù)我們的使用經(jīng)驗(yàn),V0.10版本是非常穩(wěn)定的,V0.9.6我們用過(guò),有內(nèi)存泄漏問(wèn)題

2. GitHub上有非常多的.Net Libraby,方便我們寫(xiě)入和讀取數(shù)據(jù)

三、數(shù)據(jù)寫(xiě)入Write Data(Points)

Http API:
curl -i -XPOST 'http://localhost:8086/write?db=mydb' --data-binary 'cpu_load,host=server01,region=us-west value=0.64 1434055562000000000‘
db:mydb, 要寫(xiě)入的數(shù)據(jù)庫(kù)
measurement:cpu_load,表
tag keys:host? region? tag value:server01 us-west
tag標(biāo)簽可以理解為維度,可選參數(shù),用于標(biāo)識(shí)不同的數(shù)據(jù)源,基于tag使查詢更加簡(jiǎn)單和高效
?Tags are indexed so queries on tag keys or tag values are more performant than queries on fields.
key field:value? value field:0.64
Timestamp:1434055562000000000 可選參數(shù)、UTC

支持批量寫(xiě)入
支持同一個(gè)Timestamp寫(xiě)入不同的數(shù)據(jù)
Influxdb 支持存儲(chǔ)結(jié)構(gòu)靈活變化,可以在任意增加measure、tags、fields,但是每個(gè)tag、field的數(shù)據(jù)類(lèi)型必須固定。

四、查詢Query

Http API:
curl -G 'http://localhost:8086/query?pretty=true' --data-urlencode "db=mydb" --data-urlencode "q=SELECT value FROM cpu_load_short WHERE region='us-west‘
返回JSON格式數(shù)據(jù)
支持同時(shí)多個(gè)Query SQL
查詢最大返回10000個(gè)點(diǎn)的數(shù)據(jù),如果超過(guò)閾值,可以設(shè)置chunk_size
Measurement、Tag、Field、數(shù)據(jù)等大小寫(xiě)敏感,SQL關(guān)鍵字不區(qū)分大小寫(xiě)

支持算術(shù)計(jì)算:
SELECT (water_level * 2) + 4 from h2o_feet
支持對(duì)Tags進(jìn)行過(guò)濾查詢,條件必須使用單引號(hào)
SELECT water_level FROM h2o_feet WHERE location = 'santa_monica'
Tag value 為空、不為空過(guò)濾
SELECT * FROM h2o_feet WHERE location !~ /.*/
SELECT * FROM h2o_feet WHERE location =~ /.*/
時(shí)間范圍過(guò)濾
SELECT * FROM h2o_feet WHERE time > now() - 7d
Field value過(guò)濾
SELECT * FROM h2o_feet WHERE location = 'coyote_creek' AND? water_level > 8

聚合函數(shù)、選擇函數(shù)、轉(zhuǎn)換函數(shù)

五、持續(xù)查詢(Continuous Queries)

持續(xù)查詢是Influxdb自動(dòng)、周期的運(yùn)行的查詢,結(jié)果自動(dòng)存儲(chǔ)

設(shè)計(jì)持續(xù)查詢的目的是為了規(guī)則采樣數(shù)據(jù),比如按天、按月采樣數(shù)據(jù)

CREATE CONTINUOUS QUERY <cq_name> ON <database_name> [RESAMPLE [EVERY <interval>] [FOR <interval>]] BEGIN SELECT <function>(<stuff>)[,<function>(<stuff>)] INTO <different_measurement> FROM <current_measurement> [WHERE <stuff>] GROUP BY time(<interval>)[,<stuff>] END

六、 監(jiān)控應(yīng)用場(chǎng)景

通過(guò)上面幾個(gè)部分的介紹,Influxdb的基本語(yǔ)法就可以掌握了。有什么作用:

1. 實(shí)時(shí)采集監(jiān)控?cái)?shù)據(jù),按時(shí)間寫(xiě)入Influxdb

2. 按不同緯度聚合查詢監(jiān)控?cái)?shù)據(jù),用于監(jiān)控展現(xiàn)

3. 持續(xù)查詢,定時(shí)歸集指定時(shí)間的數(shù)據(jù),用于更大時(shí)間范圍監(jiān)控?cái)?shù)據(jù)的展現(xiàn)

總結(jié)一下,場(chǎng)景結(jié)合實(shí)踐,通過(guò)實(shí)際監(jiān)控系統(tǒng)的應(yīng)用,和大家分享了Influxdb的使用和技能。我們自己的監(jiān)控系統(tǒng)就是通過(guò)這個(gè)套路一點(diǎn)點(diǎn)搭建起來(lái)的。

目前,我們的監(jiān)控平臺(tái),2500個(gè)監(jiān)控項(xiàng),500臺(tái)服務(wù)器實(shí)時(shí)監(jiān)控,每日處理上T數(shù)據(jù),幾百個(gè)監(jiān)控圖表,Influxdb滿足了我們?nèi)粘3笠?guī)模監(jiān)控的需要。

同時(shí),Influxdb在大數(shù)據(jù)展現(xiàn)領(lǐng)域,也有不俗的表現(xiàn),Druid的集成也很棒的。

原文地址:http://www.cnblogs.com/tianqing/p/7152940.html


.NET社區(qū)新聞,深度好文,微信中搜索dotNET跨平臺(tái)或掃描二維碼關(guān)注

總結(jié)

以上是生活随笔為你收集整理的互联网级监控系统必备-时序数据库之Influxdb技术的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。