Привет, Хабр! В посте о прошлом обновлении платформы мы говорили о плагинах, новых баунсерах и обновлённом механизме консенсуса, которые появились в CrowdSec в версии 1.2. Но время не стоит на месте, и мы продолжаем развивать и улучшать своё детище. В версии 1.2.1 исправлено несколько ошибок и появились новые возможности для пользователей, которые имеют дело с большими базами данных с множеством агентов и баунсеров. Но главной фишкой обновления стала поддержка cscli explain — функции, которая упрощает создание парсеров и сценариев, а также поиск ошибок в них.
Процесс исправления ошибок в парсере или создание нового сценария могут вызывать много вопросов, если нет понимания, какие данные в каком поле окажутся или какой именно парсер в цепочке «испортился». До этой версии платформы справиться с такими проблемами можно было только вручную, переведя нужный парсер или парсеры в режим отладки и запустив CrowdSec. Но такой вариант решения проблемы требует слишком много усилий. Поэтому мы и добавили в новую версию поддержку cscli explain. Эта функция показывает, какие именно парсеры используют какие строки, получается ли у них обработать эти строки и какие изменения парсер вносит в каждую строку.
Выглядит это так:
На этом скриншоте мы можем видеть строки, которые обрабатываются различными парсерами, а также обогатителями данных (например, GeoIP), прежде чем, они окажутся в сценариях: http-crawl-non_statics и http-probbing.
Мы давно хотели ввести в платформу поддержку этой фичи и надеемся, что уже в текущей своей форме она поможет упростить работу с парсерами и сценариями. Кстати, при создании сценариев, как на скриншоте ниже, cscli explain также позволяет увидеть все вносимые изменения:
На этом краткий обзор нашей версии 1.2.1 можно считать оконченным. До новых обновлений! А также следите за нами на нашем сайте и заходите на github.