Локальная панель мониторинга Crowdsec
Для организации панели мониторинга используется Metabase с заготовленным схемой базы данных и дашбордов от компании Crowdsek.
Пример панели
Источник опорных материалов: example-docker-compose/basic at main · crowdsecurity/example-docker-compose · GitHub
Metabase использует базу данных и файлы crowdsek из папки ./db
которая соответствует /var/lib/crowdsec/data/
в контейнере, они формуются в процессе работы. Все настройки сохраняются в папке ./metabase
Для настройки необходимо выполнить предварительную загрузку схемы находясь в папке docker контейнера:
mkdir metabase
wget https://crowdsec-statics-assets.s3-eu-west-1.amazonaws.com/metabase_sqlite.zip
unzip metabase_sqlite.zip -d metabase
Файл настроек:
![[metabase_sqlite.zip]]
Загруженная схема базы имеет пред настроенные дашборды и отчеты по аналитике crowdsec.
Логин: [email protected]
Пароль: !!Cr0wdS3c_M3t4b4s3??
Metabase основан на java что приводит к ряду не очень приятных с точки зрения оптимизации проблемам. Основная из которых высокое потребление оперативной памяти даже в режиме простоя. Фактически программа съест все что дадут и нечего не вернет.
В базовой настройке metabase может потреблять до 4Гб оперативной памяти что вообще не оправдано.
Для исправления ситуации необходимо ограничить потребление памяти параметрами JAVA_OPTS
и mem_limit
, минимально рабочая конфигурация выявленная в рамках экспериментов 256Мб на java машину в параметре JAVA_OPTS и 512Мб для всего контейнера в таком виде потребление ОЗУ в простое будет минимальное 200-300Мб и при запросе до 500.
При такой настройке запросы и открытие панелей может выполняться очень долго. Оптимальным с точки зрения запуска будет 0.75-1Гб ОЗУ, но как по мне это слишком неоправдано.