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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

TDengine 在IT运维监控领域的应用

發(fā)布時(shí)間:2024/3/13 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 TDengine 在IT运维监控领域的应用 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


目錄

    • 前言
    • 一、TD 特點(diǎn)
    • 二、安裝部署
      • 2.1 部署
      • 2.2 驗(yàn)證
    • 三、應(yīng)用領(lǐng)域
      • 3.1 運(yùn)維監(jiān)控
      • 3.2 遠(yuǎn)端擴(kuò)展
    • 總結(jié)

前言

TDengine 由北京濤思數(shù)據(jù)科技有限公司(TAOS Data)自主研發(fā),而且不依賴于任何開源或第三方軟件,擁有自主的知識(shí)產(chǎn)權(quán)。其應(yīng)用領(lǐng)域涉及到物聯(lián)網(wǎng)、車聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)、IT運(yùn)維等。接下來聊一下 TDengine 在IT運(yùn)維監(jiān)控領(lǐng)域的應(yīng)用。

一、TD 特點(diǎn)

TDengine 是一個(gè)時(shí)序數(shù)據(jù)庫(kù),所謂時(shí)序數(shù)據(jù),就是以時(shí)間軸為維度至上而下的一系列序列(樣本),尤其是在 IT 基礎(chǔ)設(shè)施、運(yùn)維監(jiān)控系統(tǒng)和物聯(lián)網(wǎng)中應(yīng)用得最為廣泛。當(dāng)然時(shí)序數(shù)據(jù)庫(kù)來說還有很多,比如 InfluxDB、Prometheus、Graphite等。而對(duì)于 TDengine,它有以下幾個(gè)特點(diǎn):

  • 高性能;
  • 高可靠;
  • 可伸縮;
  • 零管理。

至于這些特點(diǎn)所代表的是什么意思,我認(rèn)為只有你親自實(shí)踐和應(yīng)用之后才能有所體會(huì)。而我們?yōu)槭裁床贿x擇傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)呢?盡管傳統(tǒng)的關(guān)系型數(shù)據(jù)庫(kù)也能夠處理這些數(shù)據(jù),但在面對(duì)物聯(lián)網(wǎng)大數(shù)據(jù)時(shí)就會(huì)顯得心有余而力不足。

二、安裝部署

接下來就是我們的安裝部署環(huán)節(jié),為了節(jié)省時(shí)間,我這里選擇使用 Docker 方式進(jìn)行部署。而對(duì)于 Docker 的安裝,我之前的博客有做過詳細(xì)介紹《Docker + Jenkins + Gitlab 自動(dòng)化構(gòu)建部署》,這里就不再過多贅述。想要了解更多 Docker 相關(guān)內(nèi)容,可去其 Docker官方,里面介紹都非常詳細(xì)。廢話不多說,接下來直接進(jìn)行安裝部署。

2.1 部署

1、pull 鏡像

2、運(yùn)行容器

-itd # -i:標(biāo)準(zhǔn)輸入輸出 -t:分配一個(gè)終端或控制臺(tái) -d:后臺(tái)啟動(dòng) -u root # 以root身份執(zhí)行 --privileged=true # 擁有root權(quán)限 --name tdengine # 容器實(shí)例名 --restart=always # 容器隨docker自啟動(dòng),因?yàn)橹貑ocker時(shí),默認(rèn)容器都會(huì)被關(guān)閉 -p # 映射端口 -v # 映射目錄 -e # 指定時(shí)區(qū)

啟動(dòng)容器時(shí),我映射了多個(gè)端口,關(guān)于這些端口,大家可以查看TDengine 官方端口說明。而我們用 Docker 啟動(dòng)的容器時(shí),其時(shí)間和宿主機(jī)時(shí)間可能不一致,關(guān)于如何實(shí)現(xiàn)兩者時(shí)間的一致性,大家可以參考我之前的博文《Docker容器與宿主機(jī)設(shè)置時(shí)間同步》。

3、安裝 TDengine 客戶端

:這里很奇怪,在我沒安裝 TDengine 客戶端之前,TDengine 容器的目錄卷/etc/taos總是映射(掛載)不到宿主機(jī)上,其實(shí)也不是映射不了,就是映射后宿主機(jī)的/etc/taos是一個(gè)空文件夾,配置文件居然不見了,然后我就docker exec進(jìn)入容器后,找出配置文件所在路徑xxx(具體路徑忘了),不應(yīng)該啊,不是在/etc/taos嗎。既然這樣我就重新把這個(gè)目錄xxx掛載到/etc/taos,這次總該沒錯(cuò)了吧,結(jié)果宿主機(jī)目錄依然為空。盡管容器是可正常運(yùn)行的,但是外部根本訪問不了 TDengine,那這將毫無意義啊,還占用我那么多端口。

