Анализ настроек кластеров 1С (+ менеджер файлов на сервере)

06.01.22

Разработка - Инструментарий разработчика

Итак, у вас количество баз давно перевалило за десяток. Все эти базы раскиданы по кластерам. К тому же и версии платформы 1С у этих баз разные. Ну а вы, к несчастью - администратор всего этого хозяйства. К несчастью, потому что вы администратор 1С. А это необычный администратор. Случается так, что вы не имеете прав локального администратора, а консоль сервера приложений на вашем рабочем месте не установлена. Но не беда, поставить ее вам готовы уже завтра-послезавтра.

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

Наименование Файл Версия Размер
Анализ настроек кластеров 1С
.epf 71,97Kb
104
.epf 71,97Kb 104 Скачать
Жизненная история
Изображение

 

И вот вам поставили консоль, и вы даже подключили сервера. Но... не все сервера рады показать вам списки своих баз. Вспоминаете вы, что версии-то у них разные.

Решаете вы и эту проблему. И теперь есть возможность запускать консоли разных версий и видеть соответствующие списки баз. Можно выдохнуть и открыть-таки настройки требуемой базы, чтобы понять в какой же базе SQL она лежит, разрешены ли в ней регламентные задания ну или что там еще вы хотели посмотреть изначально.

Но тут очередная беда подстерегает вас. Вы ведь не знаете заветную пару логин/ пароль администратора этой базы. И труды ваши были напрасны.

 

Актуальные задачи

Эту занимательную историю можно продолжать бесконечно. Для кого-то она покажется надуманной, а кто-то сможет дополнить ее еще новыми трудовыми этапами. Но все, кто сталкивался с поддержкой и обслуживанием различных кластеров с большим количеством баз рано или поздно озадачиваются вопросом получения сводной информацией о текущем состоянии всего этого зоопарка.

Это необходимо для оптимизации существующих ресурсов. Так, например, можно обнаружить в каталогах сервера приложений огромное количество папок с мало говорящими названиями в стиле GUID, но занимающих отнюдь не мало места на диске - это каталоги изначально связаны с конкретными базами, зарегистрированными на соответствующих кластерах. В какой то момент по разным причинам количество этих папок перестает соответствовать количеству зарегистрированных на текущий момент в кластере 1С баз и "лишние" папки можно/нужно удалять.

Полезно увидеть информацию о базах в разрезе кластеров, баз данных для понимания загруженности серверов; отобрать базы с "не выключенными" регламентными заданиями, базы с блокировкой подключений и пр. Вобщем посмотреть на это хозяйство сверху и принять.

 

Пример решения

Вся эта информация хранится в файликах 1CV8Clst.lst или 1CV8Reg.lst на серверах 1с в каталогах "...srvinfo". Подробней можно посмотреть на сайте ИТС здесь или здесь

Путь к папкам "program files" можно получить из реестра (Shell.RegRead("HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionProgramFilesDir (x86)") и Shell.RegRead("HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionProgramW6432Dir")). 

В зависимости от версии 1С, srvinfo может лежать либо в папке 1cv82 либо в 1cv8.

Доступ к этим файлам имеет, например пользователь, под которым запускается сервис сервера 1с. Т.е даже в случае отсутствия взаимопонимания с праведными администраторами есть возможность получить доступ к этим файликам из самой 1с, выполняя код на сервере. Тут стоит, однако оговориться, что выполнение кода на сервере не всегда гарантирует нам доступ к файлам с настройками. Если у кластера несколько рабочих серверов, то не факт, что серверный вызов будет на центральный сервер, где хранятся соответствующие настройки.

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

Так и родилась данная обработка.

Ограничения обработки

Данная обработка работает только на управляемых формах и на версиях 1C от 8.3.x.x

Режим использования синхронных вызовов расширений и внешних компонент: Использовать или Использовать с предупреждениями

Для возможности анализировать настройки удаленных серверов (по списку серверов) должен быть доступ к соответствующим папкам с настройками, а так же доступ к созданию объекта winmgmts и выполнению сценариев WSH, для компьютеров из указываемого списка либо под правами локального пользователя, либо под правами пользователя сервера приложений базы, из которой запускается обработка

 

