discover 功能
Discover 標簽頁用於交互式探索你的數據。你可以訪問到匹配得上你選擇的索引模式的每個索引的每條記錄。你可以提交搜索請求,過濾搜索結果,然后查看文檔數據。你還可以看到匹配搜索請求的文檔總數,獲取字段值的統計情況。如果索引模式配置了時間字段,文檔的時序分布情況會在頁面頂部以柱狀圖的形式展示出來。
設置時間過濾器
時間過濾器(Time Filter)限制搜索結果在一個特定的時間周期內。如果你的索引包含的是時序詩句,而且你為所選的索引模式配置了時間字段,那么就就可以設置時間過濾器。
默認的時間過濾器設置為最近 15 分鍾。你可以用頁面頂部的時間選擇器(Time Picker)來修改時間過濾器,或者選擇一個特定的時間間隔,或者直方圖的時間范圍。
要用時間選擇器來修改時間過濾器:
- 點擊菜單欄右上角顯示的 Time Filter 打開時間選擇器。
- 快速過濾,直接選擇一個短鏈接即可。VR集結號
- 要指定相對時間過濾,點擊 Relative 然后輸入一個相對的開始時間。可以是任意數字的秒、分、小時、天、月甚至年之前。
- 要指定絕對時間過濾,點擊 Absolute 然后在 From 框內輸入開始日期,To 框內輸入結束日期。
- 點擊時間選擇器底部的箭頭隱藏選擇器。
要從住房圖上設置時間過濾器,有以下幾種方式:
- 想要放大那個時間間隔,點擊對應的柱體。
- 單擊並拖拽一個時間區域。注意需要等到光標變成加號,才意味着這是一個有效的起始點。
你可以用瀏覽器的后退鍵來回退你的操作。
搜索數據
在 Discover 頁提交一個搜索,你就可以搜索匹配當前索引模式的索引數據了。你可以直接輸入簡單的請求字符串,也就是用 Lucene query syntax,也可以用完整的基於 JSON 的 Elasticsearch Query DSL。
當你提交搜索的時候,直方圖,文檔表格,字段列表,都會自動反映成搜索的結果。hits(匹配的文檔)總數會在直方圖的右上角顯示。文檔表格顯示前 500 個匹配文檔。默認的,文檔倒序排列,最新的文檔最先顯示。你可以通過點擊時間列的頭部來反轉排序。事實上,所有建了索引的字段,都可以用來排序,稍后會詳細說明。
要搜索你的數據:
- 在搜索框內輸入請求字符串:
- 簡單的文本搜索,直接輸入文本字符串。比如,如果你在搜索網站服務器日志,你可以輸入
safari
來搜索各字段中的safari
單詞。 - 要搜索特定字段中的值,則在值前加上字段名。比如,你可以輸入
status:200
來限制搜索結果都是在status
字段里有200
內容。 - 要搜索一個值的范圍,你可以用范圍查詢語法,
[START_VALUE TO END_VALUE]
。比如,要查找 4xx 的狀態碼,你可以輸入status:[400 TO 499]
。 - 要指定更復雜的搜索標准,你可以用布爾操作符
AND
,OR
, 和NOT
。比如,要查找 4xx 的狀態碼,還是php
或html
結尾的數據,你可以輸入status:[400 TO 499] AND (extension:php OR extension:html)
。
- 簡單的文本搜索,直接輸入文本字符串。比如,如果你在搜索網站服務器日志,你可以輸入
這些例子都用了 Lucene query syntax。你也可以提交 Elasticsearch Query DSL 式的請求。更多示例,參見之前 Elasticsearch 章節。
- 點擊回車鍵,或者點擊
Search
按鈕提交你的搜索請求。
開始一個新的搜索
要清除當前搜索或開始一個新搜索,點擊 Discover 工具欄的 New Search 按鈕。
保存搜索
你可以在 Discover 頁加載已保存的搜索,也可以用作 visualizations 的基礎。保存一個搜索,意味着同時保存下了搜索請求字符串和當前選擇的索引模式。
要保存當前搜索:
- 點擊 Discover 工具欄的
Save Search
按鈕 - 輸入一個名稱,點擊 Save。
加載一個已存搜索
要加載一個已保存的搜索:
- 點擊 Discover 工具欄的
Load Search
按鈕。
- 選擇你要加載的搜索。
如果已保存的搜索關聯到跟你當前選擇的索引模式不一樣的其他索引上,加載這個搜索也會切換當前的已選索引模式。
改變你搜索的索引
當你提交一個搜索請求,匹配當前的已選索引模式的索引都會被搜索。當前模式模式會顯示在搜索欄下方。要改變搜索的索引,需要選擇另外的模式模式。
要選擇另外的索引模式:
- 點擊 Discover 工具欄的
Settings
按鈕。
- 從索引模式列表中選取你打算采用的模式。
關於索引模式的更多細節,請閱讀稍后 Setting 功能小節。
自動刷新頁面
亦可以配置一個刷新間隔來自動刷新 Discover 頁面的最新索引數據。這回定期重新提交一次搜索請求。
設置刷新間隔后,會顯示在菜單欄時間過濾器的左邊。
要設置刷新間隔:
- 點擊菜單欄右上角的
Time Filter
。
- 點擊
Refresh Interval
標簽。 - 從列表中選擇一個刷新間隔。
要想自動刷新數據,點擊 Auto-refresh 按鈕然后選擇一個自動刷新間隔:
開啟自動刷新后,Kibana 的頂部欄會出現一個暫停按鈕和自動刷新的間隔:。點擊 Pause 按鈕可以暫停自動刷新。
按字段過濾
你可以過濾搜索結果,只顯示在某字段中包含了特定值的文檔。也可以創建反向過濾器,排除掉包含特定字段值的文檔。
你可以從字段列表或者文檔表格里添加過濾器。當你添加好一個過濾器后,它會顯示在搜索請求下方的過濾欄里。從過濾欄里你可以編輯或者關閉一個過濾器,轉換過濾器(從正向改成反向,反之亦然),切換過濾器開關,或者完全移除掉它。
要從字段列表添加過濾器:
- 點擊你想要過濾的字段名。會顯示這個字段的前 5 名數據。每個數據的右側,有兩個小按鈕 —— 一個用來添加常規(正向)過濾器,一個用來添加反向過濾器。
- 要添加正向過濾器,點擊
Positive Filter
按鈕。這個會過濾掉在本字段不包含這個數據的文檔。
- 要添加反向過濾器,點擊
Negative Filter
按鈕。這個會過濾掉在本字段包含這個數據的文檔。
要從文檔表格添加過濾器:
- 點擊表格第一列(通常都是時間)文檔內容左側的
Expand
按鈕展開文檔表格中的文檔。每個字段名的右側,有兩個小按鈕 —— 一個用來添加常規(正向)過濾器,一個用來添加反向過濾器。
- 要添加正向過濾器,點擊
Positive Filter
按鈕。這個會過濾掉在本字段不包含這個數據的文檔。
- 要添加反向過濾器,點擊
Negative Filter
按鈕。這個會過濾掉在本字段包含這個數據的文檔。
過濾器(Filter)的協同工作方式
在 Kibana 的任意頁面創建過濾器后,就會在搜索輸入框的下方,出現一個綠色橢圓形的過濾條件:
鼠標移動到過濾條件上,會顯示下面幾個圖標:
- 過濾器開關
點擊這個圖標,可以在不移除過濾器的情況下關閉過濾條件。再次點擊則重新打開。被禁用的過濾器是條紋狀的灰色,要求包含(相當於 Kibana3 里的 must)的過濾條件顯示為綠色,要求排除(相當於 Kibana3 里的 mustNot)的過濾條件顯示為紅色。
- 過濾器圖釘
點擊這個圖標釘住過濾器。被釘住的過濾器,可以橫貫 Kibana 各個標簽生效。比如在Visualize 標簽頁釘住一個過濾器,然后切換到 Discover 或者 Dashboard 標簽頁,過濾器依然還在。注意:如果你釘住了過濾器,然后發現檢索結果為空,注意查看當前標簽頁的索引模式是不是跟過濾器匹配。
- 過濾器反轉
點擊這個圖標反轉過濾器。默認情況下,過濾器都是包含型,顯示為綠色,只有匹配過濾條件的結果才會顯示。反轉成排除型過濾器后,顯示的是不匹配過濾器的檢索項,顯示為紅色。
- 移除過濾器
點擊這個圖標刪除過濾器。
- 自定義過濾器
點擊這個圖標會打開一個文本編輯框。編輯框內可以修改 JSON 形式的過濾器內容,並起一個 alias 別名:
- JSON 中可以靈活應用 bool query 組合各種
should
、must
、must_not
條件。一個用should
表達的 OR 關系過濾如下: -
{ "bool": { "should": [ { "term": { "geoip.country_name.raw": "Canada" } }, { "term": { "geoip.country_name.raw": "China" } } ] } }
想要對當前頁所有過濾器統一執行上面的某個操作,點擊 Global Filter Actions 按鈕,然后再執行操作即可。
查看文檔數據
當你提交一個搜索請求,最近的 500 個搜索結果會顯示在文檔表格里。你可以在 Advanced Settings 里通過 discover:sampleSize
屬性配置表格里具體的文檔數量。默認的,表格會顯示當前選擇的索引模式中定義的時間字段內容(轉換成本地時區)以及 _source
文檔。你可以從字段列表添加字段到文檔表格。還可以用表格里包含的任意已建索引的字段來排序列出的文檔。
要查看一個文檔的字段數據,點擊表格第一列(通常都是時間)文檔內容左側的 Expand
按鈕 。Kibana 從 Elasticsearch 讀取數據然后在表格中顯示文檔字段。這個表格每行是一個字段的名字、過濾器按鈕和字段的值。
- 要查看原始 JSON 文檔(格式美化過的),點擊 JSON 標簽。
- 要在單獨的頁面上查看文檔內容,點擊鏈接。你可以添加書簽或者分享這個鏈接,以直接訪問這條特定文檔。
- 收回文檔細節,點擊 Collapse 按鈕
。
- To toggle a particular field’s column in the Documents table, click the
Toggle column in tablebutton.
文檔列表排序
你可以用任意已建索引的字段排序文檔表格中的數據。如果當前索引模式配置了時間字段,默認會使用該字段倒序排列文檔。
要改變排序方式:
- 點擊想要用來排序的字段名。能用來排序的字段在字段名右側都有一個排序按鈕。再次點擊字段名,就會反向調整排序方式。
給文檔表格添加字段列
By default, the Documents table shows the localized version of the time field specified in the selected index pattern and the document _source
. You can add fields to the table from the Fields list. 默認的,文檔表格會顯示當前選擇的索引模式中定義的時間字段內容(轉換成本地時區)以及 _source
文檔。你可以從字段列表添加字段到文檔表格。
要添加字段列到文檔表格:
- 移動鼠標到字段列表的字段上,點擊它的
add
按鈕。
- 重復操作直到你添加完所有你想移除的字段。
添加的字段會替換掉文檔表格里的 _source
列。同時還會顯示在字段列表頂部的 Selected Fields
區域里。
要重排表格中的字段列,移動鼠標到你要移動的列頂部,點擊移動過按鈕。
從文檔表格刪除字段列
要從文檔表格刪除字段列:
- 移動鼠標到字段列表的
Selected Fields
區域里你想要移除的字段上,然后點擊它的remove
按鈕。
- 重復操作直到你移除完所有你想移除的字段。
查看字段數據統計
從字段列表,你可以看到文檔表格里有多少數據包含了這個字段,排名前 5 的值是什么,以及包含各個值的文檔的占比。
要查看字段數據統計:
- 點擊字段列表里一個字段的名字。這個字段可以在字段列表的任意位置 —— 已選字段(Selected Fields),常用字段(Popular Fields),或其他字段。
要基於這個字段創建可視化,點擊字段統計下方的 Visualize 按鈕。