簡體   English   中英

使用logstash的動態elasticsearch index_type

[英]Dynamic elasticsearch index_type using logstash

我正在使用來自Rabbitmq服務器的logstash在elasticsearch上存儲數據。

我的logstash命令看起來像

logstash -e 'input{
rabbitmq {
    exchange => "redwine_log"
    key => "info.redwine"
    host => "localhost"
    durable => true
    user => "guest"
    password => "guest"
}
}

output {
  elasticsearch {
    host => "localhost"
    index => "redwine"
  }
}
filter {
  json {
    source => "message"
    remove_field => [ "message" ]
  }
}'

但是我需要使用logstash將數據放入elasticsearch集群中的不同類型。 我所說的類型是:

"hits": {
      "total": 3,
      "max_score": 1,
      "hits": [
         {
            "_index": "logstash-2014.11.19",
            "_type": "logs",
            "_id": "ZEea8HBOSs-QwH67q1Kcaw",
            "_score": 1,
            "_source": {
               "context": [],
               "level": 200,
               "level_name": "INFO",

這是搜索結果的一部分,在這里您可以通過defualt查看logstash創建一個名為“ logs”的類型(_type:“ logs”)。 在我的項目中,我需要該類型是動態的,並且應該基於輸入數據來創建。 例如:我的輸入數據看起來像

{
    "data":"some data",
    "type": "type_1"
}

我需要logstash在elasticsearch中創建一個名稱為“ type_1”的新類型。

我嘗試使用grok ..但是無法獲得此特定要求。

它以這種方式為我工作

elasticsearch {
    host => "localhost"
    index_type => "%{type}"
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM