#рабочийкейс
Если кто не помнит, то я все еще в кибербезе и бекендю в проекте ISIM. Кратко - мониторим трафик на производственных объектах в промышленном трафике, анализируем и сигнализируем, если есть подозрительные моменты 🤔
Так вот, сделали меня фича-оунером нового продукта, а именно под названием "коллектор" 🤑 Это упрощенная версия ISIM, в которой нет фронта и баз данных. Вся инфа по трафику летит по TCP/UDP на головной ISIM.
В общем, суть работы над этой фичей:
1. Почистить от лишних зависимостей (не нужны nginx, postgresql, clickhouse, redis, бэкенд и фронтенд и еще пачка наших сервисов)
2. Добавить конфиги для настройки коллектора (реббит, iptables и наше приложение, которое мониторит наши сервисы на работоспособность и нагрузку сервера и в нужно время подчищает диск, БД, кеш и т.д.)
По первому пункту вроде просто. Есть манифест, в котором перечислены все компоненты, их зависимости, дополнительные файлы и конфиги, команды пред- и постустановки. И по этому списку идет установка.
По второму пункту чистим все конфиги, которые мы несем. В реббите убираем ненужные в коллекторе очереди. В iptables убираем правила на порты посгреса, клика, бекенда и т.д., а также добавляем порт коллектора. В приложении-мониторе наших сервисов убираем сервисы, которые в коллекторе отсутствуют.
Ну а теперь отладка и тестирование 😏
⚠️ Падает установка коллектора - зависимости между компонентами нарушены, надо какой то сервис отложить на включение, какой то наоборот включить, а где-то добавить в конфиг данных. А еще иногда всплывают неожиданные "code 1" в баш скриптах - обрабатываем исключения...
⚠️ Конечно же всплывают в разных местах ошибки, что посгря или клик не установлены - по коду чистим эти места, чтобы не заафектить основной ИСИМ (так как у компонентов кодовая база общая на все продукты в рамках ISIM)
⚠️ Цепляем коллектор к ИСИМу по TCP - нет коннекта. Сутки ищем проблему, оказывается ИСИМ ждем подключение по другому порту... Меняем порт, но подключения все нет... А теперь есть, а теперь опять нет... Еще полдня и перезапускаем стенд - все работает 😎
⚠️ Поскольку UI никакого нет, то для пользователя надо какое то cli меню: для принятия соглашения вначале установки, для настройки конфига подключения коллектора, для активации лицензии. С этим мне помогает за 30 минут ИИ 🫡
Далее тестирование QA, фикс багов, фикс CI конфигов и продукт собран и работает 🏝
Post #376
554

- 🦄 4
- 👍 2