Серверы и 1С
Zabbix тревожит сервер 1С: ложная тревога и настоящая настройка памяти SQL
Серверы клиентов у нас под мониторингом Zabbix: он пишет в Telegram, когда что-то идёт не так. Один из серверов 1С стал регулярно присылать предупреждение «Memory Pages/sec is too high (over 1000 for 5m)» со значениями около 4000.
Серверы клиентов у нас под мониторингом Zabbix: он пишет в Telegram, когда что-то идёт не так. Один из серверов 1С стал регулярно присылать предупреждение «Memory Pages/sec is too high (over 1000 for 5m)» со значениями около 4000. Железо при этом более чем достаточное: 64 ГБ памяти, два SSD по 2 ТБ, на машине вместе живут Microsoft SQL Server и сервер 1С. Разбираемся, тревога это или шум.
Почему это шум
Счётчик Windows Memory\Pages/sec считает не только нехватку памяти. В него попадает весь обмен с диском через отображаемые в память файлы: файловый кэш, чтение баз, резервное копирование, перестроение индексов. На связке SQL + 1С он спокойно уходит в тысячи на полностью здоровой системе.
Порог «1000» в стандартном шаблоне Zabbix родом из эпохи жёстких дисков. На SSD он почти не несёт смысла. Поэтому 4000 — не повод волноваться, а повод посмотреть на правильные счётчики.
На что смотреть вместо него
Чтобы убедиться, что памяти действительно хватает, достаточно четырёх показателей:
Memory\Available MBytes— должно стабильно держаться выше 2–4 ГБ.Paging File(_Total)\% Usage— не должно расти.Avg. Disk sec/Read— меньше 10–20 мс.- В самом SQL: Page Life Expectancy растёт, Memory Grants Pending равно нулю.
На этом сервере все четыре были в норме.
Что действительно стоило настроить
Сам алерт был ложным, но проверка вскрыла то, что на серверах «SQL + 1С в одной коробке» встречается почти всегда: SQL Server не ограничен по памяти. По умолчанию он забирает всё, что видит, и со временем начинает «душить» рабочие процессы 1С (rphost). Пользователи видят это как медленное проведение документов во второй половине дня.
Сделали три вещи:
- Задали
max server memoryв SQL Server. При 64 ГБ ориентир — 32–40 ГБ под SQL, остальное серверу 1С и системе; точное значение подбирается по реальной нагрузке. - Дали учётной записи службы SQL право «Блокировка страниц в памяти» (Lock pages in memory), чтобы система не выгружала буферный пул.
- Файл подкачки не отключали — оставили на SSD с управлением системой.
Как убрать ложный алерт
В Zabbix: Data collection → Hosts → нужный хост → Triggers → найти «The Memory Pages/sec is too high» → Disable. Порог унаследованного триггера на уровне хоста изменить нельзя, только отключить; если нужен другой порог — правится выражение в шаблоне или делается его клон.
Вывод
Мониторинг полезен ровно настолько, насколько осмысленны его пороги. Шаблон «из коробки» — это стартовая точка, а не истина: под каждый сервер пороги надо перепроверять по реальному железу. И заодно проверять базовые настройки — ограничение памяти SQL экономит клиенту больше нервов, чем любой алерт.
Отдельное замечание, которое мы озвучили заказчику: Windows 10 как хост для продуктивного SQL и 1С — не лучший выбор из-за ограничений клиентской ОС. К этому алерту это отношения не имеет, но в план модернизации попало.
\newpage
Ещё проекты
Похожие объекты
Серверы и 1С
Свой ИИ в закрытом контуре: когда облако под запретом
ИИ-помощник по внутренним документам без облака: собрали стенд на своих серверах — видеокарты в ESXi, Ollama и поиск по базе знаний на PostgreSQL.
Серверы и 1С
Медицинская система только по секретной ссылке: обратный прокси с ежемесячной ротацией токена
Медицинская организация пользуется облачной медицинской информационной системой (МИС). Вендор системы умеет ограничивать доступ по IP-адресу, но у клиники несколько площадок, сотрудники работают и из дома, и с мобильных устройств, а провайдеры меняют адреса.
Серверы и 1С
Секретная ссылка вместо белого списка IP
Медицинская организация работает в облачной медицинской информационной системе. Страница входа в систему открыта в интернет, как у любого сайта.