====== Чек-лист перед обращением в техподдержку приложения (IIS + PostgreSQL) ====== ===== Базовое состояние серверов и сети ===== ==== Доступность серверов ==== * Доступен ли физически/удаленно сервер с IIS (через RDP, SSH, KVM)? * Доступен ли физически/удаленно сервер с PostgreSQL (через RDP, SSH, KVM)? Ответили "Нет"? → Проблема в инфраструктуре/доступе клиента. ==== Сетевая связность ==== * Может ли сервер IIS успешно пропинговать сервер PostgreSQL по IP-адресу/DNS-имени? * Может ли сервер PostgreSQL успешно пропинговать сервер IIS по IP-адресу/DNS-имени? Не работает пинг? → Проблема с сетью или настройками фаервола клиента. ==== Фаерволы ==== * Разрешен ли на фаерволе сервера PostgreSQL входящий трафик на порт PostgreSQL (обычно 5432) с IP-адреса сервера IIS? * Разрешен ли на фаерволе сервера IIS исходящий трафик на порт PostgreSQL сервера БД? * Проверены ли корпоративные фаерволы/маршрутизаторы между серверами? Не блокируют ли они порты 5432, 443? ==== Ресурсы серверов (IIS и PostgreSQL) ==== * ЦПУ (CPU): Не превышена ли постоянная загрузка ЦПУ (например, >90% в течение 5+ минут)? (Проверить через Диспетчер задач, top, htop, Performance Monitor). * Оперативная память (RAM): Достаточно ли свободной оперативной памяти? Не происходит ли активный своппинг (использование файла подкачки)? (Проверить через Диспетчер задач, free -m, vmstat, Performance Monitor). ==== Дисковое пространство ==== * Есть ли свободное место на системном диске (обычно C:)? Минимум 10-15% свободно. * Есть ли свободное место на диске, где установлено ваше приложение? * Есть ли свободное место на диске, где расположены базы данных PostgreSQL (PGDATA)? **Критически важно!** * Есть ли свободное место на диске, где расположены логи приложения, IIS и PostgreSQL? * Дисковые операции (I/O): Не наблюдается ли постоянная 100% загрузка дисков (дисковой очереди)? (Проверить через Диспетчер задач, Performance Monitor, iostat). Ответили "Да" на проблемы с ресурсами? → Требуется вмешательство Администратора клиента для оптимизации/расширения ресурсов. ==== Службы сервера IIS ==== * Запущена ли и работает ли служба W3WP.exe? * Запущен ли и работает ли сайт/пул приложений (Application Pool), связанный с вашим приложением в IIS Manager? * Не запущен? Попробуйте запустить вручную. Упал сразу? Проверьте логи IIS и Event Viewer. Ответили "Нет" или службы не запускаются? → Проблема с IIS или конфигурацией сайта на стороне клиента. ===== База данных PostgreSQL ===== ==== Служба PostgreSQL ==== * Запущена ли и работает ли служба PostgreSQL? (Проверить в services.msc на сервере БД или командой pg_ctl status / sudo systemctl status postgresql). * Не запущена? Попробуйте запустить вручную. Упала сразу? Проверьте логи PostgreSQL (обычно postgresql-XX-main.log в PGDATA\log\ или /var/log/postgresql/). ==== Доступность базы данных ==== * Можно ли подключиться к серверу PostgreSQL с сервера IIS с помощью стандартного клиента (например, psql, pgAdmin) используя те же параметры подключения (хост, порт, имя БД, пользователь, пароль), что указаны в конфигурации вашего приложения на IIS? * Проверьте пароль! Не менялся ли он недавно? Не получается подключиться? → Проблема с доступом к БД: неверные параметры, блокировка фаерволом, проблемы с аутентификацией на стороне клиента. ==== Состояние базы данных ==== * Проверьте размер базы данных приложения. Не приблизился ли он к лимитам диска? * Проверьте, не переполнены ли диски логами транзакций PostgreSQL? (обычно папка pg_wal или pg_xlog в PGDATA). * Работают ли запланированные задачи резервного копирования БД? Не заполняют ли бэкапы диски? ===== Веб-сервер (IIS) и Приложение ===== ==== SSL-сертификат ==== * Не истек ли срок действия SSL-сертификата, привязанного к сайту в IIS? * Корректно ли он привязан к правильному доменному имени? * Не вызывает ли ошибок при доступе в браузере? ==== Корпоративный Proxy (например NGINX) ==== * Запущена ли служба nginx.service? * Не блокируется ли трафик по 443 порту? * Не вносились ли изменения в конфигурацию NGINX? ==== Права доступа ==== * Имеет ли пользователь пула приложений (Application Pool Identity) IIS чтение и выполнение (Read & Execute) на папке с файлами вашего приложения? * Имеет ли этот пользователь запись (Write) в папки, куда приложению нужно писать (логи, временные файлы, загрузки и т.д.)? ==== Конфигурация приложения ==== * Не вносились ли недавно изменения в файлы конфигурации приложения (например, ''client.config'', ''appsettings.json'') на сервере IIS? * Не менялись ли параметры подключения к БД, URL-адреса внешних сервисов или другие критические настройки? ==== Логи приложения ==== * Проверены ли логи приложения на предмет явных ошибок? (Ищите слова ERROR, Exception, FATAL, Critical). ==== Логи IIS ==== * Проверены ли логи IIS (обычно %SystemDrive%\inetpub\logs\LogFiles\W3WP*) на предмет ошибок HTTP (статусы 5xx, 4xx) при обращении к вашему приложению? ===== Повторяемость проблемы ===== * Можете ли вы четко описать шаги, как воспроизвести проблему? * Проявляется ли проблема постоянно или эпизодически? * У всех пользователей или только у некоторых? * На всех браузерах/устройствах или только на определенных? ===== Последние изменения ===== Производились ли недавно (до появления проблемы): * Обновления ОС на серверах IIS или PostgreSQL? * Обновления серверного ПО (IIS, .NET Runtime, PostgreSQL)? * Установка/обновление антивируса, фаервола, ПО мониторинга? * Изменения в сетевой инфраструктуре (маршрутизаторы, коммутаторы, VPN)? * Изменения в политиках безопасности домена/серверов? * Обновление драйверов оборудования? * Физические работы в серверной (обесточивание, перезагрузка оборудования)? ===== Перед обращением в техподдержку ===== - Соберите результаты проверки: по каждому пункту запишите, что проверено и какой результат (Да/Нет, значение метрики, текст ошибки). - Соберите логи: * логи приложения за период возникновения проблемы; * логи IIS (все файлы за период) для сайта приложения; * логи PostgreSQL (postgresql-XX-main.log и другие за период) с сервера БД. - Конфигурационные файлы: * файл конфигурации БД; * файл конфигурации приложения. - Системные журналы (Event Viewer) с обоих серверов (Windows: Приложение и Система; Linux: syslog, journalctl) за период проблемы. Ищите критические ошибки и предупреждения. - Подготовьте точное описание: * Что именно не работает? (Конкретная функциональность, ошибка в интерфейсе, полная недоступность). * Когда началась проблема? * Как воспроизвести проблему? (Четкие шаги). * Каковы результаты проверки по этому чек-листу (особенно где были проблемы)? ===== Важное напоминание для клиента ===== Вы отвечаете за работоспособность и конфигурацию серверного оборудования, ОС, сети, IIS (как платформы), PostgreSQL (как СУБД) и базовой инфраструктуры. Мы отвечаем за работоспособность и корректность самого установленного приложения в рамках правильно предоставленной инфраструктуры. Предоставление полной информации (описание, шаги воспроизведения, логи, результаты этого чек-листа) с самого начала обращения ускорит решение вашей проблемы. Если после проверки ВСЕХ пунктов чек-листа проблема не найдена на стороне клиента или явно указывает на ошибку в самом приложении, тогда смело обращайтесь в техническую поддержку, приложив все собранные данные!