Kibana是一個開源的分析和可視化平台,設計用于和Elasticsearch一起工作。
你用Kibana來搜尋,檢視,并和存儲在Elasticsearch索引中的資料進行互動。
你可以輕松地執行進階資料分析,并且以各種圖示、表格和地圖的形式可視化資料。
Kibana使得了解大量資料變得很容易。它簡單的、基于浏覽器的界面使你能夠快速建立和共享動态儀表闆,實時顯示Elasticsearch查詢的變化。
1. 安裝Kibana
2. Kibana配置
參考:
https://www.elastic.co/guide/en/kibana/current/settings.html3. 通路Kibana
Kibana是一個Web應用程式,你可以通過5601來通路它。
例如:localhost:5601 或者
http://YOURDOMAIN.com:5601當通路Kibana時,預設情況下,Discover頁面加載時選擇了預設索引模式。時間過濾器設定為最近15分鐘,搜尋查詢設定為match-all(*)
3.1. 檢查Kibana狀态
http://localhost:5601/status
或者 http://192.168.101.5:5601/api/status傳回JSON格式狀态資訊。
4. 用Elasticsearch連接配接到Kibana
在你開始用Kibana之前,你需要告訴Kibana你想探索哪個Elasticsearch索引。第一次通路Kibana是,系統會提示你定義一個索引模式以比對一個或多個索引的名字。
(提示:預設情況下,Kibana連接配接允許在localhost上的Elasticsearch執行個體。為了連接配接到一個不同的Elasticsearch執行個體,修改kabana.yml中Elasticsearch的URL,然後重新開機Kibana。)
為了配置你想要用Kibana通路的Elasticsearch索引:
1、通路Kibana UI。例如,localhost:56011 或者
2、指定一個索引模式來比對一個或多個你的Elasticsearch索引。當你指定了你的索引模式以後,任何比對到的索引都将被展示出來。畫外音:*比對0個或多個字元; 指定索引預設是為了比對索引,确切的說是比對索引名字)
3、點選“Next Step”以選擇你想要用來執行基于時間比較的包含timestamp字段的索引。如果你的索引沒有基于時間的資料,那麼選擇“I don’t want to use the Time Filter”選項。
4、點選“Create index pattern”按鈕來添加索引模式。第一個索引模式自動配置為預設的索引預設,以後當你有多個索引模式的時候,你就可以選擇将哪一個設為預設。(提示:Management > Index Patterns)
現在,Kibana已經連接配接到你的Elasticsearch資料。Kibana展示了一個隻讀的字段清單,這些字段是比對到的這個索引配置的字段。
5. Discover
你可以從Discover頁面互動式的探索你的資料。你可以通路與所選擇的索引預設比對的每個索引中的每個文檔。你可以送出查詢請求,過濾搜尋結構,并檢視文檔資料。
你也可以看到比對查詢請求的文檔數量,以及字段值統計資訊。如果你選擇的索引模式配置了time字段,則文檔随時間的分布将顯示在頁面頂部的直方圖中。
5.1. 設定時間過濾5.2. 搜尋資料
你可以在搜尋框中輸入查詢條件來查詢目前索引模式比對的索引。在查詢的時候,你可以使用Kibana标準的查詢語言(基于Lucene的查詢文法)或者完全基于JSON的Elasticsearch查詢語言DSL。Kibana查詢語言可以使用自動完成和簡化的查詢文法作為實驗特性,您可以在查詢欄的“選項”菜單下進行選擇。
當你送出一個查詢請求時,直方圖、文檔表和字段清單都會更新,以反映搜尋結果。命中(比對到的文檔)總數會顯示在工具欄中。文檔表格中顯示了前500個命中。預設情況下,按時間倒序排列,首先顯示最新的文檔。你可以通過點選“Time”列來逆轉排序順序。
5.2.1. Lucene查詢文法
Kibana查詢語言基于Lucene查詢文法。下面是一些提示,可能會幫到你:
為了執行一個文本搜尋,可以簡單的輸入一個文本字元串。例如,如果你想搜尋web伺服器的日志,你可以輸入關鍵字"safari",這樣你就可以搜尋到所有有關"safari"的字段
為了搜尋一個特定字段的特定值,可以用字段的名稱作為字首。例如,你輸入"status:200",将會找到所有status字段的值是200的文檔
為了搜尋一個範圍值,你可以用括号範圍文法,[START_VALUE TO END_VALUE]。例如,為了找到狀态碼是4xx的文檔,你可以輸入status:[400 TO 499]
為了指定更改複雜的查詢條件,你可以用布爾操作符 AND , OR , 和 NOT。例如,為了找到狀态碼是4xx并且extension字段是php或者html的文檔,你可以輸入status:[400 TO 499] AND (extension:php OR extension:html)
5.2.2. Kibana查詢文法增強
新的更簡單的文法
如果你熟悉Kibana的舊Lucene查詢文法,那麼你應該對這種新的文法也不會陌生。基本原理保持不變,我們隻是簡單地改進了一些東西,使查詢語言更易于使用。
response:200 将比對response字段的值是200的文檔
用引号引起來的一段字元串叫短語搜尋。例如,message:"Quick brown fox" 将在message字段中搜尋"quick brown fox"這個短語。如果沒有引号,将會比對到包含這些詞的所有文檔,而不管它們的順序如何。這就意味着,會比對到"Quick brown fox",而不會比對"quick fox brown"。(畫外音:引号引起來作為一個整體)
查詢解析器将不再基于空格進行分割。多個搜尋項必須由明确的布爾運算符分隔。注意,布爾運算符不區分大小寫。
在Lucene中,response:200 extension:php 等價于 response:200 and extension:php。這将比對response字段值比對200并且extenion字段值比對php的文檔。
如果我們把中間換成or,那麼response:200 or extension:php将比對response字段比對200 或者 extension字段比對php的文檔。
預設情況下,and 比 or 具有更高優先級。
response:200 and extension:php or extension:css 将比對response是200并且extension是php,或者比對extension是css而response任意
括号可以改變這種優先級
response:200 and (extension:php or extension:css) 将比對response是200并且extension是php或者css的文檔
還有一種簡寫的方式:
response:(200 or 404) 将比對response字段是200或404的文檔。字元值也可以是多個,比如:tags:(success and info and security)
還可以用not
not response:200 将比對response不是200的文檔
response:200 and not (extension:php or extension:css) 将比對response是200并且extension不是php也不是css的文檔
範圍檢索和Lucene有一點點不同
代替 byte:>1000,我們用byte > 1000
>, >=, <, <= 都是有效的操作符
response:* 将比對所有存在response字段的文檔
通配符查詢也是可以的。machine.os:win* 将比對machine.os字段以win開頭的文檔,像"windows 7"和"windows 10"這樣的值都會被比對到。
通配符也允許我們一次搜尋多個字段,例如,假設我們有machine.os和machine.os.keyword兩個字段,我們想要搜尋這兩個字段都有"windows 10",那麼我們可以這樣寫"machine.os*:windows 10"
5.2.3. 重新整理搜尋結果
5.3. 按字段過濾 以上是控制清單顯示哪些字段,還有一種方式是在檢視文檔資料的時候點那個像書一樣的小圖示 删除也是可以的 我們還可以編輯一個DSL查詢語句,用于過濾篩選,例如: 5.4. 檢視文檔資料 5.5. 檢視文檔上下文 5.6. 檢視字段資料統計6. Visualize
Visualize使得你可以建立在你的Elasticsearch索引中的資料的可視化效果。然後,你可以建構dashboard來展示相關可視化。
Kibana可視化是基于Elasticsearch查詢的。通過用一系列的Elasticsearch聚集來提取并處理你的資料,你可以建立圖檔來線上你需要了解的趨勢、峰值和低點。
6.1. 建立一個可視化
為了建立一個可視化的視圖:
第1步:點選左側導覽列中的“Visualize”按鈕
第2步:點選“Create new visualization”按鈕或者加号(+)按鈕
第3步:選擇一個可視化類型
第4步:指定一個搜尋查詢來檢索可視化資料
第5步:在可視化的建構器中選擇Y軸的聚合操作。例如,sum,average,count等等
第6步:設定X軸
例如:
更多請看這裡: https://www.elastic.co/guide/en/kibana/current/createvis.html https://www.elastic.co/guide/en/kibana/current/xy-chart.html https://www.elastic.co/guide/en/kibana/current/visualize.html7. Dashboard
Kibana儀表闆顯示可視化和搜尋的集合。
你可以安排、調整和編輯儀表闆内容,然後儲存儀表闆以便共享它。
7.1. 建構一個Dashboard
第1步:在導覽列上點選“Dashboard”
第2步:點選“Create new dashboard”或者“加号(+)”按鈕
第3步:點選“Add”按鈕
第4步:為了添加一個可視化,從可視化清單中選擇一個,或者點選“Add new visualization”按鈕新建立一個
第5步:為了添加一個已儲存的查詢,點選“Saved Search”頁籤,然後從清單中選擇一個
第6步:當你完成添加并且調整了dashboard的内容後,去頂部菜單欄,點選“Save”,然後輸入一個名字。
預設情況下,Kibana儀表闆使用淺色主題。要使用深色主題,單擊“選項”并選擇“使用深色主題”。要将dark主題設定為預設,請轉到管理>Management > Advanced ,并将dashboard:defaultDarkTheme設定為On。
8. Monitoring
Elasticsearch控制台列印日志:
[2018-08-15T14:48:26,874][INFO ][o.e.c.m.MetaDataCreateIndexService] [Px524Ts] [.monitoring-kibana-6-2018.08.15] creating index, cause [auto(bulk api)], templates [.monitoring-kibana], shards [1]/[0], mappings [doc]
Kibana控制台列印日志:
log [03:26:53.605] [info][license][xpack] Imported license information from Elasticsearch for the [monitoring] cluster: mode: basic | status: active