无码人妻精品一区二区三18禁,影音先锋男人AV橹橹色,污污污污污污www网站免费,日韩成人av无码一区二区三区,欧美性受xxxx狂喷水

基于 TDgpt 時序數據智能體的運維異常檢測

derekchen

2025-03-26 / ,

Demo數據集準備

我們(men)使用公開的(de)(de)里亞(ya)馬(ma)遜AWS東海岸(an)數據中心一(yi)次API網關(guan)故障中,某個服務器上的(de)(de)CPU使用率(lv)數據。數據的(de)(de)頻(pin)率(lv)為5min,單位為占用率(lv)。由于API網關(guan)的(de)(de)故障,會導(dao)致(zhi)服務器上的(de)(de)相關(guan)應用陷入頻(pin)繁的(de)(de)異常(chang)(chang)處理和重試,進而(er)導(dao)致(zhi)CPU使用率(lv)的(de)(de)異常(chang)(chang)波動。TDgpt的(de)(de)異常(chang)(chang)檢測(ce)算法(fa)將識別出這種(zhong)異常(chang)(chang)。

該數據文件,放置于//github.com/taosdata/TDgpt-demo倉庫(ku)的(de)demo_data目錄下,請(qing)參考下文的(de)步驟導入TDengine以完成演示。數據(ju)集的(de)統計信息如下:

基于 TDgpt 時序數據智能體的運維異常檢測 - TDengine Database 時序數據庫

演示環境準備

環境要求

您(nin)可基于Linux、Mac以及(ji)Windows操作系統完(wan)成Demo系統的運行。但(dan)為使(shi)用docker-compose,您(nin)計算機上需要安裝有(you)下屬軟件:

  1. Git
  2. Docker Engine: v20.10+
  3. Docker Compose: v2.20+

Demo中包含3個docker鏡像(xiang) (TDengine, TDgpt, Grafana),以及一組(zu)用(yong)于產生預測(ce)/異常檢測(ce)結果(guo)的shell腳本。組(zu)件版本的要(yao)求如下:

基于 TDgpt 時序數據智能體的運維異常檢測 - TDengine Database 時序數據庫

克隆Demo倉庫到本地

git clone //github.com/taosdata/TDgpt-demo
cd TDgpt-demo
chmod 775 analyse.sh

文件(jian)夾下(xia)包(bao)(bao)含docker-compose.yml、tdengine.yml兩個(ge)yml文件(jian)。docker-compose.yml 包(bao)(bao)含了所有一鍵(jian)啟動demo所需(xu)的鏡像配置信(xin)息,其引(yin)用tdengine.yml作為Grafana的數據(ju)源配置。

TDgpt-demo/demo_data下包含三個(ge)csv文(wen)件(electricity_demand.csv、wind_power.csv、ec2_failure.csv),以及三個(ge)同前(qian)綴sql腳本,分別對應電力(li)需求預(yu)測(ce)、風力(li)發電預(yu)測(ce)和運維監控異(yi)常檢測(ce)場景。

TDgpt-demo/demo_dashboard下包含了三(san)個json文(wen)件(electricity_demand_forecast.json、wind_power_forecast.json、ec2_failure_anomaly.json),分別對應三(san)個場(chang)景的看板(ban)。

docker-compose.yml中已經(jing)定義了TDengine容器(qi)的持(chi)久化卷:tdengine-data,待容器(qi)啟動后(hou),使(shi)用(yong)docker cp命令將demo_data拷貝至容器(qi)內使(shi)用(yong)。

運行和關閉Demo

注意:在運行demo前,請根據您宿主機的架構(CPU類型),編輯docker-compose.yml文件,為TDengine指定對應的platform參數:linux/amd64(Intel/AMD CPU)或linux/arm64(ARM CPU)。TDgpt必須統一使用linux/amd64參數。

進入docker-compose.yml文(wen)件(jian)所在(zai)的(de)目錄(lu)執行如下命令,啟動(dong)TDengine、TDgpt和(he)Grafana一體化演示環境:

docker-compose up -d

首次(ci)運行時,等待10s后請執行如下命令(ling)將(jiang)TDgpt的Anode節點注冊到TDengine:

docker exec -it tdengine taos -s "create anode 'tdgpt:6090'"

在宿主機執行下列命令,初(chu)始化體驗測(ce)試環境的數據:

docker cp analyse.sh tdengine:/var/lib/taos
docker cp demo_data tdengine:/var/lib/taos
docker exec -it tdengine taos -s "source /var/lib/taos/demo_data/init_ec2_failure.sql"

