gifts2017

Программа для мониторинга работы кластера 1С и SQL сервера

Опубликовал Aleksey Zhuchkov (MrWonder) в раздел Администрирование - Сервисные утилиты

В случае работы с большими базами на не очень быстрых серверах или запуске неоптимизированных обработок может возникнуть проблема, когда один(или несколько) пользователей забирают слишком большое количество ресурсов SQL Сервера (реже сервера приложений), не давая полноценно работать остальным пользователям. Данное HTA-приложение с заданным интервалом опрашивает сервер приложений на предмет сессий с большим текущим временем вызова СУБД, опрашивает SQL сервер на предмет использования сессиями пользователей его ресурсов и выводит данные в удобной таблице.

В случае работы с большими базами на не очень быстрых серверах или запуске неоптимизированных  обработок может возникнуть проблема, когда один(или несколько) пользователей забирают слишком большое количество ресурсов SQL Сервера (реже сервера приложений), не давая полноценно работать остальным пользователям. Данное HTA-приложение с заданным интервалом опрашивает сервер приложений на предмет сессий с большим текущим временем вызова СУБД, опрашивает SQL сервер на предмет использования сессиями пользователей его ресурсов и выводит данные в удобной таблице.

Приложение отображает следующие колонки
Кластер 1с
Порт процесса
База (наименование)
ФИО
HOST пользователя
Время тек. (Время вызова СУБД текущее)
% cpu    процент cpu SQL сервера
% io       процент physical_io SQL сервера
% mem  процент memusage SQL сервера,
осуществляет фильтр по любому из значений.

Отображает общую загрузку всех процессоров SQL сервера и сервера приложений 1c.

Требуется установленный компонент V82.COMConnector и ADODB.Connection

Перед использованием в теле приложения необходимо заполнить рабочие параметры:

    Base_Name    =    ""    'название базы
    V82Cluster     =    ""     'имя кластера 1с - просто хост или ip
    Base_Port    =    ""        'порт кластера на котором висит база (1541, 2541 etc)
    Base_User    =    ""            'пользователь базы             \    если не указаны
    Base_Pass    =    ""            'пароль пользователя базы    /    исползуется авторизация windows
    sql_server    =    ""        'SQL сервер базы
    sql_user    =    ""    'пользователь SQL сервера
    sql_pass    =    ""'пароль пользоватлея SQL сервера

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
cluster_mon.full.hta
.hta 223,53Kb
07.09.11
191
.hta 223,53Kb 191 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Dmitriy Radovskiy (myoff) 07.09.11 13:03
Пишет:
"Ошибка: недопустимая спецификация авторизации"
2. Aleksey Zhuchkov (MrWonder) 07.09.11 13:22
Есть номер строки в которой ошибка? Можно скрин?
3. Филин (fillin) 07.09.11 15:22
Однако, не работает.
1. "Строка: 1528
Символ: 3
Ошибка: Объект не является семейством"
2. В тексте, который успевает вывести квадратики вместо русских букв.

Может дело в многокластерности и нестандартных портах?
V82Cluster = "ke-main-s05:2541" 'имя кластера 1с
Base_Name = "1c" 'название базы
Base_Port = "2540" 'порт кластера на котором висит база Пробовал также "2541"
Base_User = "" 'пользователь базы \ если не указаны
Base_Pass = "" 'пароль пользователя базы / исползуется авторизация windows - мой случай
sql_server = "ke-main-s04" 'SQL сервер базы
sql_user = "1c" 'пользователь SQL сервера
sql_pass = "*****"'пароль пользоватлея SQL сервера


Хотя, задумка хорошая
4. Евгений (yazuzenko) 07.09.11 15:48
"Упростить" доступ для скачивания можно?
5. Aleksey Zhuchkov (MrWonder) 07.09.11 15:54
fillin пишет:
1. "Строка: 1528

Символ: 3

Ошибка: Объект не является семейством"


А в логе что? лог рядом должен упасть


Может дело в многокластерности и нестандартных портах?

нет. У меня на многокластерном сервере приложений все ок.

Ошибка возникла на получении списка rphost'ов, в лог что нить да должно упасть
6. Филин (fillin) 07.09.11 15:58
(5) И правда лог есть:

07.09.2011-15:57:05=script started by \\KE_KIROV\\sergeyer.oit from KE-OIT-W02
07.09.2011-15:57:06=Error # -2147467259 descr=Сервер недоступен (Не отвечает, завершается аварийно или порт занят другим приложением) line=542 file=Src\RemoteCreatorImpl.cpp
07.09.2011-15:57:06=Error # 424 Требуется объект
07.09.2011-15:57:06=Error # 451 Объект не является семейством
07.09.2011-15:57:07=Reload start
07.09.2011-15:57:07=Error # 451 Объект не является семейством
7. Aleksey Zhuchkov (MrWonder) 07.09.11 16:02
yazuzenko пишет:

"Упростить" доступ для скачивания можно?

