Чек-лист перед обращением в техподдержку приложения (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?
  • ЦПУ (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).

Ответили «Да» на проблемы с ресурсами? → Требуется вмешательство Администратора клиента для оптимизации/расширения ресурсов.

  • Запущена ли и работает ли служба W3WP.exe?
  • Запущен ли и работает ли сайт/пул приложений (Application Pool), связанный с вашим приложением в IIS Manager?
  • Не запущен? Попробуйте запустить вручную. Упал сразу? Проверьте логи IIS и Event Viewer.

Ответили «Нет» или службы не запускаются? → Проблема с IIS или конфигурацией сайта на стороне клиента.

  • Запущена ли и работает ли служба 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).
  • Работают ли запланированные задачи резервного копирования БД? Не заполняют ли бэкапы диски?
  • Не истек ли срок действия SSL-сертификата, привязанного к сайту в IIS?
  • Корректно ли он привязан к правильному доменному имени?
  • Не вызывает ли ошибок при доступе в браузере?
  • Запущена ли служба nginx.service?
  • Не блокируется ли трафик по 443 порту?
  • Не вносились ли изменения в конфигурацию NGINX?
  • Имеет ли пользователь пула приложений (Application Pool Identity) IIS чтение и выполнение (Read & Execute) на папке с файлами вашего приложения?
  • Имеет ли этот пользователь запись (Write) в папки, куда приложению нужно писать (логи, временные файлы, загрузки и т.д.)?
  • Не вносились ли недавно изменения в файлы конфигурации приложения (например, client.config, appsettings.json) на сервере IIS?
  • Не менялись ли параметры подключения к БД, URL-адреса внешних сервисов или другие критические настройки?
  • Проверены ли логи приложения на предмет явных ошибок? (Ищите слова ERROR, Exception, FATAL, Critical).
  • Проверены ли логи IIS (обычно %SystemDrive%\inetpub\logs\LogFiles\W3WP*) на предмет ошибок HTTP (статусы 5xx, 4xx) при обращении к вашему приложению?
  • Можете ли вы четко описать шаги, как воспроизвести проблему?
  • Проявляется ли проблема постоянно или эпизодически?
  • У всех пользователей или только у некоторых?
  • На всех браузерах/устройствах или только на определенных?

Производились ли недавно (до появления проблемы):

  • Обновления ОС на серверах IIS или PostgreSQL?
  • Обновления серверного ПО (IIS, .NET Runtime, PostgreSQL)?
  • Установка/обновление антивируса, фаервола, ПО мониторинга?
  • Изменения в сетевой инфраструктуре (маршрутизаторы, коммутаторы, VPN)?
  • Изменения в политиках безопасности домена/серверов?
  • Обновление драйверов оборудования?
  • Физические работы в серверной (обесточивание, перезагрузка оборудования)?
  1. Соберите результаты проверки: по каждому пункту запишите, что проверено и какой результат (Да/Нет, значение метрики, текст ошибки).
  2. Соберите логи:
    • логи приложения за период возникновения проблемы;
    • логи IIS (все файлы за период) для сайта приложения;
    • логи PostgreSQL (postgresql-XX-main.log и другие за период) с сервера БД.
  3. Конфигурационные файлы:
    • файл конфигурации БД;
    • файл конфигурации приложения.
  4. Системные журналы (Event Viewer) с обоих серверов (Windows: Приложение и Система; Linux: syslog, journalctl) за период проблемы. Ищите критические ошибки и предупреждения.
  5. Подготовьте точное описание:
    • Что именно не работает? (Конкретная функциональность, ошибка в интерфейсе, полная недоступность).
    • Когда началась проблема?
    • Как воспроизвести проблему? (Четкие шаги).
    • Каковы результаты проверки по этому чек-листу (особенно где были проблемы)?

Вы отвечаете за работоспособность и конфигурацию серверного оборудования, ОС, сети, IIS (как платформы), PostgreSQL (как СУБД) и базовой инфраструктуры.

Мы отвечаем за работоспособность и корректность самого установленного приложения в рамках правильно предоставленной инфраструктуры.

Предоставление полной информации (описание, шаги воспроизведения, логи, результаты этого чек-листа) с самого начала обращения ускорит решение вашей проблемы.

Если после проверки ВСЕХ пунктов чек-листа проблема не найдена на стороне клиента или явно указывает на ошибку в самом приложении, тогда смело обращайтесь в техническую поддержку, приложив все собранные данные!