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

Публикация № 439795

Администрирование - Администрирование данных 1С - Сервисные утилиты

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

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

 

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

Решаете вы и эту проблему. И теперь есть возможность запускать консоли разных версий и видеть соответствующие списки баз. Можно выдохнуть и открыть-таки настройки требуемой базы, чтобы понять в какой же базе 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С, данные которого содержит этот файл, и я постараюсь :) добавить формат файла в обработку.

 

 
 История версий

 

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

Наименование Файл Версия Размер
Анализ настроек кластеров 1С

.epf 68,85Kb
30.06.20
59
.epf 68,85Kb 59 Скачать

Специальные предложения

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

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

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

Посмотрел код обработки т.к. у вас пути прописаны напрямую, придется дописывать свой блок.
20. zenechka 480 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 369 31.01.17 11:55 Сейчас в теме
(20) дополнительный агент запускается с ключом -d "D:\1cv8\srvinfo[DEBUG]".
Хотя в принципе каталог может быть использован любой, и на другом диски в том числе.
Думаю, надо добавить парсинг реестра по сервисам. Как вариант из строки запуска агента получать путь к каталогам хранения служебных данных кластера.
22. zenechka 480 31.01.17 12:29 Сейчас в теме
(21) понял задачу, надо подумать.

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

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

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

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


Платформа 8.3.15.1700
32. zenechka 480 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 480 12.03.20 14:17 Сейчас в теме
(33) Антон, напишите в личку почту, я вышлю изменения под Ваш случай.
Я проаналзирую другие случаи и выложу изменения с учтом выявленных нюансов.
Сразу скажу, что если в полях используется символ "," (запятая), то так же будет ошибка разбора.
dark_avenger; +1 Ответить
Оставьте свое сообщение

См. также

Публикаций не найдено

Попробуйте расширить область поиска, проверьте поисковый запрос и повторите попытку.

Или закажите индивидуальную разработку вашего решения.

Создать заказ на разработку