ELK之X-PACK Machine Learning功能應用方法詳解

一、ELK簡介

ELK:是有三個組件組成ElasticSearch、Logstash、Kibana組成,其中Logtash負責獲取數據,ElasticSearch負責存儲和索引數據,Kibana則是一個可視化的部件,負責展示,這三者構成了一個開源的日誌分析平臺,是目前的主流的企業級日誌分析平臺解決方案。更為詳細的介紹請參考維基百科:https://en.wikipedia.org/wiki/Elk。

介紹ELK的文章非常多,隨著機器學習、人工智能概念在運維領域的滲透,AIops概念的流行,ELK在其X-PACK插件中,也增加了Machine Learning模塊,其主要是採用機器學習中的無監督算法,實現時序數列的異常發現。由於X-PACK中商用收費軟件,目前網上關於X-PACK Machine Learning的介紹非常少,官網上只有需要翻牆的視頻可以看。筆者個人下載了X-PACK試用版,試用期30天,本文將主要介紹筆者在X-PACK Machine Learning功能的試用經驗。

二、 X-PACK安裝

假設環境已安裝好ELK。

1、X-PACK在ElasticSearch的安裝:

下掉ElasticSearch,在ElasticSearch解壓目錄下,執行命令,完成安裝,es如果是一個集群,在每一個節點上安裝

bin/elasticsearch-plugin install x-pack

安裝完成後,啟動elasticsearch。

2、X-PACK在Kibana的安裝:

下掉Kibana,在Kibana解壓目錄下,執行命令,完成安裝。

bin/kibana-plugin install x-pack

安裝完成後,啟動Kibana。

注意:如果安裝環境不能上網,自動完成x-pack包的下載,則去官方自行下載和ElasticSearch及傳到安裝環境,將x-pack替換成完成路徑加文件名即可。

安裝X-PACK後,需要用戶名和密碼登陸才能打開Kibana,默認的用戶名和密碼是:elastic changeme。打開Kibana界面後,可以發現頁面說多了很多導航欄,如:Machine Learning,Graph,Monitoring等。本文主要介紹Machine Learning模塊的使用。

ELK之X-PACK Machine Learning功能應用方法詳解

三、X-PACK Machine Learning模塊應用及效果

創建一個Single Metric過程如下:

1、選擇Machine Learning導航欄,看到如下界面,單機Create new job

ELK之X-PACK Machine Learning功能應用方法詳解

2、選擇Create a single metric job

ELK之X-PACK Machine Learning功能應用方法詳解

3、選擇一個數據源:此處,我們選擇一個之前一個保存好的Search:

ELK之X-PACK Machine Learning功能應用方法詳解

4、設置聚合指標及聚合方式

ELK之X-PACK Machine Learning功能應用方法詳解

Bucket span默認是5分鐘,也可以根據需求自行設置。單擊三角框,即可出現下圖的時間序列曲線。單擊左下角的create job按鈕,job建立成功。

ELK之X-PACK Machine Learning功能應用方法詳解

5、創建成功之後,很快就出現異常探測圖,單擊View Result按鈕,查看

ELK之X-PACK Machine Learning功能應用方法詳解

上圖因為異常點較少,下圖是選取了另外一個時間序列指標做的異常分析圖。因為是無監督的算法,不需要單獨的學習階段,也不需要使用批量處理系統去更新模型,定義好數據源,模型會根據數據不斷的更新,而且數據越多時,會越準。當鼠標移到圓圈位置是,會出現上線基線。

ELK之X-PACK Machine Learning功能應用方法詳解

可以看出該功能,可以對某一KPI根據歷史數據建立起上下動態基線,根據動態極限標記異常。

創建Multiple Metric Job的方法同上,就是在選擇KPI時,可以選擇index中多個指標。

2、多KPI異常統計:

針對多個KPI創建了JOB之後,在Anomaly Explorer菜單欄中,可以看到多個指標的異常統計。方法是:單擊Anomaly Explorer菜單欄,選中想要查看的KPI的JOB,此處全選:

ELK之X-PACK Machine Learning功能應用方法詳解

可以看到按時間窗口標記的異常,這個功能很容易看到同時有問題的KPI有哪些:

ELK之X-PACK Machine Learning功能應用方法詳解

此處還有一個創建高級JOB,分析多個指標之間的關聯關係,目前我還沒研究清楚怎麼搞。待研究清楚後補充。

3、ELK裡面的時間序列Timelion曲線,可以通過做一些簡單的移動平均來看KPI變化趨勢。如下圖所示:

ELK之X-PACK Machine Learning功能應用方法詳解

四、X-PACK Machine Learning應用領域分析

通過上面的分析,可以看出,X-PACK Machine Learning模塊可以很好的用戶分析Elastic中的時序數據,並且是無監督算法,無需對數據進行實現標記。可以用於所有產生時序數據的領域,如運維領域,金融領域等。

鏈接:https://www.jianshu.com/p/2e36aa98e67a

來源:簡書


分享到:


相關文章: