Logging
欄位類型在 Kibana/Elasticsearch 中不受歡迎
我正在為 Java 應用程序使用 logstash 外掛,使用 logback 將日誌轉發到我的 logstash 伺服器。我已經設置了一個過濾器定義如下:
input { tcp { port => 2856 codec => json_lines } } filter { mutate { convert => { "tenantId" => "integer" "userId" => "integer" } } }
使用以下配置將日誌轉發到 Elasticsearch:
output { elasticsearch { hosts => ["127.0.0.1:9200"] user => "user" password => "secure" } }
索引只是進入 logstash-,當我檢查 Elasticsearch 中的映射時,我看到以下內容:
"logstash-2016.04.25" : { "mappings" : { "logs" : { "_all" : { "omit_norms" : true, "enabled" : true }, "properties" : { ... "userId" : { "type" : "long" }, "tenantId" : { "type" : "long" }, ... } } } }
所以我可以看到這些欄位被設置為適當的類型,但是當我檢查 Kibana 時,它們既沒有被分析也沒有被定義為長值。我錯過了什麼?
假設這些是給定索引中的新欄位,您需要告訴 Kibana刷新它的欄位列表。
重新載入索引欄位列表
添加索引映射時,Kibana 會自動掃描與模式匹配的索引以顯示索引欄位列表。您可以重新載入索引欄位列表以獲取任何新添加的欄位。
重新載入索引欄位列表還會重置 Kibana 的欄位流行度計數器。流行度計數器跟踪您在 Kibana 中最常使用的欄位,並用於對列表中的欄位進行排序。
要重新載入索引欄位列表:
- 轉到設置 > 索引選項卡。
- 從索引模式列表中選擇一個索引模式。
- 點擊模式的重新載入按鈕。