Скрипт сбора параметров текущих сеансов 1С с отправкой в Elastic search

30.10.17

База данных - Инструменты администратора БД

Вы мониторите количество подключений к вашей базе 1С не открывая Конфигуратор, Консоль или Предприятие? Если нет и хотите начать, то удобно вызывать периодически внешний скрит и складывать полученные данные в удобный визуализатор.

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

Наименование Файл Версия Размер
Скрипт сбора параметров текущих сеансов 1С с отправкой в Elastic search
.os 15,46Kb
30
.os 15,46Kb 30 Скачать

Скрипт на oscript. Выполняет обращение к службе RAS, собирает информацию о текущих сеансах указанной информационной базы и отправляет их в Elasticsearch. 

Дальше можно агрегировать любую аналитику как по количеству сеансов, так и в других разрезах (тип клиента, длительность и пр.)

Пример запуска скрипта из командной строки: 
oscript ".\src\СчиталкаСеансов.os" "C:\Program Files\1cv8\8.3.9.2170\bin\rac.exe" "myRASservice:1545" "infobaseName" elastic.server.local

Проверено на версии платформы 8.3.9.2170.

Эластик oscript. elasticsearch kibana RAS RAC кластер серверов администрирование мониторинг сеанс

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

12000 руб.

06.12.2023    2969    13    1    

34

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3512    11    1    

33

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3600 2520 руб.

14.01.2013    177729    1073    0    

849

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27373    79    146    

59

Система хранения присоединенных файлов в томах на диске

Инструменты администратора БД Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61312    88    59    

73

"Менеджер потоков 2.1": УПП: "Восстановление партий"

Инструменты администратора БД Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Платные (руб)

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11744    5    9    

7

Брандмауэр для сервера 1С Предприятие 8 - внешнее управление сеансами

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Управление возможностью начала и возобновления сеансов пользователей по различным условиям, ограничение общего числа возможных сеансов для работы с информационной базой, резервирование возможности работы с информационной базой определенных польззователей, запрет запуска нескольких сеансов для пользователя, журнализация событий начала (возобновления) и завершения (гибернации) сеансов, ведение списка активных сеансов для информационных баз кластера серверов

3600 руб.

06.02.2017    31106    31    18    

47

Хранилище файлов на SQL

Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Управленческий учет Платные (руб)

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    10978    5    8    

9
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. fishca 1254 30.10.17 13:12 Сейчас в теме
Звезданул :)
dj_serega; sergey.novikov; +2 Ответить
2. Evil Beaver 8107 30.10.17 13:15 Сейчас в теме
НЯ!!!