уже не получится, понизить нельзя.
8. Aleksey Zhuchkov (MrWonder) 07.09.11 16:06
fillin пишет:
V82Cluster = "ke-main-s05:2541" 'имя кластера 1с

Base_Port = "2540" 'порт кластера на котором висит база Пробовал также "2541"




невнимательно прочитал сразу конфиг,
должно быть
V82Cluster = "ke-main-s05" 'имя кластера 1с
Base_Port = "2541" 'порт кластера на котором висит база Пробовал также "2541"
9. Филин (fillin) 07.09.11 16:14
10. Филин (fillin) 07.09.11 16:17
(8) Вот так помогло:
V82Cluster = "ke-main-s05:2540" 'имя кластера 1с
Base_Port = "2541" 'порт кластера на котором висит база

Но все-равно квадратики в шапке и в подвале:

������������� ��������� ����� 1 ������ 3 ������ 5 ����� 10 ����� 15 ����� CPU@ke-main-s05:2540: 0% CPU@ke-main-s04: 0%

���������� 102550100��� ������������� �� ���� ��������: Processing...������� ���� ���� ��� HOST ����� ���. DBConnID % cpu % io % mem


Таблица нормальная.
11. Aleksey Zhuchkov (MrWonder) 07.09.11 16:48
fillin пишет:
V82Cluster = "ke-main-s05:2540" 'имя кластера 1с

если там будет еще и порт то сбор информации о загрузке CPU скорее всего не сработает.
А на каких портах висят базы, на 1541 ничего нет?

fillin пишет:
Но все-равно квадратики в шапке и в подвале:

Я добавил кодировку в <head> и обновил файл.
12. Филин (fillin) 07.09.11 16:54
(11) Менеджер кластера ke-main-s05:2540 и 2 кластера с базами ke-main-s05:2541 и ke-main-s05:2641

На 1541 кластер 8.1.

MrWonder пишет:
Я добавил кодировку в <head> и обновил файл.


Спасибо.
Как только сайт глючить перестанет, плюсану.


Пожелание: Хорошо бы пароли спрашивало при старте, если они в тексте не заданы. Не хорошо как-то пароли прямо в тексте проги хранить.
13. Aleksey Zhuchkov (MrWonder) 07.09.11 17:01
fillin пишет:
Пожелание: Хорошо бы пароли спрашивало при старте, если они в тексте не заданы. Не хорошо как-то пароли прямо в тексте проги хранить.


ок, сделаю
14. Сергей Старых (tormozit) 08.09.11 00:54
Интересная идея. Можно скриншот побольше сделать?
15. Aleksey Zhuchkov (MrWonder) 08.09.11 08:30
tormozit пишет:
Интересная идея. Можно скриншот побольше сделать?

как придумаю как автоматически закрасить приватное сразу сделаю
16. Александр (Aragorn) 08.09.11 13:31
как можно комментировать чего нельзя поюзать, в виду изменившихся правил. Буду копить балы что бы поюзать и сказать свое мнение
mcb60; kirillkr; +2 Ответить 1
17. Филин (fillin) 08.09.11 21:21
(16) Что за новые правила? Я что-то пропустил? Что за баллы?
Где почитать? Я не нашел.
cleaner_it; +1 Ответить
18. Артур Аюханов (artbear) 09.09.11 17:26
Без нормального скриншота неудобно смотреть, картинка анонса нечитабельна :(
КАК МОДЕРАТОР предлагаю добавить читаемый скриншот, иначу сниму публикацию.
Жду скриншот.
ЗЫ обычно сразу снимаем публикацию без скриншота, но из-за наличия плюсов сначала предлагаю по-хорошему :)
19. Aleksey Zhuchkov (MrWonder) 09.09.11 20:50
КАК МОДЕРАТОР предлагаю добавить читаемый скриншот, иначу сниму публикацию.

Очень веская мотивация). Добавил в скриншоты большое изображение
20. Евгений (yazuzenko) 12.09.11 09:13
Если SQL сервер Postgres, должно(будет) работать?
21. Aleksey Zhuchkov (MrWonder) 12.09.11 17:19
yazuzenko пишет:
Если SQL сервер Postgres, должно(будет) работать?

нет. служебные таблицы MsSql используются, соединение с MsSql. За неимением такой инфраструктуры(PostgreSQL) реализовывать тоже пока не планирую.
22. Михаил Госьков (ГМВ) 07.03.12 13:00
Файл заражен вирусом обнаружено: троянская программа HEUR:Trojan-Dropper.Script.Generic (модификация) файл: cluster_mon.full.hta//JIM
23. Aleksey Zhuchkov (MrWonder) 12.03.12 13:12
(22) ГМВ, какой антивирус? я напишу разработчикам чтобы они исключили из базы ложное
24. Михаил Госьков (ГМВ) 13.03.12 05:50
(23) MrWonder, антивирус Касперского 6.0.4.1424
25. Aleksey Zhuchkov (MrWonder) 13.03.12 21:35
26. Александр Никитин (ManyakRus) 18.10.12 14:53
заработало, всё классно :)
как раз то что и мечтал :)
потестирую пока что ещё

