Информация об изменениях

Сообщение Re[4]: Как смерить гордыню и бороться с синдромом NIH от 15.12.2022 19:55

Изменено 15.12.2022 20:08 student__

Re[4]: Как смерить гордыню и бороться с синдромом NIH
Здравствуйте, flаt, Вы писали:

F>Perl же.


Я немного наврал. Там дело в том, что формат хранения и передачи логов бинарный, но некоторую вполне конкретную часть лога можно воспринимать полностью как строку. но! Нужна конверсия из бинаря в строку по любому. И длина каждой записи нефиксирована.
Т.е. сам анализ (в простейшем случае поиск по регекспам) будет производиться над строкой, но парсить бинарь все равно надо.

Т.е. придется уже делать велосипед из двух ЯП C+Perl. А это усложняет дистрибуцию софтины даже для меня одного.
Поэтому я просто реализовал либу для последовательного чтения записей, а она практически как есть используется в высокоуровневом коде на C++, в котором уже регекспы, блэкджэк, и...

Такой подход (использование сишной либы позволит мне в будущем также вызывать, например плагины декодирования или даже те же плагины анализа на лету.
Или я могу при помощи плагина конвертить лог например в JSON и сохранять в mongodb для кастомного поиска, который выходит за рамки простых фильтров по полям. Ну а в монге уже можно на питоне хреначить.

А поверх монги можно навернуть какую-нибудь big-data логику. Искать всякие аномалии, "целый год без разрыва, а вчера..." и проч.
Re[4]: Как смерить гордыню и бороться с синдромом NIH
Здравствуйте, flаt, Вы писали:

F>Perl же.


Я немного наврал. Там дело в том, что формат хранения и передачи логов бинарный, но некоторую вполне конкретную часть лога можно воспринимать полностью как строку. но! Нужна конверсия из бинаря в строку по любому. И длина каждой записи нефиксирована.
Т.е. сам анализ (в простейшем случае поиск по регекспам) будет производиться над строкой, но парсить бинарь все равно надо.

Т.е. придется уже делать велосипед из двух ЯП C+Perl. А это усложняет дистрибуцию софтины даже для меня одного.
Поэтому я просто реализовал либу для последовательного чтения записей, а она практически как есть используется в высокоуровневом коде на C++, в котором уже регекспы, блэкджэк, и...

Такой подход (использование сишной либы позволит мне в будущем также вызывать, например плагины декодирования или даже те же плагины анализа на лету.
Или я могу при помощи плагина конвертить лог например в JSON и сохранять в mongodb для кастомного поиска, который выходит за рамки простых фильтров по полям. Ну а в монге уже можно на питоне хреначить.

А поверх монги можно навернуть какую-нибудь big-data логику. Искать всякие аномалии, "целый год без разрыва, а вчера..." и проч.

И логов может быть очень много (гигабайты), т.е. в идеале их надо перед началом анализа утром скачивать, читать в RAM, чтобы потом не думать про дисковый кеш и проч. "почему на моем дешманском ssd все так медленно).

Так что Perl... только на самом верху разве что, до которого не дошли руки.