А за односкрипт - тройное НЯ (два коротких, одно длинное) !!!
sergey.novikov; +1 Ответить
3. sergey.novikov 56 30.10.17 13:47 Сейчас в теме
(2)спс, надо это дело до opm еще допилить, вчера уже лень было
4. comol 5051 31.10.17 01:07 Сейчас в теме
Велосипед? ЦКК не пробовали для этого использовать?
mitia.mackarevich; +1 3 Ответить
5. sergey.novikov 56 31.10.17 04:39 Сейчас в теме
(4)это же бесплатный велосипед ;)
Labotamy; +1 Ответить
6. artbear 1448 31.10.17 10:23 Сейчас в теме
(4) ЦКК? :( ни о чем, трудно расширить, трудно доработать и т.п.
Bronislav; sergey.novikov; +2 Ответить
9. comol 5051 31.10.17 19:27 Сейчас в теме
(6) Зачем расширять и дорабатывать средство МОНИТОРИНГА. Более того зачем его ПИСАТЬ? О_о...
11. artbear 1448 31.10.17 20:08 Сейчас в теме
(9) Интересно, почему же так много средств мониторинга-то?
и постоянно добавляются новые метрики, адаптеры и прочее?
sergey.novikov; +1 Ответить
36. Labotamy 03.12.17 00:27 Сейчас в теме
Хочу собирать статистику по сеансам/соединениям в ELK. Варианты?
7. Silverbulleters 31.10.17 11:13 Сейчас в теме
(4) Напомни пожалуйста сколько денежков стоит этот ваш ЦКК.

(0) злыдни - чего только не сделаешь чтобы beats не писать.
serge_focus; sergey.novikov; +2 Ответить
8. sergey.novikov 56 31.10.17 14:25 Сейчас в теме
(7) ЦКК 108 000 или в районе, но дело даже не в цене, это как из пушки по воробьям же стрелять
viptextil1; artbear; +2 Ответить
10. comol 5051 31.10.17 19:30 Сейчас в теме
(7) (8) Просто если уж заниматься то наверное полноценным чем-то...
12. sergey.novikov 56 31.10.17 21:22 Сейчас в теме
(10) Олег, это простой ответ на простой вопрос. Зачем писать для этого тысячи строк кода?
13. sergey.novikov 56 31.10.17 21:27 Сейчас в теме
(10)этот скрипт логично сравнивать с консолью, но не КИП. Что неполноценного в консоле-то?
14. comol 5051 01.11.17 00:03 Сейчас в теме
(13) Ну согласен согласен... не велосипед а бесплатный и интересный скейтборд :)
sergey.novikov; +1 Ответить
38. asved.ru 36 16.01.18 16:49 Сейчас в теме
(4) ЦКК по сравнению со специализированными инструментами довольно плохой визуализатор. Я оттуда все, что хочу видеть на графиках, кидаю в Zabbix.
15. blackhole321 1303 01.11.17 13:41 Сейчас в теме
А в чем преимущество Вашего подхода, по сравнению с использованием COM объектов из 1С или PowerShell или vbs?
Ведь это административные задачи, а знание PowerShell и vbs для администратора - must have. Хотелось бы понять, что получает администратор взамен времени, потраченного на изучение Вашего продукта?
17. sergey.novikov 56 01.11.17 14:01 Сейчас в теме
(15) Продуктом я бы не стал называть 300 строчек кода ;)
А про преимущества оскрипта у авторов лучше почитать https://habrahabr.ru/post/301064/
Ну про кибану и эластик мы тут не говорим, верно?
16. пользователь 01.11.17 14:00
Сообщение было скрыто модератором.
...
18. blackhole321 1303 01.11.17 14:13 Сейчас в теме
(16)
Да, про кибану и эластик не говорим, интерес представляет сам 1Script как среда автоматизации. Поскольку Вы ее используете, хотелось бы получить информацию из первых рук, почему Вы выбрали именно этот продукт для решения задачи мониторинга сессий из всего многообразия возможных вариантов.
19. sergey.novikov 56 01.11.17 14:28 Сейчас в теме
(18) скажем, что мне нужен скрипт который будет работать одинаково как в windows, так и в linux.
Ну и 1с у меня "родной" язык ;)
22. blackhole321 1303 01.11.17 14:43 Сейчас в теме
(19) Ну если только Вы хотите иметь один и тот же скрипт на Linux и на windows, однако из за различий в системах в общем случае они по всей видимости будут различными, даже написанные на одном языке.
24. TODD22 18 01.11.17 15:17 Сейчас в теме
(22)
почему Вы выбрали именно этот продукт для решения задачи мониторинга сессий

Общее владение кодом в команде если в ней все 1сники. Не нужно учить всем другие языки. Здесь дело не в том что кто то не сможет. А в том что если в команде 10 человек и VBA из всех владеет только один то как то не логично делать часть работы на VBA если есть общий инструмент.

Хотя мне кажется тот же Python освоить не сложно, профита больше и не варишься в одной технологии. Пользовался Оскриптом, но перешёл на Python.
20. blackhole321 1303 01.11.17 14:36 Сейчас в теме
Напишите ваше сообщение
(16)
Спасибо за ссылку, статью прочел. Как то несколько странно читать, что одноэсники не в состоянии чего либо освоить кроме 1С :)
21. artbear 1448 01.11.17 14:42 Сейчас в теме
(20)Освоить можно все, весь вопрос в использовании этих знаний.
Я сам периодически давно работал на VBS, JS и Powershell (много лет)
у меня даже был завершенный спец.проект на Powershell по релизному управлению базами 1С на розничных точках по всей стране.

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

При возвращении к Powershell каждый раз приходится вспоминать как сам язык и его особенности, так и команды и объекты библиотек :(
Это реально мешает в решении задач.
sergey.novikov; +1 Ответить
25. blackhole321 1303 01.11.17 15:24 Сейчас в теме
(21)Не могли бы Вы кратко очертить круг задач, которые Вы решаете с использованием данного инструмента?
Я правильно понимаю, что язык - это не копия 1С и там есть свои конструкции, расширения и библиотеки, основанные на классах .NET, и чтобы использовать его в более менее сложных задачах Вам необходимо создавать и использовать классы .NET?
26. artbear 1448 01.11.17 15:49 Сейчас в теме
(25)Есть поддержка большинства типовых объектов библиотеки 1С - Массив, Соответствие и т.п.
Нет поддержки прикладной модели 1С - справочники, документы и т.п., т.е. то, что мы видим в Конфигураторе

т.е. в скриптах 1скрипт мы работает с теми же хорошо известными нам классами 1С.

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

.NET-классы также можно юзать, если это нужно.
sergey.novikov; +1 Ответить
27. blackhole321 1303 01.11.17 17:34 Сейчас в теме
(26)
Скачал скрипт, посмотрел. Честно говоря чувства смешанные :) т.к. 90% скрипта на PowerShell уложатся в десяток строк.
Чтобы не мудрствовать лукаво, взял за основу https://infostart.ru/public/202805/ , скопипастил, подрихтовал и оттестировал.