замечание:
" Base_User = "" 'пользователь базы \ если не указаны
Base_Pass = "" 'пароль пользователя базы / исползуется авторизация windows"

это пользователь и пароль не от базы 1С, а от кластера серверов 1С
27. Черников Виктор (cherva) 18.10.12 15:17
К сожалению не работает : появляется на секунду, потом идет "ошибка выполнения сценария" , говорю продолжить появляется серый фон и все виснет

Лог:
18.10.2012-14:58:12=script started by \\GSI2000\\itscher from GSI8
18.10.2012-14:58:14=Error # -2147467259 server_addr=tcp://:1540 descr=Ошибка сетевого доступа к серверу
(Windows Sockets - 10061(0x0000274D). Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. ) line=589 file=Src\DataExchangeTcpClientImpl.cpp
18.10.2012-14:58:14=Error # 424 Требуется объект
18.10.2012-14:58:14=Error # 451 Объект не является семейством
18.10.2012-14:58:57=script started by \\GSI2000\\itscher from GSI8
18.10.2012-14:58:59=Error # -2147467259 server_addr=tcp://:1540 descr=Ошибка сетевого доступа к серверу
(Windows Sockets - 10061(0x0000274D). Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. ) line=589 file=Src\DataExchangeTcpClientImpl.cpp
18.10.2012-14:58:59=Error # 424 Требуется объект
18.10.2012-14:58:59=Error # 451 Объект не является семейством
18.10.2012-14:59:20=script started by \\GSI2000\\itscher from GSI8
18.10.2012-14:59:21=Error # -2147467259 server_addr=tcp://:1540 descr=Ошибка сетевого доступа к серверу
(Windows Sockets - 10061(0x0000274D). Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. ) line=589 file=Src\DataExchangeTcpClientImpl.cpp
18.10.2012-14:59:21=Error # 424 Требуется объект
18.10.2012-14:59:21=Error # 451 Объект не является семейством
18.10.2012-14:59:33=script started by \\GSI2000\\itscher from GSI8
18.10.2012-14:59:34=Error # -2147467259 server_addr=tcp://:1540 descr=Ошибка сетевого доступа к серверу
(Windows Sockets - 10061(0x0000274D). Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение. ) line=589 file=Src\DataExchangeTcpClientImpl.cpp
18.10.2012-14:59:34=Error # 424 Требуется объект
18.10.2012-14:59:34=Error # 451 Объект не является семейством
28. Aleksey Zhuchkov (MrWonder) 19.10.12 14:22
(27) cherva,
Сервер приложений на каком порту крутится?
29. Черников Виктор (cherva) 19.10.12 14:33
30. Андрей Вовк (wowkai) 19.04.13 12:04
А как научить обработку работать с сервером 1с 8.1?
31. Дмитрий Николайчук (dimetra2008) 14.07.14 03:48
По моему все это можно увидеть и в консоли управления сервером 1с
32. Aleksey Zhuchkov (MrWonder) 14.07.14 09:28
(31) dimetra2008, абсолютно верно, только когда у Вас в базе сидят xyz пользователей, без фильтра в стандартной консоли приходится туговато
33. Virikus 20.04.15 14:41
А данное решение подойдет по 8.3 сервер? Или его надо будет вам переписывать?
34. Aleksey Zhuchkov (MrWonder) 21.04.15 14:40
(33) Virikus, Думаю, V82.ComConnector поменять на V83.ComConnector и все должно взлететь. Если не получится - напишите.
35. miroha Мирошниченко (miroha) 18.12.15 12:58
36. Сергей Иванов (u_n_k_n_o_w_n) 18.12.15 13:55
Поясните пожалуйста, чем отличается от стандартного журнала логов.

Спасибо.
37. Aleksey Zhuchkov (MrWonder) 18.12.15 17:19
(35) miroha, Что за ошибка, покажите лог.
(36) u_n_k_n_o_w_n, о каких логах идет речь?
39. Сергей Иванов (u_n_k_n_o_w_n) 22.12.15 08:44
Как можно расценивать Ваше молчание?

Спасибо.
40. Aleksey Zhuchkov (MrWonder) 22.12.15 10:39
(39) u_n_k_n_o_w_n, не понял Вашего вопроса. Вы пишется "чем отличается от стандартного журнала логов" и присылаете ссылку на "Руководство по отслеживанию производительности". Будьте, пожалуйста, конкретнее.
41. Сергей Иванов (u_n_k_n_o_w_n) 24.12.15 13:01
Поясняю: Руководство по отслеживанию производительности - лог работы оборудования и программных продуктов. Поэтому и пытаюсь понять чем же ваш вариант отличается от стандартного.
42. Сергей Иванов (u_n_k_n_o_w_n) 04.01.16 13:16
43. Aleksey Zhuchkov (MrWonder) 12.01.16 14:04
(42) u_n_k_n_o_w_n, сейчас, увы, не очень хорошо со временем. Отвечу как буду посвободней, простите.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа