Монитор активности сеансов пользователей в виде графиков в клиент-серверном варианте


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

Простейшая конфигурация предназначенная для сбора статистики активности сеансов посредством подключения к агенту сервера и отображение в режиме реального времени в виде графиков за указанный интервал времени. Может быть использована для отслеживания длительных блокировок или зависших сеансов, а также для отслеживания пиковых значений параметров нагрузки сервера, а также просто в познавательных целях. Разработана и тестировалась на платформе 8.3.12.1595. Данные берутся от агента сервера (то есть то, что отображается в оснастке администрирования сервера предприятия) путем подключения к нему через COM соединение. 

Перед запуском убедитесь что версия зарегистрированной компоненты comcntr.dll из папки bin соответствует версии сервера предприятия

Так же необходимо добавить в справочник Базы данных информацию о базе: наименование — имя базы как оно прописано на сервере предприятия, адрес сервера — адрес сервера предприятия (типа "server1" или "192.168.1.1"), порт — порт сервера (если не указан, т.е. 0, используется стандартный 1540).

Далее в справочник Параметры нужно добавить параметры которые необходимо мониторить (например dbProcTook или durationCurrent подробнее в синтаксис помощнике)

Далее в обработке Сбор статистики указываете базу, интервал опроса сервера в секундах, жмете Подключить и погнали

Результат в отчете на стартовой странице. Временной интервал графиков указывается в минутах. Период обновления диаграммы 5 секунд

23 Comments

  1. vano-ekt

    норм отчет, а то одни литераторы в последнее время тут лайки собирают

    можно быстро сузить круг тех, кто кривые/тяжелые алгоритмы в работе использует, а потом по журналу в каких объектах

    Reply
  2. ImHunter

    Тоже недавно сделал такое. Через Jenkins+OScript+RAS/RAC+Elasticsearch.

    Туда же, в Elastic, выгружаем события открытий форм.

    Хех, дело за малым;) Освоить методики big data и как-то связать эти данные.

    Reply
  3. user612295_death4321

    Собираю данные технологического журнала, обрабатываю это все регулярными выражениями, результат регулярного выражения записывается в регистр сведений, а далее подключил Power bi к этому регистру и строю разные отчёты, графики, диаграммы на его основе.

    В планах подключить туда же и трассировки со скуля, может быть если будет необходимость то и данные консоли 1с и sp_whoisactive

    Reply
  4. kraynev-navi

    (0) на платформе 8.2 тестировалась? Будет работать?

    Reply
  5. rullin

    (4) в данный момент нет возможности потестировать на 8.2, но судя по описанию в синтаксис помощнике должно работать, только в обработке Сбор статистики в обработчике кнопки Подключить надо заменить строчку «мCOMСоединитель = Новый COMОбъект(«V83.COMConnector»);» на «мCOMСоединитель = Новый COMОбъект(«V82.COMConnector»);»

    Reply
  6. rullin

    (4) хотя похоже еще в настройках диаграммы отчета придется покопаться…

    Reply
  7. zeegin

    Кажется, что zabbix для этого лучше подходит

    https://github.com/bessonovevgen/srv-1c-zabbix-template

    Reply
  8. fvadim

    При загрузке пишет, что нужна платформа не ниже 8.3.12

    Reply
  9. rullin

    (8) Потому и пишет что разрабатывалась на платформе 8.3.12.1595. Залил версию совместимую с 8.2

    Reply
  10. rullin

    (8) fvadim написал в личку

    Reply
  11. triviumfan

    Наконец-то годнота! Спасибо!

    Reply
  12. vano-ekt

    справочник параметров пуст.

    Кому лень лезть в отладку/хэлп:

    HibernateSessionTerminateTime

    InBytesAll

    InBytesCurrent

    InBytesLast5Min

    MemoryAll

    MemoryCurrent

    MemoryLast5Min

    OutBytesAll

    OutBytesCurrent

    OutBytesLast5Min

    PassiveSessionHibernateTime

    SessionID

    blockedByDBMS

    blockedByLS

    bytesAll

    bytesLast5Min

    callsAll

    callsLast5Min

    dbProcTook

    dbmsBytesAll

    dbmsBytesLast5Min

    durationAll

    durationAllDBMS

    durationCurrent

    durationCurrentDBMS

    durationLast5Min

    durationLast5MinDBMS

    Reply
  13. rotting

    Однозначно «+», а то выкладывают тут недоподелки всякие

    Reply
  14. Evil Beaver

    Здорово. А что понимается под «активностью» пользователей? Какие именно параметры собираются? В статье не нашел

    Reply
  15. IgorXml

    Отчет заинтересовал, однако аватар у автора странный.

    Было бы интересно добавить какое-то управление над сеансами пользователей. Отключение или замедление работы 🙂

    Reply
  16. Evil Beaver

    (2) Ссылку на гитхаб дадите?

    Reply
  17. Evil Beaver

    (7) Заббикс разворачивать надо, а сервер 1С — вот он, под боком. Чем больше инструментов, тем лучше, ящитаю

    Reply
  18. ImHunter

    (16) На Гит особо и выкладывать нечего. Считалку информации о сеансах тут, на ИС, нашел. Немного только допилил, чтобы индексы по месяцам разбивались.

    Reply
  19. rullin

    (14) Перечень возможных собираемых параметров тут уже в комментарии [12] указали, подробнее можно почитать в синтаксис помощнике в свойствах сеанса (Средства интеграции и администрирования-Менеджер COM-соединений-Администрирование кластера серверов-Сеанс), например:

    durationAllDBMS (durationAllDBMS)

    Использование:

    Только чтение.

    Описание:

    Тип: Число.

    Содержит суммарное время исполнения запросов к СУБД от имени данного сеанса с момента начала сеанса, в миллисекундах.

    Доступность:

    Интеграция.

    Reply
  20. rullin

    (15) Не судите по внешнему виду )) Глубокий смысл сего аватара кроется в.. постойте.. в нем нет никакого смысла, просто дуракаваляние )) А на счет управления пожалуй кроме завершения сеанса (метод TerminateSession соединения с агентом сервера) 1С возможностей не предоставляет, поправьте если ошибаюсь

    Reply
  21. zeegin

    (17) Ой, чтобы развернуть заббикс надо потратить минут 5 от силы. И еще минут по 5-10 на подключения разных грабберов на каждый. Все равно информация от 1с без скупа информации от всего остального окружения не даст целостности картины. 1с это всего лишь одна маленькая служба из многих.

    Reply
  22. Evil Beaver

    (21) прямо-таки 5-10 минут уйдет на построение в заббиксе графика сеансов фоновых заданий?

    Мне неизвестно готовое решение, если оно есть — соглашусь. Если нет — сомневаюсь, что написание займет 10 минут. Готов поставить коньяку за честное выполнение такой задачи онлайн в 10 минут, без привлечения готового решения из opensource.

    Reply
  23. chetirepda

    Для работы, если 1С Сервер на 8.2 нужно закомментировать строку в Форме обработки сбора статистики —

    В процедуре — ПолучитьДанныеСеансов()

    //нс.Спящий = Соединение.Hibernate;

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *