ELK在Machine learning上異常偵測必知的教學設定(下)

建立Alert規則

在上面步驟中我們建立了一個異常偵測的Job,這個Job在我們設定訓練的index有新增資料時,會為新的異動資料進行異常偵測,異常偵測的結果,在此章節會做一個提醒機制。

1.選擇建立Alert規則

回到Anomaly detection,會看到剛剛建立的Job,點擊右方的 … 選擇Create alert rule。

2.設定提醒內容

點下建立alert rule後,右方會彈出一個抽屜,裡面有些資訊要設定,這裡來為每個欄位做解說:

  • Name :名稱,方便後續管理使用。
  • Tags:標籤,後續再做標籤搜尋時可以作為搜尋依據。
  • Check every:多久確認一次新進資料是否有沒有符合設定的規則。
  • Notify:提醒模式,一共分為三種
    • 當狀態改變的時候,就做指定動作,此處狀態是指,我們會將異常分成五個等級:normal, warning, minor, major, critical ,當資料狀態發生改變時發送通知。
    • 只要有異常就提醒,相對於上面的狀態,由於有時候異常狀態是連續的,就每秒鐘新進入的資料都是異常,在這情境下就會每秒都發送一次通知。為避免這種高頻通知,通常不會把高時間靈敏資料選用此方式,避免同一時間區段發送過多的異常通知。
    • 自定義時間週期回報一次狀態
  • Threshold:異常通知標準,當超過多少分數時,在這模型才應該視為需要通知的異常。

  • Actions:這裡提供很多種介接服務,可以將此Job異常資訊送達指定端口

這邊我們會舉Webhook為例子,大部分的資料保持預設直即可,建立測試用webhook可至 webhook.site 建立一個全新webhook,進入網站後將網頁上顯示的 Your unique URL 貼至URL的位置即可(貼完後不要關閉頁面,或是記錄下https://webhook.site/ 的uuid,之後測試時會需要到此頁面觀察結果)。

Save webhook完畢後,會回到原本的畫面,這時候我們要來決定異常發生時,我們想要收到哪些資訊,點擊body右上角的符號可以看到裡面有哪些值是可以傳遞過去的,記住,這邊body只能是JSON格式,所以Body的輸入一定要像下圖一樣。

按下save完成後我們就建立完成我們的異常提示了,接下來我們要餵資料來測試此異常偵測是否真的可行。

Data Feeder

在7.10版之後,官方推薦使用data feed來作為異常模型的輸入值得方式,在下面我們會開始針對如何透過API來將資料匯入index,並且讓Job偵測到異常後發起通知。

在這裡會透過Kibana上的Dev Tool來發API,當然也可以透過Elasticsearch上的API,這兩個是相同的,若是要使用Elasticsearch的API,請記得要取得Token,在Header帶上Authorization。

1.開啟Dev Tool

在畫面左側的導航欄,Management底下有個Dev Tools,進去後我們會看到像下面一樣的畫面。左側是輸入API的位置、方法與body。

2.開啟data feeder

開啟Anomaly detection頁面,開到Job管理,我們點擊右手邊的 … 中有個「Start data feeder」,我們需要先開啟data feeder,並且設定data feeder的偵測時間區間,如此一來才能順利偵測到在index新增的數值

3.發送API

新增資料至index,透過API的方法是POST /_doc ,Body所帶的值為單一一筆紀錄,在左側輸入完畢後點擊API 那行右側的執行按鈕,可以得到右側的API response結果,在這裡我們把API設置成 :

POST ec2_cpu_utilization_24ae8d/_doc

{“@timestamp” : “2014-03-01T12:15:00.000+08:00”,

“value”: 4.114}

value設置成4.114 是因為我們在歷史資料中有看到,平常的數值大約為0.1左右,當數值來到2以上就有被標註為異常的情況,於是乎我們在這裡將數值定為4,時間的部分則是避開週期性的高峰(3-4點),來測試是否能夠順利產生提醒。

4.確認是否有收到異常提醒

至設定Webhook的頁面(剛剛設定的webhook.site,若已關閉可以手動輸入網址 https://webhook.site/#!/ 來連線進去觀察),可以期待畫面會呈現下方狀態:

補充說明- ML benchmark

  • 64GB RAM
  • 4 Cores
  • 24GB of memory to the JVM Heap
  • 40GB for ML processing

    訂閱偉康科技洞察室部落格,掌握最新科技趨勢!

    了解更多

    智能優先 AI First


    偉康科技提供以雲端服務、智能數據、資安技術為核心的數位轉型解決方案,協助攻克企業資料治理遇到的難題,如有需求歡迎 聯絡我們

立即訂閱電子報

掌握最新科技趨勢!