2015-03-02 99 views
2

我正在使用logstash/elasticsearch/kibana來控制一些應用程序日誌。 我正在開發的應用程序是自定義開發,所以我必須定義我的模式/額外文件和我自己的elasticsearch映射。Kibana未使用elasticsearch映射

我所定義的映射爲:

{ 
    "http-logs": { 
     "properties": { 
      "message": { 
       "type": "string", 
       "index": "no" 
      }, 
      "@version": { 
       "type": "long" 
      }, 
      "@timestamp": { 
       "type": "date" 
      }, 
      "command": { 
       "type": "string", 
       "index": "not_analyzed" 
      }, 
      "type": { 
       "type": "string", 
       "index": "analyzed" 
      }, 
      "facade-in": { 
       "type": "string", 
       "index": "not_analyzed" 
      }, 
      "facade-out": { 
       "type": "string", 
       "index": "not_analyzed" 
      }, 
      "elapsed": { 
       "type": "integer" 
      }, 
      "items": { 
       "type": "integer" 
      } 
     } 
    } 
} 

,一旦裝上ES,我可以看到它定義爲預期: ... 「命令」:{ 「類型」: 「串」, 「指數」:「not_analyzed」 }, ...

加載我的日誌與logstash我試圖想象一些數據,但玩着我的領域我困惑的是和身邊kibana後,說我的命令進行分析....而它的肩膀不是。

我錯過了什麼?

在此先感謝您的幫助。

+0

當索引爲空時,您是否更新了映射?當已經存在該類型的文檔時,您無法更改映射。 – 2015-03-03 06:42:02

+0

感謝您的回覆。我確實更新了索引,但另外一個缺失的步驟是刷新kibana的設置。不這樣做,我的舊分析屬性沒有動。 – krl 2015-03-04 12:55:56

回答

1

如前所述here如果您的文檔不符合您的映射,logstash將不會依賴您的映射。重新檢查我的對象和我的定義差異導致的問題和清理我的映射/對象做了伎倆。