Сервер не требует внимания каждый день, но требует его регулярно. Большинство аварий, с которыми мы сталкиваемся, вызваны не сложными техническими причинами, а тем, что полгода никто просто не заглядывал. Ниже — список, который закрывает основное. На небольшой проект уходит около часа в месяц.
Обновления
- Установить обновления безопасности операционной системы. На большинстве серверов это одна команда и перезапуск нескольких служб.
- Проверить, не требуется ли перезагрузка — после обновления ядра она нужна. Её откладывают месяцами, и в итоге сервер загружается «впервые за год» в самый неудачный момент, когда что-то уже сломалось.
- Обновить движок сайта, плагины и темы. Для коммерческого проекта — сначала на тестовой копии.
- Посмотреть, не выходит ли из поддержки версия PHP или базы данных. Об этом полезно узнать за полгода, а не в день отключения.
Место и ресурсы
- Свободное место на всех разделах. Смотреть надо не только «сколько сейчас», но и как менялось за месяц: важен наклон линии, а не одна точка.
- Оперативная память и файл подкачки. Если сервер регулярно уходит в swap, проект работает заметно медленнее, чем кажется по графикам загрузки процессора.
- Средняя нагрузка в часы пик, а не в среднем за сутки.
- Размер базы данных и самых больших таблиц. Разросшаяся таблица логов или очередей — типичная находка.
Резервные копии
- Убедиться, что копии действительно создаются. Не «настройка включена», а есть свежие файлы правдоподобного размера.
- Проверить, что они лежат не только на этом же сервере.
- Раз в квартал — развернуть одну копию и убедиться, что проект на ней работает. С замером времени.
- Проверить, что старые копии удаляются и не съедают место постепенно.
Безопасность
- Просмотреть журнал авторизаций: не появилось ли успешных входов, которых вы не ждали.
- Проверить список пользователей — и на сервере, и в админке сайта. Уволившиеся сотрудники, бывшие подрядчики, тестовые учётные записи: убрать.
- Посмотреть заблокированные адреса. Резкий рост попыток входа иногда о чём-то говорит.
- Проверить список того, что вообще работает на сервере: не появилось ли лишних сайтов, баз данных, задач в планировщике.
Сертификаты и домены
- Срок действия SSL-сертификатов. Автоматическое продление иногда молча ломается — например, после изменения DNS-записей.
- Срок регистрации доменов. Забытый домен — авария, которая решается дороже и дольше любой серверной.
- Почта: доходят ли письма с сайта, в порядке ли записи SPF и DKIM, не попадают ли уведомления в спам.
Раз в квартал и раз в год
Квартал: тестовое восстановление из резервной копии с замером времени; ревизия доступов — у кого они есть и нужны ли; проверка, что документация соответствует тому, как всё устроено на самом деле.
Год: пересмотр конфигурации сервера под текущую нагрузку. Часто выясняется одно из двух: ресурсов давно не хватает или, наоборот, их избыточно много и за них переплачивают уже второй год. Плюс план по версиям ПО, которые скоро выйдут из поддержки.
Как это вести
Заводится один документ — таблица или страница — со списком пунктов и датами проверок. Не ради отчётности, а по вполне практической причине: через полгода он показывает динамику. Диск заполнялся на два процента в месяц, а теперь на восемь — это видно только в сравнении.
Второй практический смысл: если человек, который этим занимался, уходит из проекта, работа не начинается с нуля.
Коротко
Час в месяц звучит как немного — и это действительно немного по сравнению с любой аварией. Основная сложность не в сложности пунктов, а в том, что за них обычно никто не отвечает персонально: пока всё работает, к серверу просто не подходят.
Мы берём эту рутину на себя в рамках сопровождения и присылаем короткий отчёт: что проверили, что обновили и на что стоит обратить внимание в ближайшие месяцы.