Polyplastic / 1c-parsing-tech-log

Мониторинг производительности серверов под задачи бизнеса на 1С Enterprise
264 stars 96 forks source link

Запуск "Анализ ТЖ" для linux версии сервера 1с с СУБД postgres #34

Closed LetArch closed 12 months ago

LetArch commented 4 years ago

Установил вашу конфу и не могу читать журналы с 1с сервера на linux :((( "COM-объекты поддерживаются только в операционных системах Windows" Это очень печально, так как уже три дня потратил на установку\отладку edt и загрузку вашей конфы. Хотелось бы довести начатое до видимого полезного результата. Вот эта ошибка в ТЖ. 13:16.761001-0,EXCP,3,process=rphost,p:processName=logparsing,OSThread=832,t:clientID=476,t:applicationName=BackgroundJob,t:computerName=МОЙСЕРВЕР,t:connectID=108,Exception=9db1fa37-b455-4f3f-b8dd-7de0ea7d6da3,Descr="./src/DataSeparationService.cpp(4610): 9db1fa37-b455-4f3f-b8dd-7de0ea7d6da3: Файл не обнаружен 'v8srvr://МОЙСЕРВЕР/logparsing/Files/SprScndInfo': ./src/FolderFilesImpl.cpp(343): 9db1fa37-b455-4f3f-b8dd-7de0ea7d6da3: Файл не обнаружен 'logparsing/Files/SprScndInfo': ./src/FileHostImpl.cpp(1186)"

13:16.883000-0,EXCP,3,process=rphost,p:processName=logparsing,OSThread=832,t:clientID=476,t:applicationName=BackgroundJob,t:computerName=МОЙСЕРВЕР,t:connectID=108,SessionID=1,Usr=DefUser,Exception=8d366056-4d5a-4d88-a207-0ae535b7d28e,Descr='./src/ServerJobExecutor.cpp(1024): 8d366056-4d5a-4d88-a207-0ae535b7d28e: {ОбщийМодуль.ОбновлениеДанных.Модуль(68)}: Ошибка при вызове конструктора (COMОбъект) 2e20eda7-414a-4549-ae78-06c19979ce2d: COM-объекты поддерживается только в операционных системах Windows'

ivanov660 commented 4 years ago

Работа конфигурации в рамках разбора логов 1С ТЖ под линукс не поддерживается. Используйте ОС windows для этих целей. Может быть найдутся энтузиасты, которые доработают механизм с поддержкой linux и/или macOS.

ivanov660 commented 4 years ago

Посмотрел можно использовать компоненту https://github.com/alexkmbk/RegEx1CAddin. А вообще не понятно почему 1Сники никак не создадут свой RegEx

LevkinSergey commented 2 years ago

Для компоненты https://github.com/alexkmbk/RegEx1CAddin есть программная обертка https://github.com/cpr1c/RegEx1C_cfe

ivanov660 commented 2 years ago

Спасибо, посмотрим

nik-weter commented 1 year ago

Может я что-то не то делаю? Запускаю на виндовс, все равно получаю ошибку - "COM-объекты поддерживаются только в операционных системах Windows"

ivanov660 commented 1 year ago

Возможно что-то не то, может не быть прав, может быть не установлены необходимые компоненты в ОС. Покажите развернутое сообщение об ошибке (точка возникновения).

nik-weter commented 1 year ago

Я понял - сервер тоже должен быть под виндовс. У нас под линукс, я на виндовс только клиента запустил. В общем, не судьба воспользоваться этим инструментом.

ivanov660 commented 1 year ago

Обработка идет на сервере. Если интересует этот функционал чтение ТЖ, надо ждать пока кто-нибудь не реализует обработку на внешней компоненте или внесет в код.

GenVP commented 1 year ago

Добавил в своем форке 2.0.9.9 поддержку регулярок в linux (через внешнююд компоненту https://github.com/alexkmbk/RegEx1CAddin или в 8.3.23 платформой). Можно попробовать.

ivanov660 commented 1 year ago

Отлично. Посмотрим и интегрируем.

phant commented 1 year ago

@ivanov660 офтоп: Плагин "Монитор RAS 1C" также не дружит с линуксом, а ищет "rac.exe" на сервере.

Было бы замечательно чтобы в readme.md видеть:

загружать данные технологического журнала 1С (только windows) загружать данные из сервиса 1С RAS (только windows) что-то еще (windows/linux)

ivanov660 commented 1 year ago

В будущем кумулятивном апдейте добавим информацию.

phant commented 1 year ago

@GenVP на 8.3.23.1739 сбор замеров работает около 12 часов, потом "события замеров" перестают заполняться, при этом регламентное задание выполняется обычное количество времени (как буд-то чтото делается), помогает полный рестарт виртуалки.

на 8.3.22.2106 все работает идеально, но возник нюанс с парсингом большого файла (3 гига), в котором была одна запись

07:45.192006-541113992,SDBL,3,process=rphost,p:processName=comm,OSThread=7596,t:clientID=11675,t:applicationName=BackgroundJob,t:computerName=1c,t:connectID=179971,SessionID=3045946,Usr=М.Ю.М.,DBMS=DBMSSQL,DataBase=sql\comm,Trans=0,Func=insertRecords,tableName=#T59340acd2e464a63997afff5d89c21d3,Sdbl=' INSERT #T59340acd2e464a63997afff5d89c21d3 VALUES() ',Rows=31387509

В скобках у VALUES() были значения 31 миллиона строк. Сервер, на котором крутится 1с с анализом тж, съел 25 гигов оперативки, но не справился. Пришлось очистить содержимое в скобках у VALUES(), чтобы прожевалось.

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

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

GenVP commented 1 year ago

@phant Пример:

Загрузка занимает 8-9 минут на 8.3.23 (регулярки платформы) и 10 минут на 8.3.21 (регулярки компоненты). Из них 50% времени - Справочники.СобытияЗамера.ЗаписатьСобытие(СтруктураЗаписи); Если бы длина строки увеличилась до 10 Мб, скорость анализа строки (компонентой на 8.3.21) увеличивается с 0,00006 с на строку до 0,0554 с на строку. Так, что да, для больших строк будет тормозить, если не ограничивать.

Можно ограничить длину записываемой строки для свойства (через нормализацию его значения), но анализ строк это не ускорит, а только их запись в базу. 2023-07-13 16_04_38-Sql (Свойство)

ivanov660 commented 12 months ago

Вышел новый релиз с поддержкой парсинга под linux. Спасибо коллеги.