還得出殺手锏啊,運(yùn)行的容器總該要有客戶端來登錄吧,要不然每次都docker exec進(jìn)入,真麻煩。然后我就去 TDengine 官網(wǎng)下載客戶端的源碼包(下載地址傳送門),安裝很簡(jiǎn)單,直接運(yùn)行壓縮包里的可執(zhí)行腳本文件即可(安裝成功可看到successful字樣)。然后你會(huì)發(fā)現(xiàn)宿主機(jī)的/etc/taos居然出現(xiàn)了配置文件,當(dāng)然這一切都回歸正常了,外部也可正常訪問了。不知道用 Docker 方式部署的小伙伴們有沒有出現(xiàn)這個(gè)問題。

2.2 驗(yàn)證

通過 TDengineGUI 看看是否可連接上部署好的數(shù)據(jù)庫(kù),配置完成后可看到連接成功。TDengineGUI 是由天大某團(tuán)隊(duì)開發(fā)的一款開源工具,該工具通過 TDengine RESTful 連接數(shù)據(jù)庫(kù),可對(duì)相關(guān)的表做簡(jiǎn)單的查詢,還是挺方便的,大家可以體驗(yàn)一下,下載渠道為:GitHub、碼云。

至此,TDengine 就已經(jīng)部署完成!!

三、應(yīng)用領(lǐng)域

3.1 運(yùn)維監(jiān)控

1、監(jiān)控方案

在實(shí)際生產(chǎn)中,我制定了多套監(jiān)控方案(告警這里先忽略,后續(xù)會(huì)講到),分別為:

  • Exporter + prometheus + Grafana;

  • Telegraf + prometheus + Grafana;

  • Telegraf + TDengine + Grafana;

  • Telegraf + InfluxDB + Grafana。

我個(gè)人認(rèn)為相對(duì)于 Exporter 來說,Telegraf 更容易管理和維護(hù)。首先 Exporter 是各種獨(dú)立的資源包,盡管它是開箱即用,但是你并不能保證每個(gè) Exporter 都是存活的。而對(duì)于 Telegraf 來說,它更集中。在說 Telegraf 之前先說一聲 Telegraf 是什么?

2、Telegraf 介紹

Telegraf 是TICK Stack的一部分,是一個(gè)輕量級(jí)插件驅(qū)動(dòng)的服務(wù)器代理,用于收集和報(bào)告各種指標(biāo),包括從第三方 API 提取指標(biāo) , 它還具有輸出插件,可將指標(biāo)發(fā)送到各種其他數(shù)據(jù)存儲(chǔ)、服務(wù)和消息隊(duì)列,包括 InfluxDB、Graphite、OpenTSDB、Datadog、Librato、Kafka、MQTT、NSQ 等。 Telegraf 下載地址傳送門,Telegraf 官方文檔傳送門。

3、相關(guān)部署文檔

以上監(jiān)控方案的部署文檔在我之前的博客中有詳細(xì)部署步驟(除了 InfluxDB,不過部署方法都大同小異),還沒部署過得小伙伴可以去參考參考哦。

《Prometheus + Grafana 監(jiān)控平臺(tái)》

《Telegraf + Promethue + Grafana 監(jiān)控平臺(tái)》

《Telegraf + TDengine + Grafana 監(jiān)控平臺(tái)》

其實(shí)部署都很簡(jiǎn)單,重點(diǎn)在于監(jiān)控指標(biāo),指標(biāo)查詢方法,用過 TDengine 的小伙伴應(yīng)該都知道,其查詢方式基本上和 mysql 的查詢方式一致。

4、其他說明

相對(duì)于 Prometheus、InfluxDB 來說,其在 grafana web 展示中沒有更多的模板,也就是說每個(gè)圖表都需要手動(dòng)創(chuàng)建,以及相應(yīng)的指標(biāo)查詢(計(jì)算)sql 語句,因此要熟悉基本的 sql 查詢語句、相關(guān)的 sql 函數(shù)、聚合等。不過相對(duì)于 Prometheus 來說,學(xué)習(xí)成本更低,因?yàn)?Prometheus 也有一套查詢語言。關(guān)于如何選擇時(shí)序數(shù)據(jù)庫(kù),這得根據(jù)你的應(yīng)用場(chǎng)景,后續(xù)會(huì)繼續(xù)對(duì)比分析各時(shí)序的優(yōu)缺點(diǎn)、性能等。在者就是,TDengine 支持集群,而且是免費(fèi)的,InfluxDB 也支持集群,但是其集群版是收費(fèi),而 Prometheus 卻只支持單節(jié)點(diǎn)部署,因此接下來我會(huì)介紹使用 Prometheus 作為數(shù)據(jù)存儲(chǔ)時(shí),如何對(duì)其做遠(yuǎn)端擴(kuò)展。

