Мониторинг потребления памяти рабочими процессами rphost

10.06.22

Администрирование - Мониторинг

Организация мониторинга за потребляемой рабочими процессами 1С памятью.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Мониторинг потребления памяти рабочими процессами rphost:
.py 0,72Kb
7 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Увидел на просторах Инфостарта статью и решил сделать себе нечто подобное. Никакой цели, кроме исследовательской, не преследовал. Было интересно просто посмотреть на графики, какое количество памяти выделяется на процесс, сколько живут процессы и каково их количество на каждом сервере.

Для получения объема потребляемой памяти процессами:

1. Был написан скрипт на python

import sys
sys.path.append('C:\\Program Files\\Python38\\lib\\site-packages\\win32')
sys.path.append('C:\\Program Files\\Python38\\lib\\site-packages\\win32\\lib')
import wmi
import json


servers = ['server1', 'server2', 'server3'] # указываем серверы кластера 
response = [] #список словарей с результатом
for server in servers:
    try:
        c = wmi.WMI(server)
        for proc in c.Win32_Process():
            if proc.Description == 'rphost.exe':
                dict_res = {'server_name': server, 'values': {'name_rphost': f'rphost_{proc.ProcessID}', 'working_set_size': round(int(proc.WorkingSetSize) / 1048576, 2)}}
                response.append(dict_res)
    except wmi.x_wmi as err:
            error = err
            continue
print(json.dumps(response)) #создаем json из списка словарей с результатом

Формат полученных данных будет приблизительно такой

[{"server_name": "server1", "values": {"name_rphost": "rphost_58564", "working_set_size": 48145.27}}, {"server_name": "server1", "values": {"name_rphost": "rphost_32956", "working_set_size": 54529.21}}, {"server_name": "server1", "values": {"name_rphost": "rphost_28856", "working_set_size": 27538.9}}, {"server_name": "server2", "values": {"name_rphost": "rphost_15800", "working_set_size": 49021.79}}, {"server_name": "server2", "values": {"name_rphost": "rphost_24416", "working_set_size": 56346.69}}, {"server_name": "server2", "values": {"name_rphost": "rphost_14772", "working_set_size": 63873.95}}, {"server_name": "server3", "values": {"name_rphost": "rphost_16416", "working_set_size": 53725.92}}, {"server_name": "server3", "values": {"name_rphost": "rphost_2424", "working_set_size": 45330.21}}, {"server_name": "server3", "values": {"name_rphost": "rphost_20116", "working_set_size": 48531.26}}, {"server_name": "server3", "values": {"name_rphost": "rphost_52112", "working_set_size": 33326.7}}]

 

2. Положил этот скрипт в папку для внешних скриптов Zabbix, настроил user_parameters и добавил элемент данных на сервер, на котором будет выполняться этот скрипт.

 

 

3. Создал правило обнаружения для этого элемента данных

 

 

и в макросах указал переменные, которые мы будем забирать из полученного в основном элементе данных json'a


 

4. В созданном правиле обнаружения создал прототип элементов данных

 

И добавил шаг предобработки JSONPath c параметром 

$[?(@.server_name=='{#SERVER_NAME}')].[?(@.name_rphost=='{#NAME_RPHOST}')].working_set_size.first()

 

 

5. Добавил прототип триггера, который будет срабатывать, если объем памяти рабочего процесса будет превышать 50 Гб

 

 

6. Добавил график в Grafana и наслаждался красотой

 

 

И вот такая картина за 7 дней, видно, как в один из дней все процессы резко умерли, это связано с рестартом кластера 1С

 

Вступайте в нашу телеграмм-группу Инфостарт

rphost python grafana zabbix мониторинг

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С:Предприятие 8 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы у себя в конфигурации с помощью бесплатной обработки "Анализ внедрения подсистемы 1С Infostart Dashboard"!

31720 руб.

27.03.2025    89948    69    44    

75

Инструменты администратора БД Корректировка данных Мониторинг Учет документов 1С 8.3 1С:Управление торговлей 10 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

Обнаружили дубли номенклатуры в документах? Обработка поможет быстро найти все документы, где используется ошибочная номенклатура, выполнить анализ последствий и безопасно заменить ее на основную номенклатуру с контролем результатов и журналом выполненных операций.

6100 руб.

11.06.2026    718    2    0    

4

HighLoad оптимизация Мониторинг Системный администратор Программист 1С 8.3 Бесплатно (free)

