7. Дополнительно

Раздел содержит справочные материалы для системного администратора: чек-листы, шаблоны документации, команды диагностики и краткие сценарии реагирования на инциденты.

7.1. Быстрый чек-лист состояния сервера

Проверка Команда Норма
Версия ОС cat /etc/os-release Debian 12 / Ubuntu Server LTS
Hostname hostname saas-node-01
IP-адрес hostname -I IP-адрес отображается
Маршрутизация ip route есть default via ...
DNS ping -c 4 debian.org домен разрешается
Свободное место df -h нет заполненных разделов
Оперативная память free -h нет критической нехватки RAM
Нагрузка uptime load average в допустимых пределах

7.2. Быстрый чек-лист служб

sudo systemctl status ssh
sudo systemctl status nginx
sudo systemctl status php*-fpm
sudo systemctl status apache2
sudo systemctl status redis-server

Ожидаемый результат для каждой службы:

active (running)

7.3. Карта портов

Порт Сервис Доступ Открывать наружу
22/tcp SSH администрирование да
80/tcp Nginx HTTP редирект на HTTPS да
443/tcp Nginx HTTPS основной web-доступ да
127.0.0.1:8080 Apache backend локальный backend нет
127.0.0.1:6379 Redis локальный кэш / временные данные нет

Проверка портов:

sudo ss -tulpn
sudo ufw status verbose

7.4. Шаблон карточки сервера

Карточка сервера

Hostname:
IP-адрес:
Операционная система:
Роль сервера:
CPU:
RAM:
Диск:
Сетевой интерфейс:
Gateway:
DNS:
Административный пользователь:
SSH-порт:
Web-порты:
Каталог приложения:
Конфигурация Nginx:
Конфигурация Apache:
Redis address:
Backup script:
Backup schedule:
Ответственный:
Дата последнего изменения:

7.5. Шаблон журнала изменений

Дата Изменение Файл / сервис Исполнитель Проверка Результат
успешно / ошибка

7.6. Шаблон отчёта об инциденте

Отчёт об инциденте

Дата и время обнаружения:
Кто обнаружил:
Затронутый сервис:
Симптомы:
Команды проверки:
Найденная причина:
Выполненные действия:
Время восстановления:
Проверка после восстановления:
Что добавить в профилактику:
Ответственный:

7.7. Шаблон отчёта о восстановлении

Отчёт о восстановлении

Дата:
Восстанавливаемый объект:
Источник восстановления:
Backup-файл:
Путь восстановления:
Команды восстановления:
Результат проверки:
Состояние служб после восстановления:
Ошибки:
Исполнитель:

7.8. Команды диагностики Nginx

sudo nginx -t
sudo systemctl status nginx
sudo ss -tulpn | grep nginx
sudo tail -n 50 /var/log/nginx/saas-app.access.log
sudo tail -n 50 /var/log/nginx/saas-app.error.log
curl -I http://localhost
curl -k -I https://localhost

7.9. Команды диагностики PHP-FPM

php -v
php -m
ls /run/php/
sudo systemctl status php*-fpm
sudo journalctl -u php*-fpm -n 50
curl -k https://localhost

7.10. Команды диагностики Apache

sudo apache2ctl configtest
sudo systemctl status apache2
sudo ss -tulpn | grep 8080
curl http://127.0.0.1:8080
sudo tail -n 50 /var/log/apache2/saas-app.access.log
sudo tail -n 50 /var/log/apache2/saas-app.error.log

7.11. Команды диагностики Redis

redis-cli ping
redis-cli info server
redis-cli info memory
redis-cli info persistence
redis-cli set test_key "test"
redis-cli get test_key
redis-cli del test_key
sudo systemctl status redis-server
sudo journalctl -u redis-server -n 50
sudo ss -tulpn | grep 6379

7.12. Команды диагностики backup

ls -lh /opt/saas/backups
ls -l /opt/saas/scripts/backup-saas.sh
bash /opt/saas/scripts/backup-saas.sh
tail -n 50 /opt/saas/logs/backup.log
tail -n 50 /opt/saas/logs/backup-cron.log
sudo crontab -l

7.13. Сценарий: сайт не открывается

Шаг Команда Что проверить
1 ping IP_СЕРВЕРА сервер доступен по сети
2 sudo systemctl status nginx Nginx запущен
3 sudo nginx -t конфигурация без ошибок
4 sudo ufw status verbose порты 80 и 443 открыты
5 curl -k -I https://localhost HTTPS отвечает локально
6 sudo tail -n 50 /var/log/nginx/saas-app.error.log нет критических ошибок

7.14. Сценарий: ошибка 502 Bad Gateway

Шаг Команда Что проверить
1 sudo systemctl status php*-fpm PHP-FPM запущен
2 ls /run/php/ существует socket PHP-FPM
3 sudo nano /etc/nginx/sites-available/saas-app fastcgi_pass указывает на правильный socket
4 sudo nginx -t конфигурация корректна
5 sudo systemctl reload nginx конфигурация применена
6 sudo journalctl -u php*-fpm -n 50 нет ошибок PHP-FPM

7.15. Сценарий: Redis не отвечает

Шаг Команда Что проверить
1 redis-cli ping должен быть ответ PONG
2 sudo systemctl status redis-server служба запущена
3 sudo ss -tulpn | grep 6379 Redis слушает 127.0.0.1:6379
4 sudo nano /etc/redis/redis.conf указано bind 127.0.0.1 ::1
5 sudo journalctl -u redis-server -n 50 нет ошибок запуска

7.16. Сценарий: backup не создаётся

Шаг Команда Что проверить
1 ls -l /opt/saas/scripts/backup-saas.sh скрипт существует и исполняемый
2 bash /opt/saas/scripts/backup-saas.sh ручной запуск проходит без ошибок
3 tail -n 50 /opt/saas/logs/backup.log журнал содержит результат выполнения
4 sudo crontab -l cron-задача добавлена
5 df -h на диске достаточно места

7.17. Сценарий: сервер перегружен

Шаг Команда Что проверить
1 uptime load average
2 htop какой процесс нагружает CPU/RAM
3 free -h свободная память и swap
4 df -h свободное место на диске
5 sudo journalctl -p err -n 50 последние системные ошибки

7.18. Минимальная схема инфраструктуры

Пользователь
    |
    | HTTPS :443
    v
Nginx
    |
    | FastCGI / PHP-FPM
    v
PHP-приложение
    |
    | localhost
    v
Redis 127.0.0.1:6379

Дополнительно:
Apache 127.0.0.1:8080
Backup /opt/saas/backups
Logs /var/log/nginx, /var/log/apache2, /opt/saas/logs

7.19. Минимальный список файлов для резервного копирования

/var/www/saas-app
/etc/nginx/sites-available/saas-app
/etc/apache2/sites-available/saas-app.conf
/etc/nginx/ssl
/opt/saas/data
/opt/saas/scripts/backup-saas.sh
/var/lib/redis/dump.rdb