fbpx

Elastic ai assistant 基本概念與應用情境介紹

Chris 歐立威科技 / 技術顧問

Elastic AI Assistant(以下簡稱 Elastic AI 助理)是 Kibana 8.10.x 推出的最新功能,Elastic AI 助理旨在幫助使用者透過一系列預設的查詢語句或透過自然語言,讓 Kibana 上的各種功能能被更輕鬆地使用,同時讓 Elastic Stack 的維運更輕鬆。

當然,你也可以透過 ChatGPT 達成 Elastic AI 助理的各種功能。但根據筆者實測,Elastic AI 助理真的比 ChatGPT 強大。ChatGPT 最為人詬病的地方就是搜尋結果經常不準確,但透過 NLP 修飾後,會給人一本正經說幹話的感覺。另外Cybernews 上的報導指出,公司員工將機敏資料貼到生成式 AI 是顯著的趨勢,然而這對企業來說是有風險的。

〔更多細節請參考 Workers regularly post sensitive data into ChatGPT

因此本文將幫助你了解 Elastic AI 助理,並且介紹一些實際應用場景。

Elasticsearch Relevance Engine(ESRE)是什麼,它與 Chatgpt 的差異為何?

Elastic AI 助理是 Elastic 相關性引擎 (Elasticsearch Relevance Engine, ESRE)的應用。ESRE 是一種生成式 AI,透過結合 Elastic 獨家 ELSER 機器學習模型、向量搜尋(vector search)與鑲嵌功能(embeddings),將 Elasticsearch 的搜尋能力與 OpenAI 的自然語言處理(Natural Language Processing, NLP)整合,從而實現更高的資料精準度與資料安全換句話說,ESRE 讓使用者在享受 AI 便利的同時時,避開 ChatGPT 的雷。

Elastic AI 助理基本概念介紹

Elastic Stack 8.10.x 版讓使用者在 Kibana 的 Observability 與 Security 兩個 Section 中透過簡單的按鈕點擊,呼叫 Elastic AI 助理(圖一)。除非想詢問 AI 助理自訂義問題,否則使用者在多數情境中無需另外打字。

Kibana 上的 AI 助理呼叫按鈕

(圖一,Kibana 上的 AI 助理呼叫按鈕)

Elastic AI 助理可以精準回答所有關於 Elastic Stack 的問題,並且提供預設的對話提示(prompt)(圖二左下方):

  1. 工作流程建議(workflow suggestions): 協助回答使用者在 Elastic Stack 上達成特定目的的建議流程。
  2. 查詢轉換 (query conversion): 將既有、其他 SIEM 平台上使用的告警規則轉換為適用 Elastic 的 EQL(event query language)告警規則。
  3. Agent 整合建議(agent integration advice): 使用者告訴 AI 助理想導入的日誌資料,AI 助理便會告知要整合(integration)哪些資料,讓使用者不必大海撈針逐一查找。

當然,使用者也可以輸入自己喜歡的任意語句而非這些預設提示。

AI助理對話視窗

(圖二,AI助理對話視窗)

使用者也可以切換對話(Conversations),過去與 AI 的對話紀錄都會根據對話主題被分別儲存於這些對話選項中,它們分別為告警總結(Alert summary)、偵測規則(Detection rules)、事件總結(Event summary)等等。同時,使用者也可以選擇是否勾選顯示匿名(Show anonymized),顯示 AI 助理對機敏資料的敏感度。(圖二右上方)

在 Security 上的應用

資安事件分析

當使用者想了解資安告警事件的內容,例如:為何這是一個威脅、它有哪些危險、多危險、應該如何應對等等,這些問題都可以透過 AI 助理得到解答。按下圖三右上方的 Chat 按鈕,則會跳出帶有預設提問的 AI 助理。預設的提問建議不要更動,直接使用,基本上就可以得到關於資安事件的詳盡解釋,如圖四、五。

資安事件tab中有Chat按鈕

(圖三,資安事件tab中有Chat按鈕)

AI助理針對資安事件進行詳盡敘述-1

