# 🎯 AI-Impress Server - Полное руководство администратора > **Версия:** 4.0 > **Дата:** 2025-11-03 > **Для:** Администраторов без технического опыта --- ## 📋 СОДЕРЖАНИЕ 1. [Быстрый старт](#быстрый-старт) 2. [Ежедневные задачи](#ежедневные-задачи) 3. [Все установленное ПО](#все-установленное-по) 4. [Где что находится](#где-что-находится) 5. [Пароли и доступы](#пароли-и-доступы) 6. [Резервные копии](#резервные-копии) 7. [Мониторинг и алерты](#мониторинг-и-алерты) 8. [Как исправить проблемы](#как-исправить-проблемы) 9. [Автоматизация](#автоматизация) 10. [FAQ - Частые вопросы](#faq) --- ## 🚀 БЫСТРЫЙ СТАРТ ### Подключение к серверу ```bash ssh ubuntu@51.89.231.46 ``` ### Главные команды ```bash # Проверить все сервисы /opt/05-backups/scripts/admin.sh status # Полный отчет о сервере /opt/infrastructure-docs/scripts/server-full-report.sh # Проверка здоровья системы /opt/05-backups/scripts/health-check-alerting.sh # Помощь /opt/05-backups/scripts/admin.sh help ``` --- ## 📅 ЕЖЕДНЕВНЫЕ ЗАДАЧИ ### ✅ Что проверять каждый день 1. **Проверить алерты в Slack** - канал #alerts 2. **Проверить email** - admin@ai-impress.com 3. **Открыть мониторинг** - https://grafana.ai-impress.com 4. **Проверить сайты работают**: - https://wiki.ai-impress.com ✓ - https://n8n.ai-impress.com ✓ - https://odoo.ai-impress.com ✓ - https://marketing.ai-impress.com ⚠️ ### 🔍 Быстрая проверка (2 минуты) ```bash # SSH на сервер ssh ubuntu@51.89.231.46 # Запустить быструю проверку /opt/05-backups/scripts/health-check-alerting.sh # Если все ОК - увидите зеленую галочку ✅ # Если проблемы - получите список с инструкциями ``` --- ## 💻 ВСЕ УСТАНОВЛЕННОЕ ПО ### 🏛️ Критические сервисы (НЕЛЬЗЯ УДАЛЯТЬ!) | Сервис | Назначение | Что сломается если удалить | |--------|------------|----------------------------| | **Traefik** | Обратный прокси, SSL | ВСЕ сайты перестанут работать | | **PostgreSQL** | База данных | ВСЕ приложения потеряют данные | | **Redis** | Кеш и очереди | N8N, Authentik сломаются | | **Vault** | Хранилище паролей | Потеряете доступ ко всем паролям | ### 💼 Бизнес-приложения | Приложение | URL | Можно ли удалить | |------------|-----|------------------| | **Outline** | wiki.ai-impress.com | ⚠️ Да, но потеряете документацию | | **N8N** | n8n.ai-impress.com | ⚠️ Да, но остановятся автоматизации | | **Mautic** | marketing.ai-impress.com | ⚠️ Да, но потеряете контакты | | **Odoo** | odoo.ai-impress.com | ⚠️ Да, но потеряете ERP данные | | **Authentik** | auth.ai-impress.com | ❌ Нельзя - сломается вход везде | ### 🔧 Инструменты | Инструмент | URL | Назначение | |------------|-----|------------| | **Grafana** | grafana.ai-impress.com | Мониторинг и графики | | **Portainer** | portainer.ai-impress.com | Управление Docker через веб | | **Uptime Kuma** | uptime.ai-impress.com | Проверка доступности сайтов | | **pgAdmin** | pgadmin.ai-impress.com | Управление PostgreSQL | --- ## 📂 ГДЕ ЧТО НАХОДИТСЯ ### Структура сервера ``` /opt/ # Все приложения ├── 00-infrastructure/ # Критическая инфраструктура │ ├── traefik/ # Обратный прокси │ ├── postgres/ # Главная БД │ ├── vault/ # Хранилище секретов │ │ └── .vault-token # 👈 Токен для доступа к Vault │ └── redis/ # Кеш │ ├── 01-network/ # Сетевые сервисы │ └── authentik/ # SSO авторизация │ ├── 02-core/ # Основные приложения │ ├── outline/ # Wiki │ ├── n8n/ # Автоматизация │ └── supabase/ # Backend │ ├── 03-business/ # Бизнес приложения │ ├── mautic/ # Маркетинг │ ├── odoo/ # ERP │ └── documenso/ # Подписание документов │ ├── 04-tools/ # Инструменты мониторинга │ ├── monitoring/ # Grafana, Prometheus, Loki │ ├── portainer/ # Docker UI │ └── uptime-kuma/ # Uptime monitoring │ ├── 05-backups/ # Система резервных копий │ ├── scripts/ # 🎯 ВСЕ СКРИПТЫ УПРАВЛЕНИЯ ЗДЕСЬ! │ ├── logs/ # Логи скриптов │ └── reports/ # JSON отчеты │ └── infrastructure-docs/ # Документация ├── scripts/ # Скрипты генерации отчетов └── reports/ # 📄 MD отчеты о сервере /mnt/ ├── backups/ # 💾 ВСЕ БЕКАПЫ ЗДЕСЬ! └── psql-data/ # 🗄️ ВСЕ БАЗЫ ДАННЫХ ЗДЕСЬ! ├── pgdata/ # postgres-main ├── supabase-db/ # Supabase └── mautic-db/ # Mautic ``` --- ## 🔐 ПАРОЛИ И ДОСТУПЫ ### Где хранятся пароли? Все пароли в **Vault** и **Vaultwarden (Bitwarden)**. ### Как получить пароль? ```bash # SSH на сервер ssh ubuntu@51.89.231.46 # Установить переменные export VAULT_ADDR="http://127.0.0.1:8200" export VAULT_TOKEN="hvs.jYguDdf2IzobXG8b9QWyATV8" # Посмотреть все секреты vault kv list aimpress/ # Получить конкретный пароль vault kv get aimpress/mautic vault kv get aimpress/odoo vault kv get aimpress/postgres/admin ``` ### Структура секретов в Vault ``` secret/ ├── monitoring # Slack webhook, email для алертов └── outline # Outline API credentials aimpress/ ├── postgres/ │ ├── admin # Главный админ PostgreSQL │ ├── outline # Пользователь БД для Outline │ ├── mautic # Пользователь БД для Mautic │ └── odoo # Пользователь БД для Odoo ├── mautic # Админ Mautic ├── odoo # Админ Odoo ├── authentik # Админ Authentik ├── grafana # Админ Grafana └── portainer # Админ Portainer ``` ### Как добавить новый секрет? ```bash export VAULT_ADDR="http://127.0.0.1:8200" export VAULT_TOKEN="hvs.jYguDdf2IzobXG8b9QWyATV8" # Добавить секрет vault kv put aimpress/новый_сервис \ username="admin" \ password="супер_секретный_пароль" \ api_key="ключ_апи" # Проверить vault kv get aimpress/новый_сервис ``` ### Веб-интерфейс Vaultwarden - URL: https://vault.ai-impress.com - Для команды и удобного доступа к паролям - Синхронизация с Vault: каждые 4 часа автоматически --- ## 💾 РЕЗЕРВНЫЕ КОПИИ ### Где хранятся бекапы? ``` /mnt/backups/ # Главная директория бекапов ``` ### Автоматические бекапы | Что | Когда | Скрипт | |-----|-------|--------| | **Полный бекап** | Каждый день в 03:00 | backup-full-enhanced.sh | | **Недельный бекап** | Воскресенье в 02:00 | backup-full-enhanced.sh | | **БД PostgreSQL** | Каждый день в 03:00 | (включено в полный) | | **Vault секреты** | Каждые 4 часа | vault-bitwarden-sync.sh | | **Конфигурации** | Каждый день в 02:00 | config-manager.sh | ### Ручной бекап ```bash # Полный бекап всего /opt/05-backups/scripts/backup-full-enhanced.sh # Только базы данных docker exec postgres-main pg_dumpall -U aimpress_admin | \ gzip > /mnt/backups/postgres-$(date +%Y%m%d).sql.gz # Экспорт Vault секретов /opt/05-backups/scripts/vault-bitwarden-sync.sh export ``` ### Восстановление из бекапа ```bash # 1. Найти нужный бекап ls -lh /mnt/backups/ # 2. Восстановить БД gunzip < /mnt/backups/postgres-20251103.sql.gz | \ docker exec -i postgres-main psql -U aimpress_admin # 3. Перезапустить сервисы docker restart <имя_контейнера> ``` --- ## 📊 МОНИТОРИНГ И АЛЕРТЫ ### Куда приходят алерты? 1. **Slack** - канал #alerts - Webhook: https://hooks.slack.com/services/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 2. **Email** - admin@ai-impress.com ### Что проверяется автоматически? ✓ Критические сервисы работают (Traefik, PostgreSQL, Redis, Vault) ✓ Все сайты отвечают ✓ Диск не заполнен (> 90%) ✓ Память не переполнена (> 90%) ✓ Нет слишком много нездоровых контейнеров ✓ Бекапы создаются регулярно ✓ Контейнеры не перезапускаются постоянно ### Проверки запускаются - **Каждые 30 минут** - health-check-alerting.sh - **Каждый день в 06:00** - полный отчет о сервере - **Каждый день в 04:30** - системная диагностика ### Как протестировать алерты? ```bash # Проверка системы и отправка в Slack (если есть проблемы) /opt/05-backups/scripts/health-check-alerting.sh ``` --- ## 🔧 КАК ИСПРАВИТЬ ПРОБЛЕМЫ ### Сайт не работает (502/503) ```bash # 1. Проверить Traefik docker logs traefik --tail 50 # 2. Проверить контейнер сайта docker ps | grep <название> docker logs <название> --tail 100 # 3. Перезапустить docker restart <название> # 4. Если не помогло - перезапустить Traefik docker restart traefik ``` ### База данных не работает ```bash # 1. Проверить PostgreSQL запущен docker ps | grep postgres-main # 2. Посмотреть логи docker logs postgres-main --tail 100 # 3. Проверить место на диске df -h /mnt/psql-data # 4. Попробовать подключиться docker exec postgres-main psql -U aimpress_admin -c "SELECT 1;" # 5. Перезапустить (осторожно!) docker restart postgres-main ``` ### Закончилось место на диске ```bash # 1. Посмотреть что занимает место du -sh /opt/* /mnt/* | sort -h | tail -10 # 2. Очистить Docker docker system prune -af # 3. Удалить старые логи find /opt -name "*.log" -mtime +7 -delete find /var/log -name "*.log" -mtime +7 -exec truncate -s 0 {} \; # 4. Удалить старые бекапы (старше 60 дней) find /mnt/backups -mtime +60 -delete # 5. Проверить результат df -h ``` ### Контейнер постоянно перезапускается ```bash # 1. Посмотреть логи для ошибки docker logs <контейнер> --tail 200 # 2. Проверить количество перезапусков docker inspect --format='{{.RestartCount}}' <контейнер> # 3. Остановить авто-перезапуск временно docker update --restart=no <контейнер> # 4. Запустить вручную и смотреть логи docker start <контейнер> && docker logs -f <контейнер> # 5. Исправить проблему из логов ``` ### Vault запечатан (sealed) ```bash # Распечатать Vault /opt/00-infrastructure/vault/unseal.sh # Проверить статус docker exec vault vault status ``` --- ## ⚙️ АВТОМАТИЗАЦИЯ ### Что работает автоматически? #### Каждые 15 минут - Мониторинг синхронизаций сервисов #### Каждые 30 минут - **Health check** - проверка здоровья системы и алерты #### Каждые 4 часа - **Vault export** - экспорт секретов в бекап #### Ежедневно | Время | Задача | |-------|--------| | 01:00 | Удаление старых логов (> 30 дней) | | 02:00 | Бекап конфигураций | | 02:00 | Недельный полный бекап (воскресенье) | | 03:00 | Полный системный бекап | | 03:00 | Аудит безопасности (понедельник) | | 04:30 | Системная диагностика | | 05:00 | Загрузка отчетов | | 05:30 | Отчеты мониторинга | | 06:00 | **Полный отчет о сервере** | #### Еженедельно | День | Время | Задача | |------|-------|--------| | Суббота | 02:00 | Обслуживание БД | | Понедельник | 03:00 | Аудит безопасности | ### Просмотр расписания ```bash # Посмотреть все задачи cron crontab -l # Посмотреть логи cron задач ls -lh /opt/05-backups/logs/cron-*.log tail -50 /opt/05-backups/logs/cron-health-check.log ``` --- ## ❓ FAQ - ЧАСТЫЕ ВОПРОСЫ ### Как узнать что установлено? ```bash /opt/05-backups/scripts/admin.sh status ``` ### Как посмотреть логи приложения? ```bash docker logs -f --tail 100 <имя_контейнера> # Примеры: docker logs -f outline docker logs -f postgres-main docker logs -f traefik ``` ### Как перезапустить приложение? ```bash docker restart <имя_контейнера> # Или через docker-compose: cd /opt/<путь_к_приложению> docker-compose restart ``` ### Как удалить ненужное приложение? ```bash # ⚠️ ВНИМАНИЕ: Создайте бекап сначала! # 1. Бекап базы данных (если есть) /opt/05-backups/scripts/backup-full-enhanced.sh # 2. Остановить контейнер docker stop <имя_контейнера> # 3. Удалить контейнер docker rm <имя_контейнера> # 4. Удалить из docker-compose.yml cd /opt/<путь> nano docker-compose.yml # Удалить секцию сервиса # 5. Пересоздать стек docker-compose up -d ``` ### Как обновить приложение? ```bash # 1. Бекап! /opt/05-backups/scripts/backup-full-enhanced.sh # 2. Перейти в папку приложения cd /opt/<путь> # 3. Скачать новый образ docker-compose pull # 4. Пересоздать контейнеры docker-compose up -d # 5. Проверить логи docker-compose logs -f ``` ### Как изменить пароль? #### Для веб-приложений: 1. Зайти в веб-интерфейс приложения 2. Settings → Users → Change Password 3. Сохранить новый пароль в Vault #### Для PostgreSQL: ```bash # Генерация нового пароля NEW_PASS=$(openssl rand -base64 32) # Изменить в БД docker exec postgres-main psql -U aimpress_admin -c \ "ALTER USER WITH PASSWORD '$NEW_PASS';" # Сохранить в Vault export VAULT_ADDR="http://127.0.0.1:8200" export VAULT_TOKEN="hvs.jYguDdf2IzobXG8b9QWyATV8" vault kv put aimpress/postgres/ password="$NEW_PASS" # Обновить в приложении cd /opt/<путь> nano docker-compose.yml # Изменить DB_PASSWORD docker-compose restart ``` ### Где посмотреть использование ресурсов? ```bash # Память и CPU docker stats --no-stream # Диск df -h # Самые большие директории du -sh /opt/* /mnt/* | sort -h | tail -10 # Топ процессов top -bn1 | head -20 ``` --- ## 📞 ПОЛЕЗНЫЕ ССЫЛКИ ### Веб-интерфейсы - **Wiki**: https://wiki.ai-impress.com - **Мониторинг**: https://grafana.ai-impress.com - **Uptime**: https://uptime.ai-impress.com - **Docker UI**: https://portainer.ai-impress.com - **Пароли**: https://vault.ai-impress.com ### Документация - **Полные отчеты**: `/opt/infrastructure-docs/reports/` - **Логи скриптов**: `/opt/05-backups/logs/` - **Эта инструкция**: `/opt/infrastructure-docs/ADMIN_GUIDE.md` --- ## 🎯 ИТОГОВЫЙ ЧЕКЛИСТ АДМИНИСТРАТОРА ### Каждый день - [ ] Проверить Slack алерты - [ ] Проверить email admin@ai-impress.com - [ ] Открыть https://grafana.ai-impress.com - [ ] Проверить все сайты открываются ### Каждую неделю - [ ] Посмотреть отчеты в Outline (коллекция Reports) - [ ] Проверить размер бекапов: `du -sh /mnt/backups` - [ ] Проверить место на диске: `df -h` ### Каждый месяц - [ ] Проверить что бекапы можно восстановить - [ ] Обновить критические приложения (если есть обновления) - [ ] Почистить старые бекапы (> 60 дней) - [ ] Проверить логи на ошибки --- **Версия документа:** 4.0 **Последнее обновление:** 2025-11-03 **Контакты:** admin@ai-impress.com **Slack:** #alerts **Сгенерировано автоматически системой администрирования AI-Impress**