Как пример - соединение с сервером и получение данных о сессиях:
$V8XCom = New-Object -COMObject "V83.COMConnector"

$СтрокаПодключения = "tcp://localhost:1540"
$АгентСервера = $V8XCom.ConnectAgent($СтрокаПодключения)

$Кластеры = $АгентСервера.GetClusters()
$ВыбранныйКластер = $Кластеры[0]

$ИмяПользователя = "Администратор"
$Пароль = "123456"
$АгентСервера.Authenticate($ВыбранныйКластер, $ИмяПользователя, $Пароль) 

$Сессии = $АгентСервера.GetSessions($ВыбранныйКластер)

# Группируем, анализируем, сохраняем в БД etc.
# ...
Показать


Я понимаю, что это не кроссплатформенно и все же.

Посмотрел функцию ЗапуститьПроцесс (надеюсь, Вы не будете возражать, если я скопирую ее в сообщение)

Функция ЗапуститьПроцесс(Знач СтрокаВыполнения)
	Перем ПаузаОжиданияЧтенияБуфера;
	
	ПаузаОжиданияЧтенияБуфера = 1;
	
	Процесс = СоздатьПроцесс(СтрокаВыполнения,,Истина);
	Процесс.Запустить();
	
	Текст = Новый ТекстовыйДокумент;

	Пока Истина Цикл

		ВывестиДанныеПроцесса(Процесс, Текст);

		Если Процесс.Завершен Тогда
			Процесс.ОжидатьЗавершения(); // финальный сброс буферов
			ВывестиДанныеПроцесса(Процесс, Текст);
			Прервать;
		КонецЕсли;

		Приостановить(ПаузаОжиданияЧтенияБуфера);
		
	КонецЦикла;

	Если Процесс.КодВозврата = 0 Тогда
	Иначе
		Текст.ВставитьСтроку(1, "Сообщение от RAS/RAC: "); 
		ВызватьИсключение Текст.ПолучитьТекст();
	КонецЕсли;	
	
	Возврат Текст;

КонецФункции
Показать


Я правильно понимаю, что СоздатьПроцесс() и дальнейшие манипуляции - это и есть расширения библиотеки т.е. фактически создание класса .NET System.Diagnostics.Process (https://msdn.microsoft.com/ru-ru/library/system.diagnostics.process(v=vs.110).aspx) и мне необходимо изучать все эти расширения?
28. sergey.novikov 56 01.11.17 21:24 Сейчас в теме
(27) не очень понял про смешанные чувства, и чем пара строк powershella короче пары строк на 1с? )))
29. blackhole321 1303 01.11.17 22:41 Сейчас в теме
(28)Дык в том то и дело, что там не пару строк (в скрипте из публикации). Если я правильно понял его содержание, там происходит запуск консольного приложения, отлавливается его вывод (stdout), а дальше происходит его парсинг. И 80% скрипта из 300 строк существуют для реализации этого функционала. Соответственно возникает вопрос, что быстрее и дешевле, написать и отладить 10 строк на PowerShell или vbs или 200 на 1Script. К тому же если я правильно понимаю, для более менее серьезного взаимодействия с внешним миром необходимо использовать .NET. Это приводит к тому, что необходимо изучать некие дополнительные библиотеки, встроенные в язык, либо библиотеки .NET или прикладные COM об'екты. Поэтому возникают смешанные чувства, от непонимания преимуществ, кроме как русскоязычный синтаксис похожий на синтаксис 1С (что при прямом использовании классов .NET скорее не плюс т.к. имена методов и свойств англоязычные). Конечно это мое сугубо личное мнение и оно не подвергает сомнению ценность проекта, однако по моим первым впечатлениям, эта ценность лежит в плоскостях отличных, от задач администрирования etc.
30. sergey.novikov 56 01.11.17 23:03 Сейчас в теме
(29) моя реализация не требует регистрации Com-компонент. Давайте усложним задачу, что если у вас на одной машине установлены серверы 1с 8.2 и 8.3 и вы хотите следить за потреблениями сеансами памяти, что бы проактивно определять проблему? Тогда пляски с comcntr.dll и коэффициэнт wtf перевесит чашу весов ;)
31. blackhole321 1303 02.11.17 08:28 Сейчас в теме
(30)
Ну давайте усложним. Я воспользуюсь методом, описанным https://infostart.ru/public/685924/ и поменяю тип при создании com об'екта.
32. sergey.novikov 56 02.11.17 09:56 Сейчас в теме
33. blackhole321 1303 02.11.17 11:38 Сейчас в теме
(32)
И Вам удачи, спасибо за уделенное мне время и извините если что не так :).
34. comol 5051 03.11.17 23:34 Сейчас в теме
(21)
При возвращении к Powershell каждый раз приходится вспоминать как сам язык и его особенности

