当前位置: 首页 > 知识库问答 >
问题:

使用logstash将json文件数据导入弹性搜索

陶腾
2023-03-14

我想将json文件数据导入弹性搜索。这是我的logstash配置文件-

输入{file{type=

输出{stdout{codec=

这是我的json文件---

{"水果":"苹果","大小":"小","颜色":"红色" }, { "水果":"木瓜","大小":"大","颜色":"黄色"测试":"甜"}

我使用这个命令执行了上面的配置文件----

logstash -f logstashcon.conf

但我在弹性搜索索引中得到了如下数据--

{
  "took": 2,
  "timed_out": false,
  "_shards": {
    "total": 5,
    "successful": 5,
    "failed": 0
  },
  "hits": {
    "total": 10,
    "max_score": 1,
    "hits": [
      {
        "_index": "jsondata1",
        "_type": "json",
        "_id": "AWNniXbgMkzPgBTTablA",
        "_score": 1,
        "_source": {
          "path": "C:\\Users\\Desktop\\newJSON.json",
          "@timestamp": "2018-05-16T06:00:48.302Z",
          "@version": "1",
          "host": "user-102",
          "message": "{\r",
          "type": "json"
        }
      },
      {
        "_index": "jsondata1",
        "_type": "json",
        "_id": "AWNniXbgMkzPgBTTablB",
        "_score": 1,
        "_source": {
          "path": "C:\\Users\\Desktop\\newJSON.json",
          "@timestamp": "2018-05-16T06:00:48.694Z",
          "@version": "1",
          "host": "user-102",
          "message": "    \"fruit\": \"Apple\",\r",
          "type": "json"
        }
      },
      {
        "_index": "jsondata1",
        "_type": "json",
        "_id": "AWNniXbgMkzPgBTTablE",
        "_score": 1,
        "_source": {
          "path": "C:\\Users\\Desktop\\newJSON.json",
          "@timestamp": "2018-05-16T06:00:48.696Z",
          "@version": "1",
          "host": "user-102",
          "message": "},\r",
          "type": "json"
        }
      },
      {
        "_index": "jsondata1",
        "_type": "json",
        "_id": "AWNniXbgMkzPgBTTablC",
        "_score": 1,
        "_source": {
          "path": "C:\\Users\\Desktop\\newJSON.json",
          "@timestamp": "2018-05-16T06:00:48.695Z",
          "@version": "1",
          "host": "user-102",
          "message": "    \"size\": \"Large\",\r",
          "type": "json"
        }
      },
      {
        "_index": "jsondata1",
        "_type": "json",
        "_id": "AWNniXbgMkzPgBTTablD",
        "_score": 1,
        "_source": {
          "path": "C:\\Users\\Desktop\\newJSON.json",
          "@timestamp": "2018-05-16T06:00:48.696Z",
          "@version": "1",
          "host": "user-102",
          "message": "    \"color\": \"Red\"\r",
          "type": "json"
        }
      },
      {
        "_index": "jsondata1",
        "_type": "json",
        "_id": "AWNniXbgMkzPgBTTablG",
        "_score": 1,
        "_source": {
          "path": "C:\\Users\\Desktop\\newJSON.json",
          "@timestamp": "2018-05-16T06:00:48.698Z",
          "@version": "1",
          "host": "user-102",
          "message": "\"fruit\": \"Papaya\",\r",
          "type": "json"
        }
      },
      {
        "_index": "jsondata1",
        "_type": "json",
        "_id": "AWNniXbgMkzPgBTTablJ",
        "_score": 1,
        "_source": {
          "path": "C:\\Users\\Desktop\\newJSON.json",
          "@timestamp": "2018-05-16T06:00:48.699Z",
          "@version": "1",
          "host": "user-102",
          "message": "}\r",
          "type": "json"
        }
      },
      {
        "_index": "jsondata1",
        "_type": "json",
        "_id": "AWNniXbgMkzPgBTTablH",
        "_score": 1,
        "_source": {
          "path": "C:\\Users\\Desktop\\newJSON.json",
          "@timestamp": "2018-05-16T06:00:48.699Z",
          "@version": "1",
          "host": "user-102",
          "message": "    \"size\": \"Large\",\r",
          "type": "json"
        }
      },
      {
        "_index": "jsondata1",
        "_type": "json",
        "_id": "AWNniXbgMkzPgBTTablF",
        "_score": 1,
        "_source": {
          "path": "C:\\Users\\Desktop\\newJSON.json",
          "@timestamp": "2018-05-16T06:00:48.698Z",
          "@version": "1",
          "host": "user-102",
          "message": "{\r",
          "type": "json"
        }
      },
      {
        "_index": "jsondata1",
        "_type": "json",
        "_id": "AWNniXbgMkzPgBTTablI",
        "_score": 1,
        "_source": {
          "path": "C:\\Users\\Desktop\\newJSON.json",
          "@timestamp": "2018-05-16T06:00:48.699Z",
          "@version": "1",
          "host": "user-102",
          "message": "    \"color\": \"Yellow\"\r",
          "type": "json"
        }
      }
    ]
  }
}

请帮我获得正确的输出谢谢!

共有1个答案

艾凯捷
2023-03-14

你需要使用logstash的JSON过滤器插件来构建你的输出,

例如,如果在消息字段中有JSON数据,则过滤器将,

filter {
  json {
    source => "message"
  }
}

文件上是这么说的,

它接受一个包含JSON的现有字段,并将其扩展为Logstash事件中的实际数据结构。

请阅读更多关于用法和示例的信息。

 类似资料:
  • 我无法用logstash将数据加载到localhost上的弹性搜索节点...我想让logstash读取csv文件并将这些数据加载到弹性搜索。但是什么都不起作用,我只能读取我手动添加到弹性搜索中的数据,看起来logstash什么都不做。 我的logstash配置是: 我的csv文件是: “MyIndex”索引上没有新的内容出现!但我不知道为什么... 将logstash配置文件从不获取文件的“*.c

  • 问题内容: 有没有办法将数据从JSON文件导入R?更具体地说,该文件是带有字符串字段,对象和数组的JSON对象的数组。关于如何处理此http://cran.r-project.org/web/packages/rjson/rjson.pdf,RJSON软件包尚不清楚。 问题答案: 首先安装软件包: 然后: 更新: 从0.2.1版本开始

  • 这是logstash.err的错误: 连接失败:在/opt/logstash/vendor/bundle/jruby/1.9/gems/Faraday-0.9.0/lib/Faraday/adapter/net_http调用文件结束。rb:44 build_response at/opt/logstash/vendor/bundle/jruby/1.9/gems/faraday-0.9.0/lib

  • 我试图使用docker容器创建一个弹性搜索安装。我只使用Elastic.io提供者的映像。 我不知道为什么,但logstash告诉我,他无法连接到带有此错误消息的ElasticSearch实例: 如果logstash真的得到了我的设置,有人能告诉我为什么他使用了一个坏的主机事件吗?

  • 问题内容: 我正在努力将数据从文件导入。 我可以使用在命令行中执行相同的操作。 我进行了很多尝试,但无法使用Java从Json文件导入。 sample.json 谢谢你的时间 〜加内什〜 问题答案: 假设您可以分别读取JSON字符串。例如,您阅读了第一个JSON文本 并将其分配给变量(字符串json1),下一步是解析它, 将所有 dbo 放入列表, 然后将它们保存到数据库中: 编辑: 在最新的Mo

  • 问题内容: 我有大量(〜40000)嵌套的​​JSON对象,我想将它们插入elasticsearch中。 JSON对象的结构如下: 因此,JSON字段(此示例中为地址)可以具有JSON对象数组。 Logstash配置看起来像什么将这样的JSON文件/对象导入elasticsearch?该索引的elasticsearch映射应该看起来像JSON的结构。elasticsearch文档ID应设置为。 问