Как-то мы переезжали с одних серверов на другие, и что-то пошло не так с правами доступа на файлы логов сервиса бэкенда. В результате на некоторых серверах бэкенд не мог писать свои логи. Нет логов – нет проблем. Мониторинг читал пустые файлы, не находил там никакой тревожной информации и всегда показывал «все в порядке». В это время на машинке оставался необновляемый код, а пользователь, попадающий запросами на эти сервера, видел вообще нечто очень странное. Нашли мы это случайно, к сожалению.
Отсюда следует: если мониторинг настроен по правилу «нет ошибок – нет проблем», то его стоит дополнить проверками, показывающими, что система действительно работает, как задумано.
4. Регулярно проверяй все редко используемые аварийные средства доступа
В работе ответственного админа есть не только основные рабочие средства, но и запасные. Резервные интернет и ноутбук, еще разные способы, типа возможности залогиниться на сервер с телефона или загрузочной флешки для компьютера друга.
Если запасными средствами не пользоваться, то рано или поздно они перестанут работать. Такова их судьба. Поэтому важно регулярно проверять, что они до сих пор функционируют и могут быть использованы в критической ситуации.
Например, можно сделать себе напоминание – раз в две недели «проверить резервные средства» и там описать все, что нужно проверить: резервный интернет оплачен и работает, резервный ноутбук загружается, и с него можно зайти во все необходимые системы, и так далее.
5. Ходить на чужие разборы полезно
Во многих компаниях есть процесс публичного разбора крупных инцидентов (поломок). Это прекрасная практика, хотя и малоприятная для самих выступающих и участников. Задача разбора – сгенерировать с помощью большого числа инженеров меры предотвращения таких поломок в будущем, заодно помочь другим избежать подобного.
Если у вас в компании есть такое мероприятие – ходите туда и учитесь на кейсах своих коллег. Не надо ждать, когда случится инцидент именно у вас. Уникальных проблем поистине мало, а способов их предотвращения еще меньше. Изучайте, что случилось у других, анализируйте свою систему и выбирайте то, что разумно реализовать в ней заранее.
Если такого процесса не существует, то подумайте над тем, чтобы он появился.
6. Если результаты нагрузочного тестирования всегда одинаковые – это плохо