Функционал обработки

  • Обработка анализирует файлы настроек кластеров различных версий 1С (8.2, 8.3)

  • Показывает несоответствие структуры каталога кластера и настроек конфигурационного файла (т.е. ситуации, когда фактически существует каталог, не связанный с базами кластера или наоборот, нет каталога для конкретной базы, прописаной в конфигурационном файле)

  • По полученным данным есть возможность сформировать отчет, построенный на базе СКД со всеми вытекающими возможностями (группировки, фильтры, отборы и пр.).
  • Код обработки открыт

 

Бонусом вы получаете универсальные алгоритмы, которые можно использовать при дальнейшей разработке

  • программное формирование меню
  • программное формирование отчета на базе СКД с внешним источником данных для управляемых форм.
  • открытие сайта, почтового клиента, чтение ключей реестра Windows и пр...

P.S.

Если Ваш файл с настройками  вдруг не распознался, Вы можете прислать мне этот файл с указанием релиза платформы кластера 1С, данные которого содержит этот файл, и я постараюсь :) добавить формат файла в обработку.

 

 
 История версий
06.01.2022, релиз 1.1.4
Доработан функционал
  • Добавлены проверки ошибок чтения файлов настроек для возможности продолжать работу в ситуациях, когда файлы по каким-то причинам стали не доступны.
  • Добавлен код для помещения обработки в качестве внешней обработки при наличии БСП.
  • Добавлен вывод новых полей в отчет СКД, в том числе поле ЕстьРазличиевИмениБазы1С_И_СУБД для дополнительной аналитики.
Прочее
 Проведен рефакторинг кода
 
04.10.2021, релиз 1.1.3
Доработан функционал
 Добавлена возможность разбора файла настроек кластера релиза платформы 1С 8.3.18.
 
27.05.2020, релиз 1.1.2
Доработан функционал
 Добавлена возможность указать список серверов для анализа настроек на удаленных компьютерах.
 
Изменен функционал
 Изменено название настроек при закрытии. В связи с чем старые настройки при открытии не будут восстановлены!
 
Прочее
 Проведен рефакторинг кода

 

Полностью история изменений доступна по кнопке "О программе" меню "Информация".

 

кластер 1CV8Clst.lst 1CV8Reg.lst srvinfo настройка кластера анализ менеджер файлов сервер

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

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

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    121599    670    389    

711

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 15300 руб.

06.10.2023    7260    21    6    

39

SALE! 20%

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

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

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

10000 8000 руб.

10.11.2023    3499    11    1    

33

SALE! 30%

PowerTools

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

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

3600 2520 руб.

14.01.2013    177724    1073    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

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

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99338    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

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

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18102    6    8    

39

