# Двоятся документы при использовании pipeline

**URL:** <https://discuss.elastic.co/t/pipeline/200857>\
**Category:** Вопросы на русском языке\
**Created:** [September 24, 2019, 11:57am UTC](https://discuss.elastic.co/t/pipeline/200857 "2019-09-24T11:57:27Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![KOTOXJle6](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kotoxjle6/32/131136_2.png) [@KOTOXJle6](https://discuss.elastic.co/u/KOTOXJle6)\
**Post date:** [September 24, 2019, 11:57am UTC](https://discuss.elastic.co/t/pipeline/200857/1 "2019-09-24T11:57:28Z")

</div>

Добрый день.  
Логи с сервера exchange через filebeat отправлялись в logstash и дальше в elasticsearch. В logstash отрезались лишние поля логов сервера. Создали pipeline для удаления системных строк в документе и включили использование pipeline в filebeat.  
Сейчас при создании нового лога в Kibana появляются сразу два документа. Первый выглядит так, как было до использования pipeline - с системными полями, второй документ без них, как и планировалось. Оба документа создаются в одно и то же время и содержат одну и ту же строчку лога.

Из-за чего может происходить такое дублирование?

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [September 24, 2019, 1:33pm UTC](https://discuss.elastic.co/t/pipeline/200857/2 "2019-09-24T13:33:46Z")

</div>

А можно на конкретный пример посмотреть, а то не очень понятно о каком pipeline речь идет? В filebeats pipeline-ов то вроде нет, они есть только в elasticsearch и logstash.

---

<div class="post-metadata">

**Author:** ![KOTOXJle6](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kotoxjle6/32/131136_2.png) [@KOTOXJle6](https://discuss.elastic.co/u/KOTOXJle6)\
**Post date:** [September 24, 2019, 1:36pm UTC](https://discuss.elastic.co/t/pipeline/200857/3 "2019-09-24T13:36:26Z")

</div>

Pipeline для ES. Вот вывод из Kibana через GET \_ingest/pipeline/

```
  "remove-fields-exchange" : {
    "description" : "remove a exchange of fields",
    "processors" : [
      {
        "remove" : {
          "field" : [
            "agent.ephemeral_id",
            "agent.hostname",
            "agent.id",
            "agent.type",
            "agent.version",
            "ecs.version",
            "input.type",
            "log.offset",
            "log.file.path",
            "version"
          ],
          "ignore_failure" : true
        }
      }
    ]
  }
}
```

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [September 24, 2019, 1:37pm UTC](https://discuss.elastic.co/t/pipeline/200857/4 "2019-09-24T13:37:21Z")

</div>

Понял, как конфиг filebeat выглядит?

---

<div class="post-metadata">

**Author:** ![KOTOXJle6](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kotoxjle6/32/131136_2.png) [@KOTOXJle6](https://discuss.elastic.co/u/KOTOXJle6)\
**Post date:** [September 24, 2019, 1:38pm UTC](https://discuss.elastic.co/t/pipeline/200857/5 "2019-09-24T13:38:02Z")

</div>

```
#=========================== Filebeat inputs =============================
filebeat.inputs:
- type: log
  paths:
      - C:\Program Files\Microsoft\Exchange Server\V15\TransportRoles\Logs\MessageTracking\*.LOG
  fields:
     type: exchange_message_tracking
  fields_under_root: true
  scan_frequency: 5s
#============================= Filebeat modules ===============================
filebeat.config.modules:
  # Glob pattern for configuration loading
  path: ${path.config}/modules.d/*.yml
  # Set to true to enable config reloading
  reload.enabled: false
#==================== Elasticsearch template setting ==========================
setup.template.settings:
  index.number_of_shards: 1
  #index.codec: best_compression
  #_source.enabled: false
#================================ General =====================================
# The tags of the shipper are included in their own field with each
# transaction published.
tags: ["exchange"]
#----------------------------- Logstash output --------------------------------
output.logstash:
  # The Logstash hosts
  hosts: ["102.1.111.130:5044"]
  pipeline: remove-fields-exchange
```

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [September 24, 2019, 1:46pm UTC](https://discuss.elastic.co/t/pipeline/200857/6 "2019-09-24T13:46:12Z")

</div>

То есть все посылается в logstash?

```auto
output.logstash:
  # The Logstash hosts
  hosts: ["10.0.215.141:5044"]
  pipeline: remove-fields-exchange

```

На сколько я знаю, параметер `pipeline` в этом случае игнорируется. Вроде тут все нормально (если у вас никаких модулей не грузится). Тогда давайте смотреть на следующий шаг - logstash.

---

<div class="post-metadata">

**Author:** ![KOTOXJle6](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kotoxjle6/32/131136_2.png) [@KOTOXJle6](https://discuss.elastic.co/u/KOTOXJle6)\
**Post date:** [September 24, 2019, 1:49pm UTC](https://discuss.elastic.co/t/pipeline/200857/7 "2019-09-24T13:49:25Z")

</div>

```
filter {
    if "exchange" in [tags] {
  csv { columns => [ 'date-time', 'client-ip', 'client-hostname', 'server-ip', 'server-hostname', 'source-context', 'connector-id', 'source', 'event-id', 'internal-message-id', 'message-id', 'network-message-id', 'recipient-address'$
        remove_field => ["date-time","directionality","event-id","input.type","message-info","source","type","custom-data","connector-id"]
        }
  }
}

```

Модули не используются. После $ есть еще немного текста, просто копировать неудобно.

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [September 24, 2019, 1:53pm UTC](https://discuss.elastic.co/t/pipeline/200857/8 "2019-09-24T13:53:07Z")

</div>

меня больше inputs и outputs интересуют

---

<div class="post-metadata">

**Author:** ![KOTOXJle6](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kotoxjle6/32/131136_2.png) [@KOTOXJle6](https://discuss.elastic.co/u/KOTOXJle6)\
**Post date:** [September 24, 2019, 1:57pm UTC](https://discuss.elastic.co/t/pipeline/200857/9 "2019-09-24T13:57:05Z")

</div>

Input

```
input {
   beats {
     port => 5044
     }
 }

```

Output

```
 else if "exchange" in [tags] {
    elasticsearch {
        hosts => ["102.1.111.211:9200","102.1.111.210:9200","102.1.111.209:9200"]
        index => "exchange-%{+YYYY.MM.dd}"
      }
     }
```

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [September 24, 2019, 2:38pm UTC](https://discuss.elastic.co/t/pipeline/200857/10 "2019-09-24T14:38:37Z")

</div>

Этот путь создает старую запись без pipeline. Должен быть еще один путь, который тут не появился. У вас еще одного `output.elasticsearch` где-нибудь нет в logstash или в filebeat?

---

<div class="post-metadata">

**Author:** ![KOTOXJle6](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/kotoxjle6/32/131136_2.png) [@KOTOXJle6](https://discuss.elastic.co/u/KOTOXJle6)\
**Post date:** [September 25, 2019, 9:32am UTC](https://discuss.elastic.co/t/pipeline/200857/11 "2019-09-25T09:32:05Z")

</div>

Output точно был один. До включения pipeline поля резались в filbebeat и logstash. После некоторых изменений в фильтре logstash и перезапуске службы, pipeliene перестал работать вообще. Сейчас появилось подозрение что pipeline и не работал, а поля резались фильтром LS. Было несколько разных изменений конфгурации LS и. возможно. в какой-то момент забыли эти изменения применить.  
Вероятно в нашем случае использование pipeline через LS нужно настраивать как сказано тут - [https://www.elastic.co/guide/en/logstash/current/use-ingest-pipelines.html](https://www.elastic.co/guide/en/logstash/current/use-ingest-pipelines.html). Пока не получилось так настроить, придется на некоторое время поставить эту проблему на паузу. Когда будет время, все еще раз протестирую и напишу результат.

---

<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:** [October 23, 2019, 9:32am UTC](https://discuss.elastic.co/t/pipeline/200857/12 "2019-10-23T09:32:07Z")

</div>

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