1. 程式人生 > >Kibana對資料的視覺化

Kibana對資料的視覺化

基於上一篇的操作,我們已經獲得了資料,接下來我們就要處理資料,因此選用了Kibana

      先來介紹一下,

        Kibana是一個針對Elasticsearch的開源分析及視覺化平臺,用來搜尋、檢視互動儲存在Elasticsearch索引中的資料。

        使用Kibana,可以通過各種圖表進行高階資料分析及展示。

   Kibana讓海量資料更容易理解。它操作簡單,基於瀏覽器的使用者介面可以快速建立儀表板實時顯示Elasticsearch查詢動態。

 

進入操作:

       1.首先,將elasticsearch和kibana搭建在一個伺服器上。

           其次,在kibana介面建立一個索引,和elaticsearch建立的索引進行配對。

        關於索引建立的步驟如下:

               1.開啟kibana中的management管理

               2.單擊index patterns索引模組。

               3.選擇create index pattern模組,建立索引。

            進入新建索引頁面後,建立的索引名要和elasticsearch建立的索引對應,否則,無法建立kibana的索引。

   進入next step 後 不要更改設定裡面的預設選項,直接create就可以。

 

 2.索引建立完成後,我們可以去discover選項,選擇建立的索引,檢視通過elaticsearch上傳的資料。

 

 

3.既然已經找到資料,那麼我們就要對這些資料進行處理,我們選擇視覺化裡面的建立折線圖Line來展示。

 

然後選擇想視覺化的對應索引後,將出現如下介面。

 

 

選擇X和Y的單位等,比如x軸選擇時間作為單位,但是出現了以下問題:

匹配不到相應型別,也就是說,我在elaticsearch上傳的時間不是kibana需要的date型別。那我們的時間是什麼型別呢??

再回到當初的python上傳資料的程式碼發現,第23行的這句話(在上一篇文裡面):

y={'id':'1','time':str(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())),'value':str(val)}   發現time鍵對應的值是個字串型別的啊!!! OK,那我就改型別,把str改成date型別,可以運用python的datetime庫,import datetime 將str(time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()))---->datetime.date.today()   再仔細看看,發現,value對應的值也是str,當你在kibana操作的時候,欄位裡面的選項也是沒有value選項的,現在知道了, 既然是str型別怎麼能當成數字傳上去呢,所以要把str型別轉成number,即刪除str()即可。   改完之後我們儲存執行,在kibana中發現還是會報同樣的錯。為什麼呢??? 因為索引裡面的欄位型別是不能更改的,所以想變,就只能重新建立一個新的索引了,注意索引的名字一定不能相同!!!   再重複建立索引,建立視覺化圖的步驟,選擇相應的X軸 Y軸後,我們的折線圖就出來了。

&n