1С HTML Шаблоны / HTML Templates

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

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28091    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23595    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. tormozit 7136 26.12.15 14:11 Сейчас в теме
Ссылки на ИТС сломанные.
2. zenechka 542 27.12.15 01:36 Сейчас в теме
(1) tormozit, спасибо, исправил
3. BigB 191 27.12.15 20:17 Сейчас в теме
(0) О какая полезная обработка. Как бы она мне пригодилась тогда когда я ползал по 1Совским (и не только) серверам и тырил смотрел у них информацию. Инструмент который у меня тогда был в арсенале позволял сделать, что угодно с данными, но вот эти плюшки мне бы точно пригодились. Сейчас правда этим не занимаюсь.
4. Alias 176 28.12.15 15:38 Сейчас в теме
О да, занимался я тоже таким делом... если кому интересно, вот кусок моей обработки который парсит файл настроек в массив массивов. Может кто-то захочет покопаться там во внутренностях... чтоб велосипед(парсинг) не изобретать.
Прикрепленные файлы:
РазобратьНастройкуКластера.epf
maikl007; BigB; soulner; dmitriy1691; Danil.Potapov; 149; ediks; Virsy; KazanKokos; frkbvfnjh; +10 Ответить
25. frkbvfnjh 785 01.11.18 10:16 Сейчас в теме
(4) Спасибо, что не пожадничали! Блин что у них там за больные форматы файлов, такое впечатление, что для каждого файла свой формат. Почему не использовать JSON, XML, или внутренний формат используемый для сериализации.
5. zekrus 151 30.12.15 14:33 Сейчас в теме
УТ 11.0.9.8 платформа 8.3.4.408 выдает ошибку:
{Форма.Форма.Форма(69)}: Ошибка при вызове метода контекста (ОткрытьФорму)
ОткрытьФорму("ВнешняяОбработка.АдминистрированиеНастроекКластера.Форма.ФормаСКД", СтруктураПараметров);
по причине:
Ошибка инициализации модуля: Форма.ФормаСКД.Форма
по причине:
{Форма.ФормаСКД.Форма(187,51)}: Переменная не определена (ЭтотОбъект)
Возврат ХранилищеВариантовОтчетов.ПолучитьСписок(<<?>>ЭтотОбъект.ИмяФормы, ИмяПользователя());
8. zenechka 542 30.12.15 21:02 Сейчас в теме
(5) zekrus, спасибо, что нашли и прислали ошибку :)
Конфигурация не важна, у Вас скорей всего стоит режим совместимости с 8.2, а ЭтотОбъект для управляемых форм стал доступен в 8.3.3.
Я обновил обработку, чтобы можно было запускать и в Вашем случае. Вроде как Вы можете скачивать ее несколько раз, я уточню, если нет - вышлю измененную версию.
14. zekrus 151 03.01.16 14:40 Сейчас в теме
6. borrman 30.12.15 15:31 Сейчас в теме
> теперь есть возможность запускать консоли разных версий
Как? Как это делать??
9. zenechka 542 30.12.15 21:12 Сейчас в теме
(6) borrman, речь о том, что обработка парсит файлы от разных версий и показывает их в едином списке.
7. PVG_73 17 30.12.15 16:32 Сейчас в теме
Жека, класс! Чуть позжее даже помучаю..... ;-)
10. gigapevt 25 31.12.15 08:31 Сейчас в теме
С виндовыми всё ясно, а как же "Linux" сервера? качать файлы на локальный комп через консоль? создавать самба-шары (да и смысл)? а если доступа на сервер нету? напрягательно как-то. Или чего-то я недопонимаю. А так идея не плоха, поставлю "+".
11. zenechka 542 31.12.15 09:23 Сейчас в теме
(10) gigapevt, писал изначально "для себя" и даже не задумывался в этом направлении.....надо будет заюзать..спасибо за наводку :)
13. zenechka 542 31.12.15 10:36 Сейчас в теме
(10) gigapevt,
а с такими темпами скоро и для яблочной продукции надо будет рассматривать варианты ... https://www.iphones.ru/iNotes/518998

А по поводу линукса ....думаю что найтифайлы оно и на линуксе найтифайлы, нужно только пути соответствующие прописать и должно взлететь...
12. пользователь 31.12.15 10:32
Сообщение было скрыто модератором.
...
15. zenechka 542 12.01.16 17:19 Сейчас в теме
Исправил ошибку в отчете.
Тем, кто скачал обработку, готов выслать ее новую версию на почту.
Пишите в личку свою почту.
16. due 385 30.01.17 17:03 Сейчас в теме
Добрый день, Евгений!

Обработка ругается на неизвестный формат файла. Платформа 8.3.9.2033.
Прикрепленные файлы:
17. zenechka 542 30.01.17 22:13 Сейчас в теме
(16) Судя по пути, по крайней мере один кластер сервера 1С 8.2. Есть возможность прислать в личку эти 2 файла?
19. due 385 31.01.17 10:03 Сейчас в теме
(17) на сервере две платформы 8.3:
- 8.3.6.2390
- 8.3.9.2033
возможно это и сбивает с толку вашу обработку. Соответственно отдельный каталог кластера (ключ агента "-d<...>".

Посмотрел код обработки т.к. у вас пути прописаны напрямую, придется дописывать свой блок.
20. zenechka 542 31.01.17 11:25 Сейчас в теме
(19)

возможно это и сбивает с толку вашу обработку.

обработка пытается распарсить файлы по разным шаблонам. Привязки к конкретным версиям нет (форматы не всегда меняются с новой версией платформы).
Такая ошибка может появиться, когда ни один шаблон не подошел (изменился формат файла), либо, когда файл не содержит настроек (как на скрине выше).

Если файлы лежат в другом каталоге, обработка их просто не увидит и ошибки не будет. Такие файлы можно добавить вручную (кнопка "Выбрать файл настройки")

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


Указаны следующие пути:
C:\Program Files\1cv8\srvinfo
C:\Program Files\1cv82\srvinfo
C:\Program Files (x86)\1cv8\srvinfo
C:\Program Files (x86)\1cv82\srvinfo

плюс анализируются соответствующие ключи реестра (для 1cv82\srvinfo, 1cv8\srvinfo):
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion­\ProgramFilesDir (x86)*
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion­\ProgramW6432Dir*

А где у Вас хранятся файлы?

придется дописывать свой блок

Так вроде файлы нашлись, только не смогли прочитаться? Нет?
21. due 385 31.01.17 11:55 Сейчас в теме
(20) дополнительный агент запускается с ключом -d "D:\1cv8\srvinfo[DEBUG]".
Хотя в принципе каталог может быть использован любой, и на другом диски в том числе.
Думаю, надо добавить парсинг реестра по сервисам. Как вариант из строки запуска агента получать путь к каталогам хранения служебных данных кластера.
22. zenechka 542 31.01.17 12:29 Сейчас в теме
(21) понял задачу, надо подумать.

Спасибо, Сергей, за информацию.
26. i_lo 214 26.07.19 17:22 Сейчас в теме
(22) Добрый день! Ключ "-d" часто встречается. Только как получить строку запуска агента сервера, если он запущен из под учетки без привилегированных прав и доступа к "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services" нет?
18. zenechka 542 31.01.17 09:20 Сейчас в теме
(16) еще, как вариант, в указанных кластерах нет информации по настройкам (см вложение).
Прикрепленные файлы:
23. due 385 01.02.17 14:48 Сейчас в теме
Мне было интересно посмотреть использование регулярных выражений - поиска и осуществления манипуляций с подстроками в тексте, нестандартное решение.
24. zenechka 542 01.02.17 16:08 Сейчас в теме
(23) Скоро (все надеюсь на это :) ) выложу свою обновленную консоль запросов. Там тоже используется regexp для автоподстановки при написании запроса.
Можно так же поучаствовать в ее тестировании для ускорения процесса :) Для этого нужно зарегистрироваться здесь.
27. freshnoon 23.01.20 08:42 Сейчас в теме
Добрый день! Где вы нашли формат регистрационного файла, а конкретно, что за что отвечает? В платформе 8.3.16.1063 он уже другой.
Прикрепленные файлы:
28. zenechka 542 23.01.20 18:57 Сейчас в теме
(27) День добрый, опытным путем. Формат был актуален на момент последнего обновления. Ознакомлюсь с новым форматом и обновлю. Спасибо.
29. freshnoon 24.01.20 09:28 Сейчас в теме
(28) Могу подсказать немного.

шаблонВторойСтрокиФрагмента = "{[0-9]+,[0-9]+,[0-9]+,""[^,\n]*"",""[^,\n]*"",""[^,\n]*"",?[0-9]*?},[0-9]+,[0-9]+,""[^,\n]*"",[0-9]+,""[^,\n]*"",""[^,\n]*"",[0-9]+,?[0-9]*?}(\n|,)";

2 настройки возможных добавилось. Последняя - это галочка "Резервирование рабочих процессов". А первую я не вычислил, оставил как неизвестную настройку.
Прикрепленные файлы:
30. zenechka 542 24.01.20 09:44 Сейчас в теме
(29) спасибо, учту при доработке
31. pavel_prostokishin 29.01.20 17:05 Сейчас в теме
Добрый день!
Спасибо за обработку!

