Некоторые картинки не загружаются из РФ и РК, используйте VPN.

суббота, 16 сентября 2023 г.

Рандомно принтер не подключен

Проблема: некоторые принтеры на сервере(ах) без закономерности меняют статус на Offline (не подключен)

Подробности: сеть хостера и сеть клиента соединены GRE туннелем. Дабы избежать проблем пробраса принтеров, они были установлены прямо на сервер. Появились жалобы "принтер не работает", перезапуск spooler в 90% решает проблему, в остальных случаях требуется повторный перезапуск. Перезагрузка сервера не решила проблему. Проблема появилась также на других серверах у данного хостера, где установлены принтеры. Сервера на базе Windows server 2019.

Путь поиска:

  • В журнале пусто
  • Начал мониторить заббиксом наличие принтеров со статусом оффлайн/ошибка (при помощи UserParametr)
  • $(Get-Printer | Where-Object {$_.PrinterStatus -eq "Offline" -or $_.PrinterStatus -eq "Error,Offline" -or $_.PrinterStatus -eq "Error"} | select Name | measure).count
  • Была обнаружена связь между перезагрузкой роутера у клиента и отключением принтеров
  • Значит Windows каким-то образом мониторит состояние принтеров, пошел искать в этом направлении

Windows с версий Vista проверяет состояние устройства (принтер, МФУ, сканер) при помощи монитора (используя SNMP). Если устройство не ответило, то статус может быть изменен на Offline. 

Т.о. отключение "Состояние SNMP разрешено" лечит симптом, но вызывает другую проблему - отсутствие корректной двухсторонней связи принтер-компьютер, благодаря которой, мы получаем более детальные факты жизни устройства (нет бумаги, нет тонера и т.д.).

Покопавшись в реестре я обнаружил два параметра, отвечающих, как мне кажется, за обновление статуса в ветке "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\Standard TCP/IP Port\Ports":
StatusUpdateEnabled (1) - Если значение не равно нулю, монитор портов может обновить очередь очереди, указав состояние порта.
StatusUpdateInterval (10) - Указывает интервал в минутах, когда монитор портов обновляет очередь очереди с состоянием порта. (источник)

На данный момент StatusUpdateEnabled выставил в 0, сутки - полет нормальный.

Также настроен мониторинг на моем сервере zabbix с выполнением удаленной команды перезапуска спулера при срабатывании триггера. Будем смотреть. Но, все выше сказанное - костыли, т.к.  проблема явно на уровне сети.

Комментариев нет:

Отправить комментарий