Здравствуйте. эластик с кибаной собираются логи с домена (сбор логов осуществляется через ForwardedEvents .evtx)
В Logstash настроен фильтр которые собирает нужные event id
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 { }
}
}
}
Причина в том, что слишком много логов получается и некоторые задваиваются. Как можно сжимать их или удалять не нужные поля?
Удалять ненужные поля можно в конфигурационном файле logstash.
К примеру
filter {
mutate { remove_field => ["message"]}
}
удалит поле message из полученного от winlogbeat сообщения. Для корректной настройки времени хранения логов необходимо настроить ilm policy.
Откровенно говоря, довольно странное решение фильтровать события в самом Logstash. Лучше использовать windows event forwarding custom channels (прям так гуглите первая ссылка на гитхабе будет Вам крайне полезна). На Event Collector будут приходить только нужные события и по сети будет ходить только нужный трафик.
Из-за этого и возникла потребность эластика. Один сервер лобирает все логи в контроллеров домена в .evtx. Их нельзя фильтровать по event id (нужно собирать и хранить все)
А уже потом в эластик собирается только необходимые event, но некоторые дублируются и пишутся все подряд, хотя в фильтре настроены только на нужные мне.
Не совсем понятно, почему нельзя фильтровать то? Будет отдельный журнал исключительно для событий аутентификации, отдельный журнал с событиями изменения состояния учетной записи и тд. Быстрее поиск нужных событий, в том числе и в архивных журналах (мы же архивируем журналы по достижении 4Гб).
Фильтрацию можно делать и средствами того же winlogbeat
Где -4735 исключенное для передачи событие. Вполне может быть я не вижу конечной цели эластика. Если он нужен исключительно как фильтр, то это слишком тяжелое решение. Тем же Logstash в output можно указать конечный файл и на этом успокоиться.
В любом случае решение для Вашей проблемы - настройка ilm policy. Эластик c заданной Вами частотой будет переводить индексы по фазам и, если настройки корректны, сжимать.
Поле "index_codec": "best_compression" в данном случае и указывает на максимально возможное сжатие. Приведенный выше пример актуален для Elasticsearch 7.7.0
Такая ситуация. Есть 15 контроллеров домена, есть отдельный сервер который собирает все логи forwardind events (требования информационный безопасности)- дальше они в анкей сием или куда там собираются. Мне же нужны определенные логи (удаление УЗ, включение, предоставлен доступ, создана группа - и все то же самое на удаление), поэтому winlogbeat настроен на отправку forwarding ( .evtx) в эластик. winlogbeat отправляет именно .evtx целиком, и я сделал фильтр для нужных мне евентов. Но база стала расти нереально быстро (при 5 версии логи хранились годами, а сейчас в разы меньше, после установки последних версий), раньше был сделан шаблон json (но сейчас он не отрабатывает) поэтому я сделал фильтр в логсташе. Но некоторые логи дублируются, и пишется слишком много не нужных полей.
Тогда в том же logstash используйте remove_field (пример в первом посте). Название полей можно посмотреть в Kibana (если она есть) или самом Elasticsearch.
Не получается сделать по нормальному. Все равно логи дублируются по пару раз. Вот пример:
event id 4776 именно с этого евента такие логи идут и их очень много, соответственно сжирает место
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.