При нажатии кнопки "Выбрать файл настройки" получаю ошибку :(

Использование синхронных методов на клиенте запрещено!
{ВнешняяОбработка.АдминистрированиеНастроекКластера.Форма.Форма.Форма(1132)}: Если НЕ ДиалогВыбораФайла.Выбрать() Тогда

по причине:
Использование синхронных методов на клиенте запрещено!


Платформа 8.3.15.1700
32. zenechka 542 30.01.20 00:31 Сейчас в теме
(31) День добрый. Спасибо за отзыв. В ограничениях к обработке я указал про использование синхронных вызовов.

Возможно я вернусь к доработке в ближайшее время и перепишу диалоги на асинхронные вызовы. Но если у Вас есть возможность изменить режим использования, то это решит Вашу проблему сейчас. Подробней можете посмотреть здесь
33. dark_avenger 12.03.20 12:13 Сейчас в теме
Регулярное выражение не отрабатывает строки с переносом каретки. Можете подсказать, как его исправить?
Пример настройки, которая не отрабатывается регуляркой:

{07c61d01-b4a8-44d3-93d2-c768571e4baf,"NSI","НСИ","MSSQLServer","SQL","NSI","","111","DB=NSI;DBMS=MSSQLServer;DBSrvr=MSK-SQL;DBUID=;Descr=""НСИ"";LicDstr=Y;Locale=ru_RU;Ref=NSI;SLev=0;SQLYOffs=2000;Srvr=MSK-APP15",0,
{0,20200129185000,20200129193000,"Программа заблокирована для выполнения технических работ.

","pass",""},0,1,"",0,"","",23080035},
34. zenechka 542 12.03.20 14:17 Сейчас в теме
(33) Антон, напишите в личку почту, я вышлю изменения под Ваш случай.
Я проаналзирую другие случаи и выложу изменения с учтом выявленных нюансов.
Сразу скажу, что если в полях используется символ "," (запятая), то так же будет ошибка разбора.
dark_avenger; +1 Ответить
35. user1424404 04.10.21 13:32 Сейчас в теме
Скачал вашу обработку - не работает, пишет
Ошибка разбора по шаблону[81]. Не разобраны параметры кластера.
Неизвестный формат файла C:\Program Files\1cv8\srvinfo2\reg_1741_0\1CV8Clst.lst:

версия платформы 1С:Предприятие 8.3 (8.3.18.1363)
Прикрепленные файлы:
36. zenechka 542 04.10.21 14:39 Сейчас в теме
(35) можете прислать в личку файл, который не разобрался?
37. xdivers22 14.12.21 10:44 Сейчас в теме
Добрый день.


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

Техническая информация:
Метод объекта не обнаружен (СведенияОВнешнейОбработке)
1С:Предприятие 8.3 (8.3.18.1698)
38. zenechka 542 14.12.21 13:13 Сейчас в теме
(37) День добрый, Александр.
Не добавлял код для подлючения в качестве внешней обработки. В ближайшее время добавлю и выложу обновление.
39. zenechka 542 06.01.22 10:30 Сейчас в теме
(38) Обновил обработку. Добавлен новый функционал(см. описание изменений), в том числе добавлена возможность подключения в качестве внешней обработки.
40. user1734092 23.12.22 18:06 Сейчас в теме
Доброго времени суток.
Скажите, а возможность редактирования параметров ИБ и соответственно генерации изменённого 1CV8Clst.lst планируется?
41. zenechka 542 25.12.22 11:13 Сейчас в теме
(40) День добрый. На текущий момент таких планов нет (хотя изначально были такие мысли).
42. tpkpsd 24.07.23 13:46 Сейчас в теме
Формат опять поменялся, видимо, ругань на нераспознанность и неразобранность. Червонец псу под хвост :(
43. zenechka 542 24.07.23 14:33 Сейчас в теме
(42) Пришлите в личку файл, который не прочитался и релиз платформы, я посмотрю
Оставьте свое сообщение