При возвращении к PowerShell Каждый раз хочется удариться головой об стенку и биться об неё пока все воспоминания об этом хм... "языке" не выйдут из головы. По синтаксису c PowerShell может сравниться разве что BrainFuck. Если мне нужно что-то тяжелое и сложное я проще на C# программку накидаю, если что-то простое - напишу bat-ник. Что-то среднее, заюзаю WSH. Но Microsoft усиленно впихивает нам в глотку PowerShell... Добавляю туда админки SQL и Exchange.
Иногда так и хочется плюнуть и сказать - "стану .... линуксоидом" :) (с)
35. blackhole321 1303 05.11.17 11:13 Сейчас в теме
(34)Довольно мм... необычное на мой взгляд мнение для человека, который использует c# и wsh :) Вы не сгущаете краски:)?
37. Evil Beaver 8107 16.01.18 15:19 Сейчас в теме
(34) Олег, может ты все-таки перейдешь уже на односкрипт? ;)
39. comol 5051 16.01.18 19:48 Сейчас в теме
(37) Да я что-то смотрю какое-то засилье OneScript на Infostart-e :). Даж потроллить хочется :)
Нет! Я не 1С-ник :) я это могу сделать на C#, bat, wsh.
А недавно я тут сортировку пузырьком на haskell написал :))) Теперь мне даже 1С не страшен :)))
23. sergey.novikov 56 01.11.17 15:15 Сейчас в теме
(20) Артур ниже отлично ответил
40. ImHunter 312 24.04.18 08:18 Сейчас в теме
Какие-то непонятки:( В elastic'е в итоге вижу значительно меньше записей о сеансах. По консоли 1С и по логу скрипта - их >50, а в elastic'е до 10, не более...
Будет время - поразбираюсь.
41. ImHunter 312 24.04.18 09:55 Сейчас в теме
А, нет. Почти норм. Дело в смещении времени.
sergey.novikov; +1 Ответить
42. ImHunter 312 25.04.18 19:11 Сейчас в теме
(0) А проконсультируй плз - как сделать в Кибане чарт с видами приложений (как в картинке публикации).
Там ведь типа "Срез последних" нужно получить и по нему вывести данные. Сходу не осилил...(
43. sergey.novikov 56 26.04.18 19:05 Сейчас в теме
(42)А в кибане есть отдельный регулятор периода, крутишь его (за какой период необходимо агрегировать данные, и все ок)
44. ImHunter 312 27.04.18 06:47 Сейчас в теме
(43) Направление понял. Но сходу опять не получилось;) Ладно, разберусь позже.
Наверное, доделаю еще скрипт, чтобы индекс по месяцам разбивал.
45. user634257_mryzhov 07.06.18 11:52 Сейчас в теме
А может есть у кого готовые визуализации для кибаны по этому набору данных?
46. sergey.novikov 56 07.06.18 17:20 Сейчас в теме
(45) Использую графану для графиков и диаграмм, в кибану хожу только, если надо сырые данные посмотреть.
47. ImHunter 312 20.02.19 07:56 Сейчас в теме
Обновил OScript. И считалка малость поломалась. В ней написана своя ф-ия ЗаписатьJSON, а появилась встроенная процедура ЗаписатьJSON.
Переименовал ф-ию скрипта ЗаписатьJSON -> ВнутрЗаписатьJSON и поправил два места использования этой функции.
sergey.novikov; +1 Ответить
48. sergey.novikov 56 20.02.19 10:44 Сейчас в теме
(47) Да, тоже на это натыкался, спасибо
Оставьте свое сообщение