關(guan)閉演示環境,請使(shi)用(yong):

docker-compose down

進行演示

1. 打開瀏覽(lan)器,輸(shu)入//localhost:3000,并用默認(ren)的用戶名口令admin/admin登錄Grafana。

2. 登錄成功后,進入路徑”Home → Dashboards”頁面,并且(qie)導入ec2_failure_anomaly.json文(wen)件。

基于 TDgpt 時序數據智能體的運維異常檢測 - TDengine Database 時序數據庫

3. 導(dao)入后,選擇(ze) “ec2_failure_anomaly”這個(ge)面(mian)板。面(mian)板已經配置好了真實(shi)值、k-Sigma以及(ji)Grubbs的(de)(de)(de)檢測(ce)(ce)(ce)結(jie)果(guo)。當前只(zhi)有(you)真實(shi)值的(de)(de)(de)數據曲線。異(yi)常檢測(ce)(ce)(ce)算(suan)(suan)法(fa)檢測(ce)(ce)(ce)是,并計(ji)算(suan)(suan)輸(shu)出異(yi)常窗口(kou)內(nei)的(de)(de)(de)統計(ji)特征(zheng)。呈現結(jie)果(guo)時,將(jiang)_wstart,即異(yi)常窗口(kou)的(de)(de)(de)起(qi)始(shi)時間(jian)(jian)戳作為(wei)檢測(ce)(ce)(ce)結(jie)果(guo)的(de)(de)(de)時間(jian)(jian)戳,將(jiang)異(yi)常窗口(kou)內(nei)的(de)(de)(de)均(jun)值作為(wei)異(yi)常統計(ji)值輸(shu)出。為(wei)了直觀對(dui)比了兩種算(suan)(suan)法(fa)的(de)(de)(de)預測(ce)(ce)(ce)結(jie)果(guo),k-Sigma算(suan)(suan)法(fa)的(de)(de)(de)繪圖點略大于Grubbs,從而讓二者的(de)(de)(de)結(jie)果(guo)不(bu)會被(bei)相互(hu)覆蓋(gai)。

4. 我(wo)們以analyze.sh腳本(ben),來進行異常檢測。首先完成k-Sigma算法的演示:

docker exec -it tdengine /var/lib/taos/analyse.sh --type anomaly --db tdgpt_demo --table ec2_failure --stable single_val --algorithm ksigma --params "k=3" --start "2014-03-07" --window 7d --step 1h

上述shell腳本,將(jiang)從指定的起始時間開始(2024-03-07)以(yi)七天(tian)的數據為輸(shu)入(ru),使用k-Sigma算法(fa)監(jian)測(ce)ec2_failure數據表(biao)中的異(yi)常,直到(dao)達到(dao)ec2_failure表(biao)中最(zui)后一天(tian)的記(ji)錄,并將(jiang)結(jie)果寫入(ru)ec2_failure_ksigma_result表(biao)中。執(zhi)行(xing)新的預測(ce)前,腳本會新建/清空對(dui)應的結(jie)果表(biao)。執(zhi)行(xing)過程中將(jiang)持續在控制臺(tai)上,按照一小時為單位推進輸(shu)出如下的執(zhi)行(xing)結(jie)果:

taos> INSERT INTO ec2_failure_ksigma_result 
                  SELECT _wstart, avg(val)          
                  FROM ec2_failure 
                  WHERE ts >= '2014-03-07 02:00:00' AND ts < '2014-03-14 02:00:00'
                  ANOMALY_WINDOW(val, 'algo=ksigma,k=3')
Insert OK, 10 row(s) affected (0.326801s)

這里使用1小(xiao)時(shi)的預(yu)測(ce)(ce)推進步長(chang)(–step),僅僅是(shi)為了讓動態檢測(ce)(ce)過程能夠(gou)很快的完成。–step也可(ke)以(yi)(yi)設置為更加細(xi)粒度的單(dan)位(wei),例如5m,從而產生更加實(shi)時(shi)的檢測(ce)(ce)結果(guo)。在具體應用場景(jing)下(xia),請用戶根據數據粒度、檢測(ce)(ce)實(shi)時(shi)性(xing)以(yi)(yi)及計算資源靈活使用。

5. Grafana的(de)看板上,配置刷新頻率為(wei)5s,將動態顯示(shi)預測結果(guo)的(de)黃(huang)色曲線,直觀(guan)呈現與實際(ji)值的(de)對比(bi)。為(wei)了展示(shi)清晰(xi),請按住(zhu)command鍵(jian)點(dian)擊左下(xia)角的(de)Real以及ksigma圖例(li)(Mac下(xia),Windows下(xia)請使用(yong)win鍵(jian)),從而只保留這兩條曲線展示(shi)。

基于 TDgpt 時序數據智能體的運維異常檢測 - TDengine Database 時序數據庫

基于 TDgpt 時序數據智能體的運維異常檢測 - TDengine Database 時序數據庫

基于 TDgpt 時序數據智能體的運維異常檢測 - TDengine Database 時序數據庫

基于 TDgpt 時序數據智能體的運維異常檢測 - TDengine Database 時序數據庫

6. 完成Grubbs模(mo)型的演示:

docker exec -it tdengine /var/lib/taos/analyse.sh --type anomaly --db tdgpt_demo --table ec2_failure --stable single_val --algorithm grubbs --start "2014-03-07" --window 7d --step 1h

與第四(si)步類似(si),HoltWinters模型將動態輸出(chu)預測結果并呈現在看板上。從(cong)預測結果中可以看到(dao),相(xiang)比(bi)于采用默認參數k=3的(de)(de)k-Sigma算法,Grubbs算法的(de)(de)異常(chang)檢測誤差較小。k-Sigma產生了(le)較多的(de)(de)誤報情況。

基于 TDgpt 時序數據智能體的運維異常檢測 - TDengine Database 時序數據庫

基于鼠標(biao)圈(quan)選的(de)方式,我們可以查(cha)看(kan)一(yi)段時(shi)間內的(de)細粒度預測(ce)結果對(dui)比:

基于 TDgpt 時序數據智能體的運維異常檢測 - TDengine Database 時序數據庫

您也可以嘗試其他算法或模型,來(lai)找到最合適自己場景的(de)算法和模型。

Demo腳本使用詳解

腳本概述 

analyse.sh腳本用(yong)于(yu)在(zai) TDengine 數(shu)據(ju)庫上執行時間(jian)序列預(yu)測和異常檢測分析,支持滑(hua)動窗口算(suan)法處理。主要功能包(bao)括:

  • 時間序列預測 :使用 HoltWinters 等算法進行未來值預測 。
  • 異常檢測 :使用 k-Sigma 等算法識別數據異常點 。
  • 自動窗口滑動 :支持自定義窗口大小和步長進行連續分析。

參數說明

基于 TDgpt 時序數據智能體的運維異常檢測 - TDengine Database 時序數據庫

TDengine推(tui)薦使用超級(ji)表(biao)(biao)來進行數據(ju)建模。因此,Demo中(zhong)建立了一(yi)個(ge)名為(wei)single_val的超級(ji)表(biao)(biao),包含 ts (timestamp類(lei)型) 和val (float類(lei)型),以及(ji)標簽定義 scene (varchar (64))。現階(jie)段 TDgpt 只支持單列值輸入輸出,因此這(zhe)個(ge)超級(ji)表(biao)(biao)可(ke)以作為(wei)所有(you)源數據(ju)表(biao)(biao)和結果表(biao)(biao)的結構定義。子(zi)表(biao)(biao)的表(biao)(biao)名與(yu)tag名稱保持一(yi)致即可(ke)。

db參數(shu)指定了源數(shu)據(ju)表(biao)(biao)和結(jie)果(guo)(guo)(guo)表(biao)(biao)隸屬的數(shu)據(ju)庫。結(jie)果(guo)(guo)(guo)表(biao)(biao)將(jiang)以【源表(biao)(biao)名稱(cheng)(cheng)】_【算法(fa)名稱(cheng)(cheng)】_【result】格式存儲。Grafana里面通過查詢結(jie)果(guo)(guo)(guo)表(biao)(biao)實現(xian)分析結(jie)果(guo)(guo)(guo)和原始數(shu)據(ju)的對比。

一般情況下(xia),對于(yu)非(fei)必填項,用戶在demo過程中只需要設置–start參(can)數(shu)以節省(sheng)運行(xing)時間。對于(yu)必填項,請參(can)考(kao)示例值進行(xing)設置。

時間格式說明

step和(he)window參數指定的(de)滑動(dong)步長和(he)分析窗口大小需(xu)符合如(ru)下參數約(yue)定:

基于 TDgpt 時序數據智能體的運維異常檢測 - TDengine Database 時序數據庫

腳本執行流程

graph TDgpt_Demo
    A[開始] --> B[參數解析與驗證]
    B --> C{是否指定start?}
    C -->|否| D[查詢最小時間戳]
    C -->|是| E[轉換時間格式]
    D --> E
    E --> F[計算時間窗口]
    F --> G[生成結果表]
    G --> H{是否到達數據終點?}
    H -->|否| I[生成并執行SQL]
    I --> H
    H -->|是| J[輸出完成信息]

使用更多的數據

參考(kao)「運行(xing)和(he)關閉Demo」章節里ec2_failure.sql腳本的(de)內容,確保按(an)照規(gui)定格式(shi)將數(shu)(shu)據(ju)準備為csv格式(shi)(逗號分隔(ge),值需要用英文雙引號括起來),即可將數(shu)(shu)據(ju)導入(ru)TDengine。然(ran)后,請使用「進行(xing)演示」中(zhong)的(de)方法來生成(cheng)異(yi)常(chang)檢測結果,并(bing)調整Grafana中(zhong)的(de)看板以(yi)實現和(he)實際數(shu)(shu)據(ju)的(de)對比。

結論

在本(ben)文中,我(wo)們展示了使用TDgpt來運維監控異(yi)(yi)常檢測的完整流程。從中可以看(kan)到,基于TDgpt來構建時(shi)序(xu)數據(ju)分(fen)析,能(neng)夠以SQL方式實現與應(ying)用的便捷集成,大(da)大(da)降(jiang)低開發和應(ying)用時(shi)序(xu)預測和異(yi)(yi)常檢測的成本(ben)。

在(zai)不同的(de)(de)實際場景下,用戶(hu)需要(yao)針對數據特點(dian),針對模型算法進行(xing)選擇和參數調優。TDgpt的(de)(de)企業版中,將為(wei)用戶(hu)提供更多的(de)(de)選擇:

  • 模型選擇器。模型選擇器可以自動根據用戶的歷史數據集,對購買的所有模型進行準確性評估。用戶可選擇最適合自己場景的模型進行部署和應用。
  • TDtsfm_1自研模型的重訓練及微調。TDtsfm_1基于海量時序數據進行了預訓練,在大部分場景下相比于傳統的機器學習和統計預測模型都會有顯著的準確率優勢。如果用戶對于模型預測準確度有更高的要求,可以申請購買TDgpt企業版的預訓練服務。使用用戶的場景歷史數據進行預訓練,在特定場景下的預測效果可能更佳。
  • 第三方解決方案。濤思數據聯合國內外時序分析/異常檢測專業廠家、研究機構,為用戶提供專業的分析解決方案,包括落地過程中的實施服務等。

關于企業版更多信息,點擊下方(fang)按鈕(niu),咨詢解決方(fang)案(an)專(zhuan)家。

立(li)即咨詢

關于背景

在(zai)服(fu)(fu)務(wu)器運維工(gong)作中,時刻關注CPU、內存、硬盤和網絡這些核(he)心(xin)指標(biao)就像(xiang)定(ding)(ding)期(qi)給(gei)汽車(che)做(zuo)體檢。通過(guo)持續(xu)監控這些數(shu)據,我們不僅(jin)能了(le)(le)(le)解系統運行(xing)(xing)狀況,還能借(jie)助智能分析工(gong)具提前發(fa)現(xian)(xian)隱患。比如當CPU使用(yong)率(lv)突然(ran)飆升(sheng),可能是(shi)程序升(sheng)級后(hou)出(chu)現(xian)(xian)了(le)(le)(le)代碼(ma)漏洞,或是(shi)服(fu)(fu)務(wu)器被植入了(le)(le)(le)挖礦病(bing)毒,也可能是(shi)硬件老化(hua)的信號。 常見的CPU異(yi)常波(bo)動(dong)原因(yin)包括(kuo):程序更新后(hou)線程池(chi)配(pei)置(zhi)錯(cuo)誤引發(fa)的頻繁切換、惡意(yi)軟件占用(yong)計算資源(yuan)、磁盤損壞導(dao)致系統反復(fu)糾錯(cuo),以及促(cu)銷活動(dong)帶來的突發(fa)流(liu)量壓力。有些波(bo)動(dong)屬于正常現(xian)(xian)象,比如每(mei)天定(ding)(ding)時任務(wu)運行(xing)(xing)時的規律(lv)性(xing)峰(feng)值;但如果(guo)是(shi)突然(ran)出(chu)現(xian)(xian)的持續(xu)性(xing)高負載,就需要立即排(pai)查處(chu)理。 