(圖四,AI助理針對資安事件進行詳盡敘述-1)

(圖五,AI助理針對資安事件進行詳盡敘述-2)

AI 助理協助建立告警規則(EQL)

資安人員需要花不少時間在建立告警規則上。AI 助理可以協助將各種在其他資安平台上寫好的告警規則,轉換成適用於 Elastic 語法 EQL(Event Qeury Language),如圖六、七。

使用者放入一段既有的告警規則,並要求 AI 助理協助將其轉換成 EQL

(圖六,使用者放入一段既有的告警規則,並要求 AI 助理協助將其轉換成 EQL)

AI 助理回覆結果

(圖七,AI 助理回覆結果)

AI 助理協助維護資料品質

我們也可以在 Security 下找到預設儀表板的 Data Quality,儀表板會用塊狀圖呈現個別 index 的資料品質,紅色區塊所呈現的 index,它們含有與其 mapping 不匹配的資料型態(data type),如圖八。

使用者可以繼續在 Security 的 UI 上找到該 index 的大致問題

(圖八) 透過圖八畫面辨識出有問題的 index 後,使用者可以繼續在 Security 的 UI 上找到該 index 的大致問題,如圖九。

(圖九) 但是圖九的畫面並沒有詳述有問題的欄位(field)是哪個、哪裡出了問題,這時候可以點擊 Chat 按鈕,以了解詳情,例如:在這個案例中,我們就知道出問題的欄位是 error.message,它的 mapping type 需要調整,如圖十。

(圖十)

在 Observability 上的應用

AI 能為使用者在 Elastic 上的操作(例如:日誌搜尋、分析與告警等等)幫上大忙。AI 助理的 UI 圖示在 Observability 上與 Security 上不同,使用者可以在選擇並展開特定一筆日誌後,看到「What’s this message」、「How do I find similar log messages」這樣的按鈕。(圖十一)

Observability下獨有的AI助理按鈕

(圖十一,Observability下獨有的 AI 助理按鈕)

日誌(log)內容分析

如前所述,AI 助理在 Observability 上最直觀的應用就是用來幫助了解日誌內容。在Observability 上找到一筆日誌後,分別展開兩個按鈕(圖十一),就可以對該日誌有很全面的了解。參考圖十二、十三

(圖十二)

(圖十三)

程序(process)分析

在 Observability 中,我們也可以在 Logs → Hosts 這個路徑下監控主機,如圖十四。展開主機後,選擇 Processes 這個 tab,UI 會列出所有主機正在運行的程序,如圖十五。

kibana dashboard

(圖十四)

(圖十五)

但是,雖然所有程序都被列出來了,我們還是很難從指令本身就看出其作用為何,這時候 AI助理又登場了。我們展開 UI 上第一筆程序,如圖十六,可以看到「What’s this process?」的按鈕被用來呼叫 AI 助理。點擊後,我們了解到原來這個程序與網頁畫面渲染及網頁測試有關。(圖十七)

elastic ai

(圖十六)

(圖十七)

結論

相信當你讀到這邊,你已經很了解 Elastic AI 助理其實不是複雜的東西。

總體來說,筆者認為 Elastic AI 助理的彈出視窗以及預設查詢語句,使用起來是真的蠻方便的,使用者不需要另外分神去思考「該怎麼敘述問題」,而可以順順地在 Kibana 的特定使用情境中,透過點擊按鈕就得到大部分你可能會需要的資訊。

但是,在本文撰寫時,Elastic AI 助理仍屬於企業版功能,所以想嘗試的朋友,可能需先開啟 30 天試用才能夠體驗,但筆者相信該功能很有機會下放到白金版或社群版。再來,在享受上述便利之前,還會需要先串接 OpenAI。這部分不困難,但筆者之前用免費版的 OpenAI 來串,發現會出現 request timeout 的情形,再綁定信用卡、開通付費後才能正常使用。

如果你覺得要特別架一個環境來試用成本太高,那建議你把這篇文章存起來,等 Elastic AI 助理過一陣子從企業版下放後,再回來複習這些應用場景。

相關文章