Привет, Хабр! В посте о прошлом обновлении платформы мы говорили о плагинах, новых баунсерах и обновлённом механизме консенсуса, которые появились в CrowdSec в версии 1.2. Но время не стоит на месте, и мы продолжаем развивать и улучшать своё детище. В версии 1.2.1 исправлено несколько ошибок и появились новые возможности для пользователей, которые имеют дело с большими базами данных с множеством агентов и баунсеров. Но главной фишкой обновления стала поддержка cscli explain — функции, которая упрощает создание парсеров и сценариев, а также поиск ошибок в них.
Процесс исправления ошибок в парсере или создание нового сценария могут вызывать много вопросов, если нет понимания, какие данные в каком поле окажутся или какой именно парсер в цепочке «испортился». До этой версии платформы справиться с такими проблемами можно было только вручную, переведя нужный парсер или парсеры в режим отладки и запустив CrowdSec. Но такой вариант решения проблемы требует слишком много усилий. Поэтому мы и добавили в новую версию поддержку cscli explain. Эта функция показывает, какие именно парсеры используют какие строки, получается ли у них обработать эти строки и какие изменения парсер вносит в каждую строку.
Выглядит это так:
![cscli explain в действии. Источник (здесь и далее): CrowdSec cscli explain в действии. Источник (здесь и далее): CrowdSec](https://habrastorage.org/getpro/habr/upload_files/36f/bd9/951/36fbd9951569712a43ffdcd415290189.png)
На этом скриншоте мы можем видеть строки, которые обрабатываются различными парсерами, а также обогатителями данных (например, GeoIP), прежде чем, они окажутся в сценариях: http-crawl-non_statics и http-probbing.
Мы давно хотели ввести в платформу поддержку этой фичи и надеемся, что уже в текущей своей форме она поможет упростить работу с парсерами и сценариями. Кстати, при создании сценариев, как на скриншоте ниже, cscli explain также позволяет увидеть все вносимые изменения:
![cscli explain позволяет увидеть изменения, которые вносятся в строки с данными на каждом этапе создания сценария или работы парсера cscli explain позволяет увидеть изменения, которые вносятся в строки с данными на каждом этапе создания сценария или работы парсера](https://habrastorage.org/getpro/habr/upload_files/de2/ea0/806/de2ea080632e50e0ce0c428c09c320e6.png)
На этом краткий обзор нашей версии 1.2.1 можно считать оконченным. До новых обновлений! А также следите за нами на нашем сайте и заходите на github.