Какой профит?
- Простая установка и настройка — за 15 минут рабочее решение для "неограниченного" количества баз
- Ничего лишнего и никакой "магии" — используются возможности платформы
- Дружественный интерфейс — только то что нужно
- Информация в реальном времени — ошибки конфигурации, блокировки, длительные запросы и др.
- Бесплатно — проект с открытым исходным кодом на GitHub
Структура статьи:
В первой части статьи мы приводим список и описание из 5 шагов для самостоятельного выполнения процедуры. Если же Вам лень читать и Вы любите смотреть и слушать, то можно перейти к видео-уроку и посмотреть небольшой 5 минутный ролик по выполнению необходимой последовательности действий и повторить при необходимости.
Проект 1с-parsing-tech-log является open source. Уже более года мы активно и продуктивно используем данную систему в облаке для мониторинга наших приложений.
1. Установим
Рассматриваются два варианта:
- Подключаемся к проекту через EDT, закачиваем конфигурацию с репозитория и разворачиваем базу.
(github.com/Polyplastic/1c-parsing-tech-log) - Для тех кто по каким-то причинам не хочет использовать EDT скачиваем скомпилированную конфигурацию и разворачиваем через привычный конфигуратор.
(Решение проблемы быстродействия в ERP на рабочем примере)
Совет. Боевую базу мониторинга лучше всего развернуть на отдельном сервере, по крайней мере на отдельном кластере.
2. Определим цели и задачи
Что мы будем мониторить? Проблемные ситуации влияющие в целом на производительность и работоспособность базы:
- блокировки,
- долгие запросы более 60с,
- ошибки.
Вы можете использовать эти или добавить/выработать другие критерии. Ситуации, которые описаны говорят сами за себя и расшифровывать их не будем.
Зачем будем мониторить? Для возможности проведения анализа проблемных ситуаций возникающих при работе базы и последующему их исправлению. Ознакомлен — значит вооружен.
3. Настроим технологический журнал (ТЖ) для 1С
Давайте настроим конфигурационный файл для технологического журнала всех указанных случаев. Эту операцию настроим вручную с использованием Notepad++. Однако вы всегда можете воспользоваться специальной обработкой с ИТС для настройки этого файла.
Каждую проблемную ситуацию будем выгружать в отдельный каталог и обрамляется она тегом "log" (примерный исходный код файла приведен ниже). Эти каталоги должны быть видны с сервера где развернута наша конфигурация — можно сделать общий каталог.
Созданный файл "logcfg.xml" копируем в папку с установленным предприятием 1С боевого сервера (обычно куда-то по похожему пути: "c:Program Files1cv88.3.12.1855inconf").
Пример файла "logcfg.xml":
Совет. Обязательно ставьте фильтры для настроек технологического журнала. Никогда не сохраняйте всё подряд. Для рассматриваемого примера нам важны только проблемные ситуации, а не весь стек всех возможных событий.
4. Настроим базу мониторинга
Теперь перейдем к настройке самой базы мониторинга. Наши логи уже начали формироваться, т.ч. продолжим.
- Создаем в справочнике "Замеры" три замера с наименованиями по ситуациям: блокировки, долгие запросы и ошибки;
- Указываем путь к соответствующим каталогам;
- Ставим флаг "загружать в реальном времени" — означает, что данные будут подгружаться автоматически регламентным заданием;
- Ставим флаг "загружать автоматически" и указываем интервал загрузки 5-10 минут — будет загружаться по регламентному заданию;
- Детализируем расписание загрузки лога.
После создания замеров с указанными параметрами загрузка логов технологического журнала будет выполняться автоматически (по регламентному заданию для каждого замера).
Совет. Вы можете для каждого замера указать фильтры загрузки данных из логов, чтобы ограничить количество и качество поступаемой информации (дополнительно к настройкам logcfg.xml). К примеру, игнорировать события не подлежащие анализу — обрывы соединений и т.п.
5. Запустим и проверим
Фактически все необходимые операции мы выполнили и теперь можно проверить что получилось.
Для анализа ситуации у нас имеются следующие обработки:
1. Журнал событий замеров. Позволяет просматривать список событий в временной последовательности с отборами и сортировками.
2. Рабочее место по изменению количества событий. Позволяет сравнить изменение количества событий на временной относительной оси по двум временным окнам, к примеру, сравнить среду и вторник текущей недели или разных.
Совет. Для изменения состава отображаемых колонок (добавить новые поля через ссылку, которых нет изначально) в динамическом списке пользуйтесь возможностью "изменить форму" через "еще".
Видео-урок.
В этом видео-уроке мы с вами установим конфигурацию "Анализ ТЖ", проведем необходимые настройки и посмотрим результаты на примере искусственных ситуаций.
Дополнительно.
Подключиться к проекту или его скачать вы можете с git-hub репозитория polyplastic 1c-parsing-tech-log.
Если хотите посмотреть в действии и вам "лень" ставить/компилировать EDT, то можете воспользоваться ссылкой для скачивания присоединенного файла конфигурации из статьи Решение проблемы быстродействия в ERP на рабочем примере. Также в этой статье приводится методика пример выполнения задачи оптимизации проблемного участка для базы 1С.
Есть ли аналоги? К аналогам в какой-то мере можно отнести: Notepad++ и другие механизмы полу-ручного анализа; ЦУП от 1С из Корпоративного инструментального пакета.
Исправления и анализ проблемных ситуаций.
Проблемы исправляются в зависимости от проведения анализа и дальнейшей классификации. К примеру, выявленные ошибки можно классифицировать по следующим уровням:
- ошибки разработчика — ошибки вызванные результатом деятельности разработчиков. Локализуются, формируются задачи на исправления через систему баг трекинга и исправляются последующими релизами;
- ошибки системные — ошибки вызванные проблемами окружения: доступ, отсутствие сети, проблемы внешних ресурсов, недостаток места на диске или выделенной памяти и др. Локализуются и в зависимости от возможности исправления формируются задачи на их устранение.
Наличие "долгих" запросов сообщает о проблемах в производительности базы данных. Для их анализа и наличия можно воспользоваться журналом "свойства замеров" с сортировкой по длительности и фильтром за сегодня. Их можно классифицировать
- проблемы rls — вызваны сложными ограничениями и/или не верным назначением прав доступа;
- проблемы запроса — не правильный запрос, который стоит оптимизировать;
- проблемы производительности — проседание мощности в часы пик или по другим подобными причинам.
Наличие конфликта блокировок говорит об наличии определенных ситуациях в базе приводящих к отказам в действиях пользователей. Их рост во временном интервале может свидетельствовать о грядущих проблемах, который может быть связан с ростом пользователей, проблемами архитектуры и требует незамедлительных мероприятий по устранению. Провести анализ ситуации во времени можно с помощью рабочего места "анализ".
Есть отличный инструмент «Анализ технологического журнала» вИнструментах разработчика
(0) используется только технологический журнал?
Просто ведь без магии иногда не обойтись, потому что ни план запроса через ТЖ без последствий нормально не получить, ни причины замедления запроса и др.
За труды спасибо, плюс поставил.
(2)
1. Проект развивается. На текущий момент доступен такой функционал.
2. В вашем случае мы используем дополнительно другие инструменты и методики для поиска сопоставления запроса с точкой в конфигурации (когда не понятно).
(3) спасибо за инструмент еще раз.
Попробую на досуге.
(1) есть — cat, grep, sed и awk + Мозги
(1) Точнее «Анализ техножурнала»
(5)
линуксоид штоле?
А есть ли возможность сделать внутри аналитической базы фильтра(отбора/группировки) по Иинформационной базе/Серверу1С/СерверуSQL/Пользователю т.е. архитектура конфигурации подразумевает что под каждую ИБ/Сервер нужно заводить отдельную ИБ анализа ТехЖурнала и уже в каждой настраивать общий доп фильтр по ИБ/Серверу или я что-то не так понял?
Жалко нет скриншота с возможными настройками, непосредственно связанными с анализом разобранного тех журнала
И ещё резонный вопрос — как это всё хранится — скажем, если тех журнал весить в тексте 1Gb то сколько он будет весить в такой аналитической базе (с учётом того, что всё что есть в тех журнале — загружается в базу).
Понятно, что объёмами тех журнала в 1Gb даже в день никого не удивишь и не шокируешь — но в больших базах, в час, тех журналы, ежедневно, бывают и по 10Gb на сервер/ИБ, а уж в периоды сдачи отчётности или под НГ могут быть и по 100Gb в час — даже если в них писать только самое важное — итого — у крупных организаций с кучей баз это будут, в пике, уже десятки терабайт в сутки! Даже если хранить это всё не более суток, как с этим объёмом справится данная аналитическая база? Компактность хранения, фильтрации, и насколько эффективно идёт разбор таких больших логов?
Да и, смотрю, нет никакой защиты от чрезмерного роста объёма данных — а желательно бы — на кризисный случай: т.е. хотя бы ограничить не только сроком хранения, а, скажем, числом записей тоже (причём, хорошо иметь не только общий максимум, но и отдельно — по каждой ИБ).
(8)
1. Удаление старых событий или «нет никакой защиты от чрезмерного роста»:
— Есть константа «УдалятьУстаревшиеСобытия» и регламентное задание «УдалениеУстаревшихСобытий».
— Для замеров есть параметр Глубина Хранения — при условии не равном «0» данные будут очищаться.
2. «..журнал весить в тексте 1Gb..» — ставьте фильтры на собираемые данные. Для действительно полезных данных объемы значительно меньше!
3. В журнал событий замеров можно вывести информацию о всех доступных свойствах лога в сообщении:
p:processName — имя базы.
t:computerName — имя компьютера,
t:applicationName,
#Пользователь,
#Описание
и другие смотрите описание о назначении для формата лога технологического журнала
(Как добавить колонки я писал в статье и показал в видео).
Далее создаете отборы в динамическом списке по полям и получаете необходимые отборы.
Таже мы рекомендуем ставить отбор на форме журнала «Дата события больше Начало этого дня».
Замер для каждого сервера отдельно, у вас не получится писать в одну папку на диске разным серверами 1С.
Базу для каждого сервера не обязательно создавать — вы создаете замер под каждый каталог, к примеру, «замер для сервера1 по ошибкам», «замер для сервера 2 по блокировкам», «замер для сервера 3 только для базы ERP по длительным запросам» и т.п.
4. Если у вас возникнут идеи по «фитчам», то пишите в issues, а еще лучше подключайтесь)
К примеру, можно добавить справочник сервер и сделать его реквизитом замера.
5. Анализ разобранного журнала это отдельная сложная задача и не входит в рамки этой промо-статьи. Для разных ситуаций оптимальны разные наборы колонок и отборов. В дальнейшем приведем еще некоторые примеры использования — все зависит от востребованности данного инструмента коллегами.
(7)
Можно и powershell-ом, чего греха таить _)
Насколько я помню в виндовс нт была возможность ограничить размер папки. Вероятно, если включается технологический журнал, администратор может добавить такое ограничение.
(9)
Это прекрасно! Ставьте фильтры, готовьте данные вручную. Да на какой хрен тогда нужна эта утилита. Я таким же образом могу тех журнал в CSV перегнать и фильтры в Excel ставить
(12)Не нужна не пользуйтесь)
(11) В свойствах logcfg.xml есть свойство для сохраняемого лога history=»число». По этим настройкам 1С удаляет устаревшие файлы самостоятельно, поэтому при более или менее стандартной ситуации прыгать размер папки с логами по объему не должны.
(12) зачем так грубо…. инструмент не космический корабль конечно, но пользоваться можно)
Хоть я и предпочитаю на проде другие подходы.
(15)Я ответил вполне тактично и мягко на провокационное замечание коллеги
Разверну немного ответ почему необходимо ставить фильтры и зачем:
Входная информация
1. Сама 1С говорит никогда не сохраняйте все подряд. Это много лишней и ненужной информации.
2. Человек не может обработать психологически, а иногда физически большие объемы. И через какое-то время просто перестается проводится обработка.
3. Мы когда мониторим проблемы (согласно статьи) выбираем какие-то определенные ситуации, которые по объему данных должны быть минимальны. В идеале событий должно быть 0.
Согласитесь, ошибок должно быть 0, блокировок должно быть 0, долгих запросов должно быть 0.
И как только появляются отклонения начинаем анализировать и искать пути решения. А после применения решения ситуация опять должна вернуться к 0.
Если же все время висит проблема, которую мы не можем исправить или она нам не критична (ошибки коннектов и т.п.), то мы ее исключаем через настройку тж или фильтры замеров. Можно выделить при необходимости в отдельный фоновый замер — типа шум.
В результате. Проводить определенные настройки необходимо, т.к. от конкретной ситуации зависит многое (решение из коробки нужно допилить) — это думаю ясно.
В случае использования нашего инструмента нет необходимости использования сторонних решений, нет лишних преобразований, манипуляций, необходимости вызывать шамана знающего перл и RegExp. Тут нет никакой готовки данных вручную.
Проведение настроек, если есть понятие что делать занимает очень мало времени и выполняется практически разово в данном контексте.
Насколько знаю, Duration с 8.3.какой-то измеряется в микросекундах, 60000 — это 0.6 секунд, а не 60. Плюс с таким примером очень легко пропустить запросы, которые выполняются часто, но быстро, и могут давать львиную долю нагрузки.
Ошибки — штука полезная, но любое исключение, которое обрабатывается в попытке, будет валиться в журнал.
Еще бы неплохо мониторить вызовы — память, длительность. И ожидания на получение блокировки — TLOCK. Конфликт блокировок отлавливается в том же TLOCK, TTIMEOUT и TDEADLOCK, а не в исключениях.
Поверхностно, очень поверхностно…
(17)
1. Да, вы почти правы делить надо на 10 000, т.е. поправить надо на 600 000.
2. В текущем варианте система не предлагает полноценной замены Тест Центра, но даже текущих возможностей достаточно, чтобы получить определенного минимума информации, особенно актуально у кого нет ничего и для них ТЦ — это космос.
3. Для получения информации по вопросам про нагрузку и другие параметры системы у нас стоит Zabbix.
(16) я как-раз коллеге w.r. и говорил 🙂
(18)
https://its.1c.ru/db/metod8dev#content:5809:hdoc . Кстати, тут же написано, что надо писать Durationus
1. Я полностью прав, микросекунд, 6 нулей плюсом. Пруф —
2. Тест центр применяется для нагрузочного теста, а не мониторинга. Наверное имелся ввиду ЦУП. При этом на двух сдачах на эксперта ни разу не получилось его настроить, и по ощущениям особо он бы не помог.
3. Говоря про память, я имел ввиду Memory и MemoryPeak в CALL. Но в этом предложении важнее суммарная длительность. Сталкивался с огромным отчетом в 400 Гб базе, 30 секунд выполнялся запрос на СУБД, 10-15 минут длился вывод на экран на стороне сервера. При этом улетает память, нагрузка на процессор.
(16) вот на счёт 0 не соглашусь. Ошибки есть некритические, главное чтобы они не были связаны с данными. Блокировки и долгие запросы — если это какой-нибудь отчёт, который запускает пользователь раз в месяц на ночь, тогда по сути ничего страшного. Включать ради этого тех журнал, увеличивая нагрузку на сервер. Настраивать журнал. Потом разбираться, например, с вашей утилитой. Анализировать планы запросов и искать пути оптимизации…Овчинка выделки не стоит, имхо
(7) эти команды можно и на винде выполнить. И не всегда красивые графические кнопочки и таблички — значит гибко, быстро и эфективно
(1) анализ отГруппы Гилева — анализ Тех.Журнала,
а так же Анализы: Длительных запросов, Блокировок, Взаимо-блокировок
всё там есть… и давно
(0)
Поправьте logcfg.xml в статье. Во-первых он у меня не «взлетел», копировал из вашей публикации. Не знаю с чем это связано (может комментарии, может какие спец. символы в xml), но я настроил его по аналогии с нуля. Во вторых Вы указывается длительность запроса «60000», а это 6 секунд, а не 60. Надо добавить еще один ноль справа.
Кто мне скажет, есть ли обратная операция для Like в logcfg.xml, хочу сделать «Not Like», некоторые события в ТЖ нормальные, но их слишком много и они мне не нужны?
(24)
Мониторинг на серверах Durationus=»20000000″ это 20 секунд.
1. Поправил. Duration (в 10 000 долях секунды) использовалось до версии 8.3, но работает и видимо оставлено для совместимости. Изменил на рекомендуемое значение Durationus и значения в миллионных долях секунды. Пример:
2. Не забывайте, что формат файла «logcfg.xml» нужно ставить в utf-8. Также если при вставке добавятся «левые» символы, то соответственно работать не будет.
3. Фильтр на исключения можно добавить на вкладке «Фильтры» замера в поле «Исключить» (по правилам RegExp). Пример:
. Исключит встречающиеся записи с информацией служебным по проблемам связанным с переустановкой сеансов.
(21)Включенный журнал с хорошими фильтрами не создает ощутимой нагрузки (сама 1с говорит об этом и рекомендует его включатьмониторинг производительности ).
блокировки могут вам положить базу 3 апреля и до конца месяца вы не досидите — куй железо пока горячо.
Минимальные телодвижения и расход мозготоплива придется совершать и расходовать в любом случае.
Однако, если у вас нет необходимости в оценке и отслеживании как дела там у меня на проде и ждем когда гром грянет, это ваш выбор.
(25) Тут написано
У Вас работает ТЖ с русскими комментариями?
(26) лично я считаю, что чем меньше дополнительных вмешательств в систему — тем надежнее система. Найти и устранить большинство проблем можно не применяя костылей
(28) это не вмешательство, это контроль. Контроль должен быть всегда. С таким же успехом и тахометр в машине можно вмешательством в систему назвать.
У вас проект рабочий? ошибки вылезают при обновлении базы, по типу:
Журнал процесса выполнения:
Ссылка на неизвестный метод — CommonModule.ОбновлениеДанныхРегламентное.АвтозагрузкаРегламентное
Ссылка на неизвестный метод — CommonModule.ОбновлениеДанныхРегламентное.УдалениеУстаревшихСобытий
РегламентноеЗадание.Автозагрузка — Имя метода должно быть задано
РегламентноеЗадание.УдалениеУстаревшихСобытий — Имя метода должно быть задано
ФункциональнаяОпция.ИспользоватьПолнотекстовыйПоиск — Не установлено Хранение функциональной опции
(30) Рабочий.
Обратите внимание, проект использует версию платформы 1С 8.3.12
Да у меня установлена 8.3.12.1412
Вопрос снят, разобрался.
Сравнение изменений двух периодов — со второго принтскрина, кому то получилось из ветки мастер загрузить ?
(34) Смотрите веткуДоработки по использованию доп обработок и отчетов
Как только будет доработана и согласована, то задача уйдет в основную ветку мастер.
(35)404 🙁
(12)
(36) Уже залито в основную ветку. Читайте внимательнее:
«Как только будет доработана и согласована, то задача уйдет в основную ветку мастер.»
Доброго дня!
«Формат данных XML EDT версии (0.0.0) проекта ‘parsing-tech-log’ несовместим с текущей версией EDT (1.9.2).
Пожалуйста, сделайте реимпорт проекта из информационной базы».
Это при импорте проекта хоть с локально загруженного, хоть непосредственно с github.
Помогите разобраться, плз.
(36) ветка залита в мастер. все изменения уже доступны в основной ветке, а побочная удалена после слияния.
(38)Не встречалась подобного рода ошибка, могу предположить, что у вас старая версия EDT установите последнюю 1.10.2. В ней при переходе произошло изменение формата проекта и он может быть не совместим со старыми версиями.
для запуска вашей конфигурации нужна именно 8.3.12 платформа? Жаль, что в статье не указали этого на видном месте…
вроде всё получилось, теперь очередной вопрос, ваша разработка не будет работать если сервер 1с на linux, а база postgres? 🙂
(41)Это минимальная совместимость на момент публикации. Сейчас у нас она работает на 8.3.14. Н других версиях не проверял, но должна работать.
(42)Судя по форуму завелась на 8.3.14 )
(43)
1. Будет работать и на линукс, но не весь встроенный функционал.
2. Функционал разбора ТЖ 1С использует COMОбъект(«VBScript.RegExp») и не доступен на linux.
Данную проблему можно обойти если написать дополнительную внешнюю обработку на других компонентах, которая поддерживает linux.
У нас такой потребности нет, если вдруг найдутся энтузиасты и сделают pull request в проект, то велком.
3. Можете использовать другой функционал при необходимости.
P.S. Open Source в русском сегменте тяжело идет, а в 1С вообще со скрипом(
(46) а если вашу базу разместить в файловом режиме на windows хосте, я смогу парсить ТЖ 1с сервера установленного на linux?
(47)
1. Да, сможете. Только учтите некоторые особенности запуска регламентного задания для файловых баз. Тут вариант либо через Windows Task Manager или придется все время держать открытое клиентское приложение.
2. Я так понимаю лишних лицензий на сервер нет, а то можно было вынести запуск регламентных заданий на Windows сервер.
(48) для теста «и так сойдёт» 🙂 Интересует другой момент: разместил ТЖ линукс сервера 1с в расшаренной папке, на windows хосте развернул файловую базу вашей конфы, указал в замерах расшаренную папку. Загрузил… но таблица не заполнилась 🙁 Хотя всплывающее окно бодро написало, что загрузка выполнена
(49)Могу предположить, что не верно выполнили настройки. Обратите внимание на путь к каталогу, должен быть выбран определенный уровень от конечных файлов журнала («c:v8excpdbgs_3540*.*», т.е. указан путь «c:v8excp»).
(50) так и есть, указан /share/1c/excp. В других замерах, соответственно /share/1c/qerr и /share/1c/locks. Файлы ТЖ формируются, записи с ошибками там есть…
(51) Напоминаю, что:
— парсинг ТЖ работает только под ОС windows.
— в настройках для оперативного чтения должен стоять флаг «загрузка в реальном времени» иначе будет загружать только по прошествии часа, когда 1с открывает новый файл для записи, а текущий закрывает (думаю вот тут не установлен).
— руководство пользователя скоро опубликую, уже где-то на 70-80% готов первый вариант.
Что посмотреть через отладку :
1. Проверьте доступ к файлам.
2. Проверьте наличие ошибок в журнале регистрации
3. Могу предложить посмотреть в отладчике по следующему алгоритму:
а) откройте конфигуратор или edt
б) установите точки останова в следующих позициях
— ОбновлениеДанныхРегламентное.АвтозагрузкаРегламентное
— ОбновлениеДанных.РазобратьФайлВСправочник
в) выберите или создайте замер
г) нажмите кнопку «выполнить загрузку»
д) В процедуре «ОбновлениеДанныхРегламентное.АвтозагрузкаРегламентное» у вас должен вернуться массив ФайлыДляЗагрузки
Показать
е) В случае наличия файлов, должна запуститься процедура обработки «РазобратьФайлВСправочник». В ней должны выполниться условия, что чтение не завершено и файл более 3х байт. Далее идет разбор текста.
Автору уже 10 раз написали, что он неверно ТЖ настроил на длительность события, далее он поменял, но все равно с ошибкой)
Не путай длительность при описании события в настройках, и то, как оно в самом логе выглядит)
Ещё раз: в настройках указываются десятитысячные секунды, а самих в логах — миллионные.
(53)https://its.1c.ru/db/metod8dev#content:5809:hdoc (пример настройки длительных запросов).
Duration – длительность события в сотнях микросекунд.
Durationus – длительность события в микросекундах
(52) проблема была в правах на файлы. На директорию был доступ, а к файлам нет. Но за алгоритм поиска проблемы отдельная благодарность 🙂
(55)(52) Но есть проблемка… Логи ТЖ сервер пишет от имени пользователя от которого запущен сам сервер. И если дать права на все ТЕКУЩИЕ файлы в директории ТЖ, то всё работает. Но. Все НОВЫЕ файлы сформированные ТЖ уже не имеют нужных прав :-))) И, соответственно, не читаются вашей конфой. Можно конечно сделать скрипт, копирующий файлы ТЖ в нужную директорию и присваивающий им нужные права. Но хотелось бы более элегантное решение 🙂
(56)Это уже вопросы администрирования в linux, как Вы сами указали.
Могу предложить запускать клиента тж с тем же пользователем, с которым запускается служба 1с.
(54)Не понял вот сейчас с собранными замерами:
Получается операция выполнялась около 4-х суток? 🙂
(58)Прикрепите картинку к посту на форуме. А не где то там.
(58)
(59)вот как параметр длительности указан в ТЖ
(47)
(60) Судя по всему соединение держалось продолжительный период, ничего необычного.
Я вижу что вы не перезагружаете сервера 1С, все же лучшая практика — это принудительная перезагрузка. Настройте за правило перезагрузку раз в сутки в технический промежуток времени.
Скоро подъедет механизм загрузки данных параметров состояния кластеров через ras.
Через нее можно будет мониторить дополнительные данные о параметрах процессов, сеансов и др.
(62) Странно, но каждое утро рестарт сервера происходит примерно по такому алгоритму записанному скриптом в кроне:
# service srv1cv8 stop
# service srv1cv8 start
(63)а вы пповеряете, что действительно все процессы остановились? Мы в скрипте делаем kill, если это не выполняется. А это бывает часто.
А так наверное описание ТЖ надо почитать, чтобы понять что это за сущность.
Всё-таки интересная разработка у вас, спасибо за труды! 🙂
И, как обычно, очередной вопрос. Может ли ваша обработка парсить логи действий пользователя, фиксируемые если в ярлыке запуска 1с указан параметр /logui??
(65) запись интерактивных действий пользователя и их обработка — это на мой взгляд уже другая область задач — тестирование интерфейса и сценарное тестирование.
Написать обработку загрузки данных не проблема, однако не понятно что вы хотите в них почерпнуть?
(66)там также фиксируется время выполнения каждой операции, хотелось бы отслеживать долгие операции с точки зрения пользователя
(67) думаю, что не в ту сторону пошли)
Для мониторинга операций пользователя используйте ТЖ 1С на пользовательском компютере:
1. создайте файл настроек logcfg.xml (с необходимыми настройками)
2. в этом файле пропишите путь к сетевому каталогу видному как от сервера так и от пользователя к примеру: \serverv8logПользователь1
3. скопируйте в conf каталог (подобно «c:Program Files1cv8conf»)
3. при запуске 1Ски в этот каталог будут писаться данные действий на клиенте.