# Сжатие старых логов

**URL:** <https://discuss.elastic.co/t/topic/297130>\
**Category:** Вопросы на русском языке\
**Created:** [February 14, 2022, 11:25am UTC](https://discuss.elastic.co/t/topic/297130 "2022-02-14T11:25:13Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![holpa](https://avatars.discourse-cdn.com/v4/letter/h/9de0a6/32.png) [@holpa](https://discuss.elastic.co/u/holpa)\
**Post date:** [February 14, 2022, 11:25am UTC](https://discuss.elastic.co/t/topic/297130/1 "2022-02-14T11:25:13Z")

</div>

Здравствуйте. эластик с кибаной собираются логи с домена (сбор логов осуществляется через ForwardedEvents .evtx)  
В Logstash настроен фильтр которые собирает нужные event id

```auto
filter {
    if "slog" in [tags] {
	if [winlog][event_id] != "5136" and [winlog][event_id] != "5139" and [winlog][event_id] != "5141" and [winlog][event_id] != "5137" and [winlog][event_id] != "4741" and [winlog][event_id] != "4742" and [winlog][event_id] != "4743" and [winlog][event_id] != "4720" and [winlog][event_id] != "4721" and [winlog][event_id] != "4722" and [winlog][event_id] != "4723" and [winlog][event_id] != "4724" and [winlog][event_id] != "4725" and [winlog][event_id] != "4726" and [winlog][event_id] != "4738" and [winlog][event_id] != "4740" and [winlog][event_id] != "4767" and [winlog][event_id] != "4781" and [winlog][event_id] != "4794" and [winlog][event_id] != "1102" and [winlog][event_id] != "4744" and [winlog][event_id] != "4744" and [winlog][event_id] != "4745" and [winlog][event_id] != "4746" and [winlog][event_id] != "4747" and [winlog][event_id] != "4748" and [winlog][event_id] != "4749" and [winlog][event_id] != "4750" and [winlog][event_id] != "4751" and [winlog][event_id] != "4752" and [winlog][event_id] != "4753" and [winlog][event_id] != "4759" and [winlog][event_id] != "4760" and [winlog][event_id] != "4761" and [winlog][event_id] != "4762" and [winlog][event_id] != "4727" and [winlog][event_id] != "4728" and [winlog][event_id] != "4729" and [winlog][event_id] != "4730" and [winlog][event_id] != "4731" and [winlog][event_id] != "4732" and [winlog][event_id] != "4733" and [winlog][event_id] != "4734" and [winlog][event_id] != "4735" and [winlog][event_id] != "4736" and [winlog][event_id] != "4737" and [winlog][event_id] != "4754" and [winlog][event_id] != "4755" and [winlog][event_id] != "4756" and [winlog][event_id] != "4757" and [winlog][event_id] != "4758" and [winlog][event_id] != "4764" and [winlog][event_id] != "4776" and [winlog][event_id] != "4625" {
	drop { }
	}
    }
}

```

Причина в том, что слишком много логов получается и некоторые задваиваются. Как можно сжимать их или удалять не нужные поля?

---

<div class="post-metadata">

**Author:** ![isebolit86](https://avatars.discourse-cdn.com/v4/letter/i/a9adbd/32.png) [@isebolit86](https://discuss.elastic.co/u/isebolit86)\
**Post date:** [February 22, 2022, 1:36pm UTC](https://discuss.elastic.co/t/topic/297130/2 "2022-02-22T13:36:26Z")

</div>

Удалять ненужные поля можно в конфигурационном файле logstash.  
К примеру

```auto
filter {
       mutate { remove_field => ["message"]}
  }

```

удалит поле message из полученного от winlogbeat сообщения. Для корректной настройки времени хранения логов необходимо настроить ilm policy.  
Откровенно говоря, довольно странное решение фильтровать события в самом Logstash. Лучше использовать windows event forwarding custom channels (прям так гуглите первая ссылка на гитхабе будет Вам крайне полезна). На Event Collector будут приходить только нужные события и по сети будет ходить только нужный трафик.

---

<div class="post-metadata">

**Author:** ![holpa](https://avatars.discourse-cdn.com/v4/letter/h/9de0a6/32.png) [@holpa](https://discuss.elastic.co/u/holpa)\
**Post date:** [February 22, 2022, 2:56pm UTC](https://discuss.elastic.co/t/topic/297130/3 "2022-02-22T14:56:33Z")

</div>

Из-за этого и возникла потребность эластика. Один сервер лобирает все логи в контроллеров домена в .evtx. Их нельзя фильтровать по event id (нужно собирать и хранить все)  
А уже потом в эластик собирается только необходимые event, но некоторые дублируются и пишутся все подряд, хотя в фильтре настроены только на нужные мне.

---

<div class="post-metadata">

**Author:** ![isebolit86](https://avatars.discourse-cdn.com/v4/letter/i/a9adbd/32.png) [@isebolit86](https://discuss.elastic.co/u/isebolit86)\
**Post date:** [February 22, 2022, 3:20pm UTC](https://discuss.elastic.co/t/topic/297130/4 "2022-02-22T15:20:50Z")

</div>

Не совсем понятно, почему нельзя фильтровать то? Будет отдельный журнал исключительно для событий аутентификации, отдельный журнал с событиями изменения состояния учетной записи и тд. Быстрее поиск нужных событий, в том числе и в архивных журналах (мы же архивируем журналы по достижении 4Гб).  
Фильтрацию можно делать и средствами того же winlogbeat

```auto
winlogbeat.event_logs:
  - name: Security
    event_id: 4624, 4625, 4700-4800, -4735

```

Где -4735 исключенное для передачи событие. Вполне может быть я не вижу конечной цели эластика. Если он нужен исключительно как фильтр, то это слишком тяжелое решение. Тем же Logstash в output можно указать конечный файл и на этом успокоиться.  
В любом случае решение для Вашей проблемы - настройка ilm policy. Эластик c заданной Вами частотой будет переводить индексы по фазам и, если настройки корректны, сжимать.

```auto
PUT _ilm/policy/winlogbeat-7.7.0
{
  "policy": {
    "phases": {
      "warm": {
        "actions": {
          "forcemerge" : {
            "max_num_segments": 1,
            "index_codec": "best_compression"
          }
        }
      }
    }
  }
}

```

Поле "index\_codec": "best\_compression" в данном случае и указывает на максимально возможное сжатие. Приведенный выше пример актуален для Elasticsearch 7.7.0

---

<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:** [February 22, 2022, 3:20pm UTC](https://discuss.elastic.co/t/topic/297130/5 "2022-02-22T15:20:50Z")

</div>

Elasticsearch 7.7 is [EOL](https://www.elastic.co/support/eol) and no longer supported. Please upgrade ASAP.

(This is an automated response from your friendly Elastic bot. Please report this post if you have any suggestions or concerns :elasticheart: )

---

<div class="post-metadata">

**Author:** ![holpa](https://avatars.discourse-cdn.com/v4/letter/h/9de0a6/32.png) [@holpa](https://discuss.elastic.co/u/holpa)\
**Post date:** [February 22, 2022, 3:50pm UTC](https://discuss.elastic.co/t/topic/297130/6 "2022-02-22T15:50:52Z")

</div>

Такая ситуация. Есть 15 контроллеров домена, есть отдельный сервер который собирает все логи forwardind events (требования информационный безопасности)- дальше они в анкей сием или куда там собираются. Мне же нужны определенные логи (удаление УЗ, включение, предоставлен доступ, создана группа - и все то же самое на удаление), поэтому winlogbeat настроен на отправку forwarding ( .evtx) в эластик. winlogbeat отправляет именно .evtx целиком, и я сделал фильтр для нужных мне евентов. Но база стала расти нереально быстро (при 5 версии логи хранились годами, а сейчас в разы меньше, после установки последних версий), раньше был сделан шаблон json (но сейчас он не отрабатывает) поэтому я сделал фильтр в логсташе. Но некоторые логи дублируются, и пишется слишком много не нужных полей.

---

<div class="post-metadata">

**Author:** ![isebolit86](https://avatars.discourse-cdn.com/v4/letter/i/a9adbd/32.png) [@isebolit86](https://discuss.elastic.co/u/isebolit86)\
**Post date:** [February 22, 2022, 4:58pm UTC](https://discuss.elastic.co/t/topic/297130/7 "2022-02-22T16:58:09Z")

</div>

Тогда в том же logstash используйте remove\_field (пример в первом посте). Название полей можно посмотреть в Kibana (если она есть) или самом Elasticsearch.

---

<div class="post-metadata">

**Author:** ![holpa](https://avatars.discourse-cdn.com/v4/letter/h/9de0a6/32.png) [@holpa](https://discuss.elastic.co/u/holpa)\
**Post date:** [March 9, 2022, 5:35am UTC](https://discuss.elastic.co/t/topic/297130/8 "2022-03-09T05:35:23Z")

</div>

Не получается сделать по нормальному. Все равно логи дублируются по пару раз. Вот пример:  
event id 4776 именно с этого евента такие логи идут и их очень много, соответственно сжирает место

`Mar 9, 2022 @ 10:27:18.723	event.code:4776 winlog.event_id:4776 @timestamp:Mar 9, 2022 @ 10:27:18.723 @version:1 agent.ephemeral_id:ebd291ad-0bfa-4ce9-96ed-47474682755b agent.hostname:ulog01 agent.id:3dd275e2-9a5b-4c04-baa3-afd04756e13e agent.name:ulog01 agent.type:winlogbeat agent.version:7.16.2 ecs.version:1.12.0 event.action:Credential Validation event.created:Mar 9, 2022 @ 10:27:20.287 event.kind:event event.outcome:success event.provider:Microsoft-Windows-Security-Auditing host.name:SDC07.dom.ru log.level:information message:The computer attempted to validate the credentials for an account. Authentication Package: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 Logon Account: I_Ivanov Source Workstation: Y-12225 Error Code: 0x0 tags:winsrvad, beats_input_codec_plain_applied winlog.api:wineventlog winlog.channel:Security winlog.computer_name:SDC07.dom.ru winlog.event_data.PackageName:MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 winlog.event_data.Status:0x0 winlog.event_data.TargetUserName:I_Ivanov winlog.event_data.Workstation:PC-12225 winlog.keywords:Audit Success winlog.opcode:Info winlog.process.pid:680 winlog.process.thread.id:7,960 winlog.provider_guid:{54849625-5478-4994-A5BA-3E3B0328C30D} winlog.provider_name:Microsoft-Windows-Security-Auditing winlog.record_id:223,633,020 winlog.task:Credential Validation _id:k1klbX8B7hUHpkGdYojn _index:winsrvad-2022.03.09 _score: - _type:_doc`

`Mar 9, 2022 @ 10:27:18.723	event.code:4776 winlog.event_id:4776 @timestamp:Mar 9, 2022 @ 10:27:18.723 @version:1 agent.ephemeral_id:ebd291ad-0bfa-4ce9-96ed-47474682755b agent.hostname:ulog01 agent.id:3dd275e2-9a5b-4c04-baa3-afd04756e13e agent.name:ulog01 agent.type:winlogbeat agent.version:7.16.2 ecs.version:1.12.0 event.action:Credential Validation event.created:Mar 9, 2022 @ 10:27:20.287 event.kind:event event.outcome:success event.provider:Microsoft-Windows-Security-Auditing host.name:SDC07.dom.ru log.level:information message:The computer attempted to validate the credentials for an account. Authentication Package: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 Logon Account: I_Ivanov Source Workstation: Y-12225 Error Code: 0x0 tags:winsrvad, beats_input_codec_plain_applied winlog.api:wineventlog winlog.channel:Security winlog.computer_name:SDC07.dom.ru winlog.event_data.PackageName:MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 winlog.event_data.Status:0x0 winlog.event_data.TargetUserName:I_Ivanov winlog.event_data.Workstation:PC-12225 winlog.keywords:Audit Success winlog.opcode:Info winlog.process.pid:680 winlog.process.thread.id:7,960 winlog.provider_guid:{54849625-5478-4994-A5BA-3E3B0328C30D} winlog.provider_name:Microsoft-Windows-Security-Auditing winlog.record_id:223,633,022 winlog.task:Credential Validation _id:lFklbX8B7hUHpkGdYojn _index:winsrvad-2022.03.09 _score: - _type:_doc`

`Mar 9, 2022 @ 10:27:18.723	event.code:4776 winlog.event_id:4776 @timestamp:Mar 9, 2022 @ 10:27:18.723 @version:1 agent.ephemeral_id:ebd291ad-0bfa-4ce9-96ed-47474682755b agent.hostname:ulog01 agent.id:3dd275e2-9a5b-4c04-baa3-afd04756e13e agent.name:ulog01 agent.type:winlogbeat agent.version:7.16.2 ecs.version:1.12.0 event.action:Credential Validation event.created:Mar 9, 2022 @ 10:27:20.287 event.kind:event event.outcome:success event.provider:Microsoft-Windows-Security-Auditing host.name:SDC07.dom.ru log.level:information message:The computer attempted to validate the credentials for an account. Authentication Package: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0 Logon Account: I_Ivanov Source Workstation: Y-12225 Error Code: 0x0 tags:winsrvad, beats_input_codec_plain_applied winlog.api:wineventlog winlog.channel:Security`

---

<div class="post-metadata">

**Author:** ![isebolit86](https://avatars.discourse-cdn.com/v4/letter/i/a9adbd/32.png) [@isebolit86](https://discuss.elastic.co/u/isebolit86)\
**Post date:** [March 9, 2022, 6:21am UTC](https://discuss.elastic.co/t/topic/297130/9 "2022-03-09T06:21:58Z")

</div>

Прям буквально ответ на Ваш вопрос

---

<div class="post-metadata">

**Author:** ![holpa](https://avatars.discourse-cdn.com/v4/letter/h/9de0a6/32.png) [@holpa](https://discuss.elastic.co/u/holpa)\
**Post date:** [March 9, 2022, 6:34am UTC](https://discuss.elastic.co/t/topic/297130/10 "2022-03-09T06:34:48Z")

</div>

Извините, немного не понял, точнее ничего не понял.

---

<div class="post-metadata">

**Author:** ![isebolit86](https://avatars.discourse-cdn.com/v4/letter/i/a9adbd/32.png) [@isebolit86](https://discuss.elastic.co/u/isebolit86)\
**Post date:** [March 9, 2022, 6:55am UTC](https://discuss.elastic.co/t/topic/297130/11 "2022-03-09T06:55:08Z")

</div>

Удалять ненужные поля можно в конфигурационном файле logstash.  
К примеру

```auto
filter {
       mutate { remove_field => ["message"]}
  }

```

удалит поле message из полученного от winlogbeat сообщения.

---

<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:** [April 6, 2022, 6:55am UTC](https://discuss.elastic.co/t/topic/297130/12 "2022-04-06T06:55:19Z")

</div>

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