傳統的(de)(de)監控方(fang)式依賴(lai)人工設定固(gu)定閾值,就像用(yong)同一把尺子測量不(bu)同季(ji)節的(de)(de)河水流量,容易(yi)產(chan)生誤判。現(xian)在(zai)通(tong)過(guo)分(fen)析歷史數據建立(li)動(dong)態基線,系(xi)統能自動(dong)識別(bie)出(chu)真(zhen)(zhen)正(zheng)(zheng)(zheng)的(de)(de)異(yi)常波(bo)動(dong)。比(bi)(bi)如某次版本更新后(hou),算法發(fa)(fa)現(xian)某服(fu)務(wu)(wu)的(de)(de)CPU占(zhan)用(yong)比(bi)(bi)平時高30%,立(li)即(ji)觸發(fa)(fa)告(gao)警,而過(guo)去這種波(bo)動(dong)可(ke)(ke)能被誤認為(wei)是正(zheng)(zheng)(zheng)常業務(wu)(wu)增長。 這種智能監控帶(dai)來的(de)(de)好處(chu)實(shi)實(shi)在(zai)在(zai):既避免了半(ban)夜被誤報(bao)(bao)警報(bao)(bao)吵醒,又能真(zhen)(zhen)正(zheng)(zheng)(zheng)攔(lan)截那些可(ke)(ke)能導(dao)致服(fu)務(wu)(wu)器宕機的(de)(de)嚴重問題。通(tong)過(guo)對比(bi)(bi)服(fu)務(wu)(wu)器正(zheng)(zheng)(zheng)常狀(zhuang)態和(he)異(yi)常模(mo)式,系(xi)統就像經驗豐(feng)富的(de)(de)運維工程(cheng)師,能準確區分(fen)程(cheng)序漏(lou)洞、安(an)全攻擊和(he)硬件故障等不(bu)同問題類型,為(wei)后(hou)續(xu)處(chu)理提供(gong)明確方(fang)向。

本文(wen)提供基于 docker-compose 快速部(bu)署 TDgp 體驗(yan)測(ce)試環境的(de)(de)指引,并(bing)基于這個環境和(he)真實的(de)(de)數據,展(zhan)示運維(wei)監控(kong)場景下(xia)進行異常(chang)檢測(ce)的(de)(de)全(quan)過(guo)程(cheng)。便于大家快速掌握 TDgpt,迅速讓(rang)自(zi)己擁有AI驅動的(de)(de)時序數據預測(ce)與異常(chang)檢測(ce)的(de)(de)能力。

關于TDgpt

TDgpt 是(shi) TDengine 內置(zhi)的(de)(de)(de)時序(xu)數據分(fen)(fen)析(xi)智能(neng)體,它基于 TDengine 的(de)(de)(de)時序(xu)數據查詢功(gong)能(neng),通過(guo) SQL 提(ti)供運行時可動態(tai)擴(kuo)展和(he)切換(huan)的(de)(de)(de)時序(xu)數據高(gao)級分(fen)(fen)析(xi)的(de)(de)(de)能(neng)力(li),包(bao)括時序(xu)數據預(yu)測(ce)和(he)時序(xu)數據異常檢測(ce)。通過(guo)預(yu)置(zhi)的(de)(de)(de)時序(xu)大(da)模型、大(da)語言模型、機(ji)器學習、傳統的(de)(de)(de)算法,TDgpt 能(neng)幫助工(gong)程師在(zai)10分(fen)(fen)鐘內完成(cheng)時序(xu)預(yu)測(ce)與異常檢測(ce)模型的(de)(de)(de)上線(xian),降低至少80%的(de)(de)(de)時序(xu)分(fen)(fen)析(xi)模型研發和(he)維(wei)護成(cheng)本。

截止(zhi)到3.3.6.0版本, 提供Arima、HoltWinters、LSTM、MLP 以及(ji)基于Transformer架構自研的TDtsfm (TDengine time series foundation model) v1版和其他(ta)時序(xu)模型(xing)(xing)(xing),以及(ji)k-Sigma、Interquartile range(IQR)、Grubbs、SHESD、Local Outlier Factor(LOF)、Autoencoder這(zhe)六種異常檢測模型(xing)(xing)(xing)。用戶可以根據自行接入自研或(huo)(huo)其他(ta)開源的時序(xu)模型(xing)(xing)(xing)或(huo)(huo)算(suan)法(fa)。