Я никогда не могу предсказать где и что у меня отстрельнет и сколько времени мне потребуется чтобы это вернуть к жизни, и так... гипотеза:
"Если у нас упадёт X — сможем ли мы вовремя увидеть Y и за какое Z мы это исправим?"
Тогда мне в голову пришла очень интересная концепция... а что если объединить Chaos Engineering, Grafana, Alert Manager.
В качестве эксперимента... я решил взять своего покемона (без её согласия)... которая замучалась решать различные поломки... что я плодил ей на различных серверах MaxPatrol 10... это и стало так называемым объектом хаоса.
Что-то типо знаете... управляемого хаоса, создай проблему по одной кнопке... и реши примерно так же, "управляемый хаос" как термин звучит очень и очень странно в силу отсутствия субъектности, но надеюсь тут сознание станет самым настоящим ключом.
Я не просто "отключал сервер" - я моделировал реальные отказы компонентов MPX с помощью Ansible, было 2 роли с переключалками (true / false) внутри:
ybei_menya_maxpatrol.yml
- Останавливает агента
- Блокирует сетевой доступ к базе событий
- Удаляет конфигурационные файлы парсинга логов
- Имитирует переполнение диска
- Убивает службы на Core сервере в хаотичном порядке
- Создание X процессов на хосте, что забивает ОЗУ / ЦПУ
res_pls_maxpatrol.yml
- Восстанавливает сервисы
- Восстанавливает сетевые доступы к базе событий
- Перезапускает агент
- Проверяет целостность БД
- Подчищает то чем наспамил на хосте
- Убивает X процессы на хосте, ранее созданные для DDoSа
Архитектура была примерно такой:
[Ansible Server]
│
↓ (запускает ybei_menya_maxpatrol.yml)
[MaxPatrol 10: Collector (true), DB (false), ...] → ломается
│
↓ (метрики в Prometheus, логи в Loki)
[Grafana] → срабатывает алерт → уведомление в Telegram
│
↓ (если реакции нет > 1 часа)
[Ansible Server] → запускает res_pls_maxpatrol.yml
│
↓
[MaxPatrol 10] → восстановлен → Grafana показывает возврат к норме
И знаете... это дало свои плоды, мой покемон выучился и на таких кейсах... довольно круто прокачался в плане траблшутинга, но так и не дошел... до идеи удобного алертинга и мониторинга, на новом исправлю этот недочет... 🤣
В целом это и было целью... на "искусственных" примерах поднять экспертизу по траблшутинга продукта, кажется это было весело 💖