Код не меняли год, а операция, которая раньше шла секунду, стала идти минуту. Виноват в таком обычно не код, а то, что данные перешли порог: у квадратичного алгоритма удвоение объёма стоит четырёхкратного роста работы, поэтому поломка не подкрадывается постепенно, а наступает сразу. В разборе - случай коллеги, где сервис деградировал месяц. Три объяснения закрыли замером, а развязку дал профиль на 16 642 снимках: 80,0 % процессорного времени в одной функции, которую при этом нельзя было чинить. Разогнали её 20 копий одного документа по 443 581 байту, наплодил их собственный экспортёр сервиса. Дальше - как отличить квадратичный рост от линейного двумя замерами, где такие места прячутся в коде 1С и что делать, если урезать боевую базу вдвое нельзя.

27.08.2026    780    nedomolkov.ivan    2    

0

DevOps и автоматизация разработки Мониторинг Тестирование QA Программист 1С:Предприятие 8 Бесплатно (free)

Платформа 1С давно вышла за рамки учетных систем. Сегодня это полноценная среда для создания сложных, высоконагруженных и распределенных приложений. А значит, и стек технологий современного разработчика кардинально изменился. Систематизируем весь инструментарий, который превращает 1С-программиста в инженера: от EDT и Git до автотестов на YAxUnit, контейнеризации приложений в Docker, мониторинга в Prometheus и организации шины данных на Kafka. Разберемся, зачем каждый инструмент нужен, как он вписывается в жизненный цикл разработки и с чего начать его внедрение.

25.08.2026    18873    mrXoxot    54    

75

Технологический журнал Мониторинг Мессенджеры и боты Системный администратор Программист 1С 8.3 1С 8.5 Россия Абонемент ($m)

Лёгкое расширение для 1С, которое ловит ошибки — включая упавшие внутри транзакции проведения и не замеченные типовыми средствами — и сразу шлёт алерты в Telegram и на почту. Не заимствует ни одного объекта конфигурации, ставится на любую базу (типовую или самописную, с БСП или без) за 5 минут. Дедуплицирует повторы, не спамит при шторме ошибок, маскирует персональные данные перед отправкой наружу. Работает даже при отключённом администратором штатном Журнале регистрации — у расширения есть собственный независимый журнал самодиагностики.

3 стартмани

25.08.2026    279    1    KonMa    0    

2

Мониторинг Системный администратор Программист 1С 8.3 Бесплатно (free)

Почему счётчики кластера не отвечают на вопрос и как спросить по-человечески. Подход вопрос вместо метрики, семь вопросов о нагрузке, и техника, без которой это не работает: зерно снимка агрегат, сетевой каталог для многоузлового кластера, определение своей базы по сеансу, версия RAS под сервер.

25.08.2026    719    nedomolkov.ivan    0    

0

Мониторинг Системный администратор Программист 1С 8.3 Абонемент ($m)

Мониторинг нагрузки кластера, который отвечает на человеческие вопросы: кто блокировал базу, кто грузил сервер, что было ночью. Диаграмма с именами людей вместо столбцов счётчиков. Штатный АдминистрированиеСервера, без rac.exe и COM, к СУБД не обращается. С регламентным сбором истории.

10 стартмани

25.08.2026    482    5    nedomolkov.ivan    1    

0

Файловый обмен (TXT, XML, DBF), FTP Мониторинг Системный администратор Программист 1С 8.3 Бесплатно (free)

Три пакетных файла проверили на то, что они на самом деле возвращают. Один сообщал об ошибке при успешном завершении, два возвращали ноль после провала. Мониторинг по кодам возврата на этой цепочке горел бы красным там, где всё хорошо, и молчал бы там, где работа не делалась тридцать пять дней. Началось всё со скучной сверки расписания с журналом, а кончилось матрицей, в которой два шага из пяти стоят с нулём при шести прогонах из шести у соседей. Шаг, отработавший шесть раз, всё это время строил результат по срезу от десятого июня: сорок один день одних и тех же данных. Разбираю три механизма, каждый из которых превращал провал в зелёную строку отчёта, и почему единственная метрика, которая поймала бы всё сразу, - возраст данных внутри результата. Плюс честные границы: что после починки не замерили и какой вывод статьи на площадке так и не внедрили.

25.08.2026    711    nedomolkov.ivan    0    

1
Для отправки сообщения требуется регистрация/авторизация