Kibana是一個開源的分析和可視化平臺,設計用於和Elasticsearch一塊兒工做。php
你用Kibana來搜索,查看,並和存儲在Elasticsearch索引中的數據進行交互。css
你能夠輕鬆地執行高級數據分析,而且以各類圖標、表格和地圖的形式可視化數據。html
Kibana使得理解大量數據變得很容易。它簡單的、基於瀏覽器的界面使你可以快速建立和共享動態儀表板,實時顯示Elasticsearch查詢的變化。web
1. 安裝Kibanawindows
2. Kibana配置api
https://www.elastic.co/guide/en/kibana/current/settings.html瀏覽器
3. 訪問Kibana服務器
Kibana是一個Web應用程序,你能夠經過5601來訪問它。例如:localhost:5601 或者 http://YOURDOMAIN.com:5601app
當訪問Kibana時,默認狀況下,Discover頁面加載時選擇了默認索引模式。時間過濾器設置爲最近15分鐘,搜索查詢設置爲match-all(\*)elasticsearch
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索引:
一、訪問Kibana UI。例如,localhost:56011 或者 http://YOURDOMAIN.com:5601
二、指定一個索引模式來匹配一個或多個你的Elasticsearch索引。當你指定了你的索引模式之後,任何匹配到的索引都將被展現出來。
(畫外音:*匹配0個或多個字符; 指定索引默認是爲了匹配索引,確切的說是匹配索引名字)
三、點擊「Next Step」以選擇你想要用來執行基於時間比較的包含timestamp字段的索引。若是你的索引沒有基於時間的數據,那麼選擇「I don’t want to use the Time Filter」選項。
四、點擊「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.html
7. 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
https://www.elastic.co/guide/en/kibana/current/elasticsearch-metrics.html
9. 其它相關
《Logstash》