# Solution for Logstash json file input - solution pour injecter un fichier json formaté comme ci dessous

**URL:** <https://discuss.elastic.co/t/solution-for-logstash-json-file-input-solution-pour-injecter-un-fichier-json-formate-comme-ci-dessous/255564>\
**Category:** Logstash\
**Created:** [November 16, 2020, 3:37pm UTC](https://discuss.elastic.co/t/solution-for-logstash-json-file-input-solution-pour-injecter-un-fichier-json-formate-comme-ci-dessous/255564 "2020-11-16T15:37:53Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![pmo](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/pmo/32/79080_2.png) [@pmo](https://discuss.elastic.co/u/pmo)\
**Post date:** [November 16, 2020, 3:37pm UTC](https://discuss.elastic.co/t/solution-for-logstash-json-file-input-solution-pour-injecter-un-fichier-json-formate-comme-ci-dessous/255564/1 "2020-11-16T15:37:53Z")

</div>

I've json file that are formated like this (j'ai des fichiers json formatés comme ci dessous - les données ont été changées)

```auto
[
  {
    "crossConnectVlanRanges": "",
    "productAndRelease": "FX-I.2.0",
    "role": "",
    "supervision": "Supervised",
    "name": "CLRX6",
    "ipAddress": "10.1.1.196",
    "activeSoftwareVersion": "V456.1",
    "protectionOlt": ""
  },
  {
    "crossConnectVlanRanges": "",
    "productAndRelease": "FX-I.2.0",
    "role": "",
    "supervision": "Supervised",
    "name": "PATT",
    "ipAddress": "10.1.1.37",
    "activeSoftwareVersion": "V5.1",
    "protectionOlt": ""
  },
  {
    "crossConnectVlanRanges": "",
    "productAndRelease": "FX-I.3",
    "role": "",
    "supervision": "Supervised",
    "name": "PATT",
    "ipAddress": "10.1.1.38",
    "activeSoftwareVersion": "V5.1",
    "protectionOlt": ""
  }
]

```

To inject json file correctly with logstash in elasticsearch index, I use this configuration :  
Pour réussir à les injecter correctement avec logstash, voici la conf. utilisée.

```auto
input {
  file {
    path => "/home/logstash/net/data/file*.json"
    mode => "read"
    sincedb_path => "/dev/null"
    codec => multiline {
      pattern=> "^"
      what => "next"
    }
    type => "NET"
    exit_after_read => true
  }
}
filter {
  json {
    source => "message"
    target => "docs"
    remove_field => "message"
  }
  split {
  field => "docs"
  }
  ruby {
    code => '
    event.get("docs").each { |k, v|
    event.set(k,v)
    }
    event.remove("docs")
    '
  }
}
output {
  if [type] == "NET" {
    elasticsearch {
    hosts => "http://localhost:9200"
    index => "net-%{+YYYY.MM.dd}"
    ssl => "false"
    }
  }
 

```

If this can help !  
Si ca peut aider 😉

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [December 14, 2020, 3:37pm UTC](https://discuss.elastic.co/t/solution-for-logstash-json-file-input-solution-pour-injecter-un-fichier-json-formate-comme-ci-dessous/255564/2 "2020-12-14T15:37:58Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