3.2 遠(yuǎn)端擴(kuò)展

這里我采用 Prometheus 作為數(shù)據(jù)存儲(chǔ),同樣跳過部署過程,由于 Prometheus 是單節(jié)點(diǎn)部署,沒有集群或高可用,因此我們可以采用其他時(shí)序數(shù)據(jù)庫(kù)作為遠(yuǎn)端存儲(chǔ),從而實(shí)現(xiàn) Prometheus 僅收集數(shù)據(jù),不存儲(chǔ)數(shù)據(jù),其數(shù)據(jù)可存儲(chǔ)到其他時(shí)序數(shù)據(jù)庫(kù),如 InfluxDB、TimescaleDB、 PostgreSQL、TDengine 等。本次選擇 TDengine 作為遠(yuǎn)端數(shù)據(jù)存儲(chǔ),關(guān)于 Prometheus 寫入 TDengine,可參考 TD 官方文檔,其實(shí)就是通過 Bailongma API 接口寫入。

1、Bailongma 注意事項(xiàng)

Bailongma 源碼包提供了 telegraf API 和 Prometheus API 的編譯,針對(duì) telegraf API 的編譯方法我前面的博文也有具體步驟,Prometheus API 方式與其一致,但編譯時(shí)可能會(huì)提示缺少相關(guān)依賴,根據(jù)提示執(zhí)行即可,具體實(shí)例操作如下圖:下圖是在編譯 Prometheus API 出現(xiàn)的小問題,根據(jù)提示執(zhí)行即可。

當(dāng)生成blm_prometheus可執(zhí)行文件時(shí),表明編譯成功。具體參數(shù)說明,可通過 ./blm_prometheus -h進(jìn)行查看。

2、Prometheus 寫入配置

remote_write:- url: "http://10.20.10.69:6666/receive" remote_read:- url: "http://10.20.10.69:6666/pull"

這樣做的好處有什么呢?由于 Prometheus 是單節(jié)點(diǎn)的,不支持集群,因此存儲(chǔ)就成為它的瓶頸,這時(shí)通過寫入遠(yuǎn)端時(shí)序數(shù)據(jù)庫(kù)就可解決集群這個(gè)瓶頸,最關(guān)鍵的是 TDengine 的集群版是免費(fèi)的,而且性能也是非常好的,為 TDengine 官方的開源精神點(diǎn)贊。

3、監(jiān)控告警

其實(shí),以上僅僅是實(shí)現(xiàn)了數(shù)據(jù)的采集與存儲(chǔ),還差最后的告警。如果僅僅是采集數(shù)據(jù),那在監(jiān)控的領(lǐng)域中將是毫無意義的,因此我們還得配合 AlertManager 進(jìn)行相應(yīng)的告警閾值設(shè)置和告警操作(郵件、短信等),這個(gè)告警部分后面單獨(dú)分享。

總結(jié)

通過上面的簡(jiǎn)單介紹,其實(shí) TDengine 還是挺人性化的,其有著我們熟悉的 sql 查詢語句,而且還支持連續(xù)查詢、數(shù)據(jù)訂閱、緩存、報(bào)警監(jiān)測(cè)等高級(jí)功能。再就是關(guān)于 TDengine 在監(jiān)控領(lǐng)域的應(yīng)用,重點(diǎn)不在于如何安裝部署,而是在于其數(shù)據(jù)存儲(chǔ)的性能,因?yàn)楸O(jiān)控?zé)o非是做一個(gè)數(shù)據(jù)的存儲(chǔ)。后續(xù)會(huì)繼續(xù)分享各時(shí)序數(shù)據(jù)庫(kù)的性能對(duì)比、應(yīng)用場(chǎng)景以及告警操作等。

本文正在參與 擁抱開源 │ 濤思數(shù)據(jù) TDengine 有獎(jiǎng)?wù)鞲?br /> 活動(dòng)鏈接:https://marketing.csdn.net/p/0ada836ca30caa924b9baae0fd33857c

<點(diǎn)擊跳轉(zhuǎn)至開頭>

總結(jié)

以上是生活随笔為你收集整理的TDengine 在IT运维监控领域的应用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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