Что входит в администрирование сервера
Набор работ согласуем под проект. Можно взять один пункт, например только мониторинг, или всё сразу.
Установка и настройка сервера
Готовлю новый сервер к работе так, чтобы его можно было повторить: настройки описаны в Ansible, а не только в голове.
- ✓выбор тарифа и дистрибутива под нагрузку
- ✓пользователи, SSH-ключи, sudo
- ✓часовой пояс, лимиты, swap, параметры ядра
- ✓автоматические обновления безопасности
Администрирование веб-сервера
Настраиваю веб-сервер под ваше приложение и разбираю, где теряется время ответа.
- ✓nginx или Caddy, HTTPS и автопродление сертификатов
- ✓PHP-FPM, Node.js, Python, Go за обратным прокси
- ✓кеширование, сжатие, лимиты на запросы
- ✓разбор медленных ответов по логам и метрикам
Базы данных
Слежу, чтобы база не съедала весь сервер и не терялась при сбое.
- ✓PostgreSQL, MySQL, Redis, ClickHouse
- ✓настройка памяти и соединений под объём данных
- ✓поиск медленных запросов
- ✓реплика или регулярный дамп на внешнее хранилище
Сеть и firewall
Снаружи должно быть видно только то, что нужно клиентам. Всё остальное доступно команде через VPN.
- ✓правила nftables или iptables
- ✓IPv4 и IPv6, маршрутизация между серверами
- ✓WireGuard для команды и связи площадок
- ✓проверка открытых портов снаружи
Мониторинг и алерты
Собираю историю нагрузки, чтобы видеть проблему до того, как она станет аварией, и понимать, когда пора увеличивать сервер.
- ✓процессор, память, диски, сеть, трафик
- ✓доступность сайта и API снаружи
- ✓срок действия сертификатов и место на дисках
- ✓алерты в Telegram с понятным текстом
Обновления и безопасность
Небольшие проекты чаще всего взламывают через старое ПО и пароли. Закрываю эти двери первыми.
- ✓плановые обновления системы и пакетов
- ✓вход только по ключам, без root по SSH
- ✓fail2ban против перебора паролей
- ✓ревизия пользователей и доступов
Резервное копирование
Бэкап, из которого ни разу не восстанавливались, нельзя считать бэкапом. Поэтому восстановление проверяю регулярно.
- ✓ежедневные копии баз и файлов
- ✓хранение вне сервера, в S3 или на другой площадке
- ✓шифрование и срок хранения копий
- ✓плановая проверка восстановления
Переезд и импортозамещение
Переношу проекты между хостерами и в российские облака так, чтобы пользователи не заметили переезда.
- ✓перенос на другой VPS или выделенный сервер
- ✓переезд в Yandex Cloud, Selectel, Cloud.ru
- ✓синхронизация данных и переключение DNS
- ✓план отката, если что-то пойдёт не так
Стоимость администрирования сервера
Цены фиксированные. Работы сверх обслуживания согласуем и оцениваем заранее.
| Формат | Цена | Что входит |
|---|---|---|
| Аудит сервера | от 10 000 ₽ | нагрузка, безопасность, обновления, бэкапы; отчёт со списком исправлений |
| Обслуживание | 20 000 ₽/мес | наблюдение за алертами, дисками, сертификатами и бэкапами, реакция на сбои |
| Разовые работы | 3 000 ₽/час | настройка, переезд, ускорение, разбор инцидента |
Примеры расчёта
| Задача | Оценка |
|---|---|
| Первичная настройка нового VPS: защита, firewall, мониторинг, бэкапы | 3-5 часов |
| Найти, почему тормозит сайт, и исправить | 2-6 часов |
| Перенос сайта с базой на другой сервер | 3-8 часов |
| Обновление дистрибутива на новую версию | 2-4 часа |
Этапы работы
- 1
Доступ
Вы добавляете мой открытый SSH-ключ на сервер одной командой. Пароли передавать не нужно, доступ закрывается удалением строки из
~/.ssh/authorized_keys.curl -s https://manyahin.ru/id_ed25519_manyahin.pub >> ~/.ssh/authorized_keys - 2
Инвентаризация
Записываю, что запущено, какие порты открыты, где лежат данные и когда сервер последний раз обновлялся.
- 3
Срочные исправления
Сначала закрываю то, что может уронить сервис или привести к утечке: бэкапы, открытые базы, вход по паролю.
- 4
Мониторинг
Подключаю метрики и алерты. Дальше решения принимаем по графикам, а не по ощущениям.
- 5
Обслуживание
Если нужно, остаюсь на поддержке: обновления по графику, реакция на алерты, отчёт о сделанном.
С какими проблемами приходят
Сайт тормозит, а нагрузка небольшая
Чаще всего дело не в железе, а в настройках базы, веб-сервера или в одном тяжёлом запросе. Нахожу узкое место по метрикам, а не наугад.
Сервер упал ночью, и никто не заметил
Без мониторинга простой длится до первой жалобы клиента. Алерт в Telegram сокращает его до минут.
Сервер годами не обновлялся
Старый дистрибутив, открытые порты, вход по паролю. Обновляю по плану, с бэкапом и возможностью отката.
Как всё настроено, знал один человек
Разработчик, который поднимал сервер, ушёл. Восстанавливаю картину и описываю конфигурацию в коде, чтобы зависимость от одного человека исчезла.
Что делать, если сервер упал
Порядок, который экономит время при любом сбое, даже если чинить будете сами:
- Проверьте, отвечает ли сервер вообще:
pingи SSH. Если нет, откройте консоль в панели хостера, там видно, завис он или выключен. - Посмотрите место на дисках:
df -h. Заполненный диск - самая частая причина, по которой «всё сломалось само». - Проверьте память и процессы (
free -m,top) и не завершило ли ядро процесс базы из-за нехватки памяти:dmesg | grep -i oom. - Посмотрите упавшие сервисы и последние ошибки:
systemctl --failedиjournalctl -p err -b. - Прежде чем перезагружать, сохраните логи: после перезагрузки причину найти сложнее.
Если причина неочевидна или сбой повторяется, напишите мне: разберу по логам и метрикам и сделаю так, чтобы он не повторился.
Минимальная защита сервера в первый день
Этот список закрывает большинство автоматических атак, которые приходят на любой публичный IP в первые часы:
- вход по SSH только по ключу, пароли и root-вход отключены
- firewall: открыты только 80, 443 и SSH, остальное закрыто
- автоматические обновления безопасности
- fail2ban или аналог против перебора
- базы данных и панели управления не слушают внешний интерфейс
- бэкап настроен до того, как на сервере появились данные
Технологии
- ОС
- DebianUbuntuRHELRocky LinuxAstra Linux
- Веб и базы
- nginxCaddyPostgreSQLMySQLRedisClickHouse
- Сеть
- nftablesiptablesWireGuardIPv6
- Мониторинг
- PrometheusGrafanaLokisareBPF
- Автоматизация
- AnsibleTerraformBash
- Бэкапы
- resticS3pg_dump
Примеры работ
IPTV-сервис: 100 ТБ трафика в месяц
Сервис работал на избыточном железе, конфигурация жила только на самих серверах, а о падениях сообщали абоненты.
Подобрал сервер под фактическую нагрузку и перенёс сервис, описал настройку стрим-узлов в Ansible, закрыл порты и перевёл вход на ключи, настроил ежедневные бэкапы и алерты в Telegram.
ML-платформа: из домашних серверов в облако
Платформа работала на трёх домашних серверах, а заказчику нужна была отказоустойчивая инфраструктура и доставка обновлений в его закрытый контур.
Перенёс сервисы в Selectel, настроил доставку в закрытый контур через VPN и зеркало Git, подключил метрики с алертами в рабочий мессенджер, бэкапы на S3 с проверкой восстановления.
Почему со мной удобно
Один инженер, без менеджеров
Вы пишете тому, кто работает с вашим сервером. Не нужно пересказывать задачу трём людям.
Плата за дело, а не за штат
Небольшому проекту не нужна дежурная смена 24/7. Платите за обслуживание и за конкретные задачи.
Всё остаётся у вас
Доступы, конфигурация в Git и инструкции принадлежат вам. Уйти от меня можно в любой день без потерь.
Понимаю приложение
Много лет писал код, поэтому вижу, где проблема в сервере, а где в самом приложении.
Частые вопросы
Что входит в администрирование сервера? +
Обновления системы и пакетов, безопасность и firewall, мониторинг и алерты, резервное копирование, разбор инцидентов и проблем с производительностью. Конкретный набор согласуем под ваш проект.
Сколько стоит обслуживание сервера? +
Обслуживание стоит 20 000 ₽ в месяц: алерты, диски, сертификаты, бэкапы и реакция на сбои. Задачи сверх этого считаются по 3 000 ₽/час. Разовый аудит стоит от 10 000 ₽.
Обслуживаете серверы в офисе? +
Нет, работаю только удалённо: VPS, выделенные серверы, облака. Офисную инфраструктуру (1С, Active Directory, принтеры, выезды) не беру, для этого лучше приходящий системный администратор.
С какими дистрибутивами работаете? +
Debian, Ubuntu, RHEL и совместимые с ним Rocky Linux и AlmaLinux, Astra Linux. С другими популярными дистрибутивами тоже.
Можно ли защитить сервер от DDoS-атак? +
От простых атак и перебора паролей помогают firewall, лимиты в nginx и fail2ban. Против серьёзных атак нужен внешний сервис фильтрации трафика, помогу выбрать и подключить.
Какой доступ вам нужен? +
SSH-доступ по ключу с правами sudo. Мой открытый ключ лежит на сайте, ссылка внизу страницы, пароль передавать не нужно. Доступ закрывается удалением ключа в любой момент. Все изменения записываю, чтобы было видно, что и зачем сделано.
Оставить заявку
Опишите в двух словах: где сервер, что на нём работает и что беспокоит. Отвечу, с чего бы начал.