使用logstash的动态elasticsearch index_type

 淘美国 发布于 2022-12-10 16:40

我正在使用来自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 ..但无法得到这个特定的要求.

1 个回答
  • 它以这种方式为我工作

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

    2022-12-11 02:07 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有