Технологический журнал 1С v8.1 для ленивых



Статья о ключах защиты http://infostart.ru/blogs/745/ показала, что 1-2 страницы все-таки прочитать можно. Здесь будет сделана попытка расказать о технологическом журнале.

I. Технологический Журнал (далее ТЖ) позволяет протоколировать все события 1С:Предприятия (или часть, используя фильтр), например:
— исполняемый код 1С:Предприятие 8.1;
— код Transact-SQL для СУБД;
— интерактивные действия пользователей,

— сообщения об ошибках,

— утечки памяти.
В случаи аварийного завершения журнал позволяет сделать дамп памяти и копию экрана для передачи разработчикам.

II. Журнал настраивается с помощью файла logcfg.xml в папку программы C:Program Files1cv81inconf
1) Для успешного создания логов, нужно создать каталоги для логов (например C:Program Files1cv81inlogs) и дапмов (например C:Program Files1cv81indumps)

2) К этим каталогам ТЖ должны быть обязательно настроены права:

— полные права на каталог технологического журнала;

— права на чтение владельца каталога технологического журнала.

Примечание. Если все равно не пишется ТЖ, то дать права всем на эту папку (временно, чтобы убедиться что дела в правах).

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

4) Место хранения dumps и logs не хранить вместе, потому что через указанный интервал (по умолчанию 1 час) содержимое польностью перетирается и вы потеряете дампы

III. ТЖ лучше настраивать (с помощью фильтров — тэгов logcfg.xml) только на исследуемые события, остальное не собирать, иначе словите «отсутствие места на диске» и тормоза в быстродействии сервера.

1) Легче выполнять настройку фильтров с помощью обработки с ИТС НастройкаТехнологическогоЖурнала.epf, но при этом помнить, что новые фичи последних релизов в обратке могут отстутствавать (каждая новая версия добавляет новые возможности, в обработки они не отражены). В этом случаи корректировать файл logcfg.xml руками.

2) Чтобы логи перестали собираться достаточно переименовать файл, перезапускать сервер не надо, настройки пересчитываются каждую минуту «на лету»
3) настроить logcfg.xml для фильтрации событий по определённой ИБ нужно использовать  «p:processName=»
4) http://users.v8.1c.ru/Adm1936.aspx — примеры настроек
IV. Понятно, что собрать логи мало, их еще нужно обработать для решения конкретной задачи.
1) Сложности чтения ТЖ:
— Требует хорошего понимания архитектуры работы системы
— Тексты запросов регистрируются на внутреннем языке 1С:Предприятия и на языке DBMS
2) Файлы технологического журнала хранятся в подкаталогах. Имя каждого подкаталога технологического журнала одного процесса будет иметь вид: <ИмяПроцесса>_<ИдентификаторПроцесса>, например: rphost_4076. Имя файла журнала задается шаблоном ГГММДДЧЧ.log. Например, в журнале 07051819.log имя файла образовано от 2007 мая 18, 19 часов)
3) Журнал для анализа можно выгрузить в эксель, используя разделителем запятую например

4)1С:ЦУП использует для своих аналитических показалей логи технологического журнала. При использовании ЦУП другие данные собираться не должны, удалите logcfg.xml вручную, ЦУП сам создаст файл с нужными настройками.

5) Других парсеров логов от 1С нет, есть http://partners.v8.1c.ru/forum/getfile.jsp?name=ObrabotkaTehnologiceskogoGurnala.epf
http://partners.v8.1c.ru/forum/thread.jsp?id=576266#576266

V. Возможные ошибки и доп. информация:

— ищем логи в каталоге на сервере хотя для 64 разрядного сервера другой каталог программы

— отследить незавершившийся запрос; событие технологического журнала DBMSSQL выводится только в момент окончания выполнения запроса. Если запрос долго не может выполниться, то его выполнение можно прервать, после чего будут выведены в технологический журнал связанные с ним события.

<config xmlns=«http://v8.1c.ru/v8/tech-log«>
   <log location=«C:Program Files1cv81logs» history=«24»>
        <event>
         <eq property=«Name» value=«EXCP»/>
       </event>
        <event>
          <eq property=«Name» value=«SDBL»/>
          <eq property=«Func» value=«BeginTransaction»/>
       </event>
       <event>
         <eq property=«Name» value=«DBMSSQL»/>
         <ge property=«Duration» value=«30000»/>
       </event>
       <property name=«All»/>
   </log>
</config>

— более подробно с особенностями использования технологического журнала можно ознакомиться по материалам семинара партнеров 2 — 4 марта 2007 года, доклад «Средства диагностики работы системы «1С:Предприятия 8.1″».

— курс где обучают данному вопросу http://www.1c.ru/news/info.jsp?id=9144

— На все вопросы есть ответ в «C:Program Files1cv81AddDocRUV8AddDoc81.htm», Книга «1С:Предприятие 8.1. Конфигурирование и администрирование», Глава 21. Администрирование, Технологический журнал

если вы не нашли ответ на ваш вопрос, давайте расширим материал

 

99 Comments

  1. saver77

    Спасибо, поднял хорошую тему. +++

    Для настройки ТЖ есть полезная обработка «НастройкаТехнологическогоЖурнала.epf», можно скачать тут: http://forum.sysfaq.ru/index.php?s=2b483989fca0f4737a7ec4ad9181e4fa&act=attach&type=post&id=3­966

    Вот только у меня не получилось вот это «При использовании ЦУП другие данные собираться не должны, удалите logcfg.xml вручную, ЦУП сам создаст файл с нужными настройками.» Очень прошу по шагам описать настройку ЦУП, чтобы он сам создавал файл logcfg.xml.

    Reply
  2. Gilev.Vyacheslav

    если у вас есть купленный цуп, то к нему идет книжечка, в конце которой есть приложение (страниц много) где подробно описана настройка,

    плюс есть описание http://kb.1c.ru/articleView.jsp?id=39

    если есть КОНКРЕТНЫЙ вопрос, то могу попробовать ответить

    Reply
  3. tormozit

    Про «отследить незавершившийся запрос» я не догнал. Не очень внятно расписан этот момент. Можно в комментах «разжевать»?

    Reply
  4. Gilev.Vyacheslav

    (3) специально же дал «тупо текст» logcfg.xml

    подложи в conf и посмотри что собирается :)))

    Reply
  5. German

    Кстати для файловой у меня так и не получилось получить SDBL запросы

    Reply
  6. Gilev.Vyacheslav

    (6) а если включить собирать все события, тоже не собираются?

    Reply
  7. German

    (7) неа.

    Reply
  8. German

    ну я на 11.67 только пробывал

    надо поновее релиз поставить

    Reply
  9. Gilev.Vyacheslav

    (8) если не собираются все события, то проверьте по разделу II. инструкции корректность настроек

    Reply
  10. gavril

    Вроде все настроил.

    Почему то не отслеживаются «Анализ запросов»

    Где может быть собака?

    Основне виробництво

    Reply
  11. gavril

    Сори… чет к посту прицепилось 🙂

    Последняя строчка не в тему 🙂

    Reply
  12. Gilev.Vyacheslav

    (12) не формируются логи rphost, ну специально же написал

    Если не пишется ТЖ, то дать права всем на эту папку (временно, чтобы убедиться что дела в правах).

    Reply
  13. gavril

    (13) Права всем дал…. все показатели кроме аналит. записівает и видит.

    Reply
  14. Gilev.Vyacheslav

    (14) помоему я не спрашивал про права, логи пишуться?

    Reply
  15. gavril

    Логи пишутся в папку …inlogs
    phost_1644

    типа 09020817.log, но они пустые 🙁

    Что может быть не так?

    Reply
  16. Gilev.Vyacheslav

    (16) инструкцию все таки бы прочитал, а?

    права на чтение владельца каталога технологического журнала даны точно всем?

    удалить logcfg.xml перед сбором

    Reply
  17. gavril

    🙁

    хм. перечитал мануал три раза потом еще раз перед тем как задать вопрос.

    Удалил файл настройки и дал создать его ЦУПом, проверил файл создан нормально. Запустил ЦУП под администратором ОС. Дал на папку права ВСЕМ на ВСЕ.

    Ну да ладно завтра на свежую голову разберусь.

    Reply
  18. Gilev.Vyacheslav

    (18) права нужно давать не клиентской части 1С, а учетной службе сервера приложений (поумолчанию USR1CV81)

    после того, как дадите права учетной записи службы сервера приложений 1С, создайте руками logcfg.xml на фильтром «писать все события», подождите 1 минуту (сервер приложений перечитывает только 1 раз в минуту файл) и проверьте, будут ли собирать наши логи

    уверен, все получиться

    Reply
  19. gavril

    Служба сервера запускается от имени администратора системы (уже так сделал).

    Поставил писать все события.

    Всеравно файлы по 3 байта пустые 🙁

    Reply
  20. Gilev.Vyacheslav

    (20) звучит как фантастика

    предлагаю следующее

    использовать проверенный мной файл (у меня он работает)

    http://www.gilev.ru/1c/logcfg.rar

    распаковываете и помещаете в C:Program Files (x86)1cv81inconf (если 32х разрядный сервер на 64 разрядном железе, иначе C:Program Files1cv81inconf)

    Даете права для Everyone по максимуму для C:Logs

    и перезагружаете сервер.

    В чудеса не верю.

    Смотрим что получиться.

    Reply
  21. gavril

    Поставил файлик, поменял в нем лишь диск для загрузки (поставил F:Logs)

    Логи пишутся те что и раньше писались…

    В ЦУПе попытался включить запись Анализа запросов и получил ошибку:

    «Ошибка при вызове конструктора (ЧтениеТекста)»

    Анализ запросов так и не представляется возможным включить 🙁

    Reply
  22. gavril

    Но даже до того как попытался включить запись, показатель Анализ запроса не мониторился 🙁

    Reply
  23. Gilev.Vyacheslav

    (22) >Логи пишутся те что и раньше писались…

    так логи в rphost стали не пустые, верно?

    Reply
  24. gavril

    Да.

    Reply
  25. Gilev.Vyacheslav

    Медленно, но мы продвигаемся. Версия ЦУПа и платформы какая? Давайте будем ориентироваться пока на ЦУП 1.1.1.27 и платформу 8.1.12.101.

    Reply
  26. Gilev.Vyacheslav

    Формиуются ли обсуждаемые логи после включения счетчика «Анализа запросов»?

    Reply
  27. gavril

    Логт формируються.

    Но в ЦУПе счетчик = 0.

    Reply
  28. Gilev.Vyacheslav

    (28)

    1. Не услышал по поводу версий.

    2. Как же Вы читали документацию к ЦУПу, если не знаете, что во время сбора счетчик и должен быть в нуле!

    Reply
  29. vtools

    Скрипт не фильтрует по времени — в логи загоняются все события, а мне нужно отловить только большие по времени. Фигня какая-то….

    Reply
  30. Gilev.Vyacheslav

    (30) для события больше определенного интервала нужно накладывать дополнительный фильтр

    в тексте это выклядит как

    <event>

    <gt property=»Duration» value=»100000″/>

    </event>

    т.е. берите обработку, указывайте события какой субд хотите отслеживать и накладывайте ограничение по длительности (Duration)

    Reply
  31. vtools

    Спасибо, после долгих экспериментов заработал вот такой скрипт (все остальные скрипты из доккументации 1С не работали — точнее не фильтровали):

    <?xml version=»1.0″ encoding=»UTF-8″?>

    <config xmlns=»http://v8.1c.ru/v8/tech-log»>

    <log history=»48″ location=»C:1Clogs»>

    <event>

    <eq property=»Name» value=»SDBL»/>

    <gt property=»Duration» value=»10000″/>

    </event>

    <event>

    <eq property=»Name» value=»DBMSSQL»/>

    <gt property=»Duration» value=»10000″/>

    </event>

    <property name=»All»>

    </property>

    </log>

    </config>

    Reply
  32. vtools

    …т.е. как я понял по отдельности оно не работает

    Reply
  33. Gilev.Vyacheslav

    (33) не думаю, что Вам нужны события SDBL, но вцелом идея правильная

    хорошо, что написали рабочий скрипт сюда, думаю коллегам пригодиться

    Reply
  34. Gilev.Vyacheslav

    <?xml version=»1.0″ encoding=»UTF-8″?>

    <config xmlns=»http://v8.1c.ru/v8/tech-log»>

    <dump create=»false» location=»» type=»0″/>

    <log history=»1″ location=»E:logs»>

    <event>

    <eq property=»name» value=»dbmssql»/>

    <ne property=»t:applicationname» value=»BackgroundJob»/>

    <gt property=»duration» value=»10000″/>

    </event>

    <property name=»all»/>

    </log>

    </config>

    Reply
  35. Gilev.Vyacheslav

    (35) это тоже самое, но без надоедливых фоновых заданий

    Reply
  36. Gilev.Vyacheslav

    вариант настройки для поиска 54й ошибки

    <config xmlns=»http://v8.1c.ru/v8/tech-log»>

    <log location=»C:Program Files1cv81logs» history=»24″>

    <event>

    <eq property=»name» value=»EXCP»/>

    </event>

    <event>

    <eq property=»name» value=»PROC»/>

    </event>

    <property name=»all»/>

    </log>

    <dump location=»C:Program Files1cv81dumps» create=»1″ type=»3″/>

    </config>

    Reply
  37. Gilev.Vyacheslav

    Замер долгих действий в клиент-серверном варианте

    <?xml version=»1.0″ encoding=»UTF-8″?>

    <config xmlns=»http://v8.1c.ru/v8/tech-log»>

    <dump create=»true» location=»E:damps» prntscrn=»1″ type=»3″/>

    <log history=»1″ location=»E:logs»>

    <event>

    <eq property=»name» value=»EXCP»/>

    <eq property=»name» value=»proc»/>

    <eq property=»name» value=»scom»/>

    <eq property=»name» value=»conn»/>

    <eq property=»name» value=»admin»/>

    <eq property=»name» value=»qerr»/>

    <qt property=»duration» value=»100000″/>

    </event>

    <event>

    <eq property=»name» value=»EXCPCNTX»/>

    </event>

    <event>

    <eq property=»name» value=»dbmssql»/>

    <qt property=»duration» value=»100000″/>

    </event>

    <property name=»all»/>

    </log>

    </config>

    Reply
  38. Anything

    (0) Вопрос на засыпку.

    Можно ли отслеживать утечки памяти в файловом режиме. Или хотя бы на клиентской стороне?

    В документации написано, что «на клиентском компьютере могут возникать только те события, которые относятся к группам PROC, EXCP, SDBL.» Т. е. LEAKS как бы не должны возникать… Если так, тогда зачем парметр <point Call=”client”/>?

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

    Reply
  39. Gilev.Vyacheslav

    (39) клиент <> файловый, а просто в клиент-серверной архитектуре на стороне клиента,

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

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

    Reply
  40. Anything

    (40) Я понимаю, что клиент <> файловый.

    В (39) содержится два вопроса:

    1. Можно ли отслеживать утечки памяти в файловом режиме?

    2. Можно ли отслеживать утечки памяти в серверном режиме клиентской стороне?

    Reply
  41. Anything

    (40) А утечки проявляются в том, что при циклической обработке объектов (с использованием рекурсии) выделенная память процесса растет до 1Гб с лишним, а потом 1С вываливается.

    Reply
  42. Gilev.Vyacheslav

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

    В клиент-серверном варианте на стороне клиента отслеживать утечки можно.

    (42) Нехватка памяти, спровоцированная рекурсией — это не утечка, а неаккуратное расходование памяти программистом. Не надо путать разные по смыслу явления. Специально дал в статье http://www.gilev.ru/1c/memleak/ определение:

    Утечка памяти ( memory leak) — это процесс неконтролируемого уменьшения объёма свободной RAM ) , связанный с ошибками в работающих программах, вовремя не освобождающих ненужные уже участки памяти, или с ошибками системных служб контроля памяти.

    В вашем случаи надо либо увеличить память на проблемном компьютере, либо «серьезней» подойти к написанию кода рекурсии, не накапливая больших объемов в каждой итерации. Если будет конкретный вопрос, то могу попробовать ответить.

    Reply
  43. Gilev.Vyacheslav

    (42) если памяти «совсем чуть-чуть» не хватает, а сама проблемная ситуация возникает не у всех пользователей, то можно «арендовать память», перенеся код выполняться в общий модуль на сервер приложения.

    Reply
  44. Anything

    Пример кода, создающего утечку (позаимствован и адаптирован):

    Для Я = 1 По 1000000 Цикл

    ОбработкаПрерыванияПользователя();

    Состояние(Я);

    М = Новый Массив;

    М.Добавить(Новый Массив);

    М[0].Добавить(Новый Массив);

    М[0][0].Добавить(М);

    КонецЦикла;

    Reply
  45. Anything

    (43) Ответ я понял. Спасибо.

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

    Еще раз спасибо за ответы.

    Reply
  46. Gilev.Vyacheslav

    (45) честно говоря, мне не очень понятен смысл создания в цикле конструкции:

    М = Новый Массив;

    М.Добавить(Новый Массив);

    М[0].Добавить(Новый Массив);

    М[0][0].Добавить(М);

    что-то больших размеров надо создавать за пределами цикла, а используя в цикле я бы наверно в конце цикла добавил строчку

    М = «»;

    с целью удаления массива

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

    Reply
  47. ValeriVP

    (47) суть примера не в массиве, а в циклических ссылках:

    М[0][0].Добавить(М);

    (45) тот же самый эффект можно получить проще:

    М = Новый Массив;

    М.Добавить(М);

    Reply
  48. Anything

    (47) Это не мой код. Это я взял пример из документации V8AddDoc81.htm, чтобы воспроизвести утечку на клиенте и проверить работу «Технологического журнала».

    В данном примере смысл утечки в том, что М через вложенные массивы содержит ссылку сам на себя (см. последнюю строку). Поэтому сборщик мусора не может корректно очистить память от этого массива.

    P. S. Со своей утечкой, я кстати, разобрался. (См. блог http://infostart.ru/profile/43713/blog/190/)

    Reply
  49. Gilev.Vyacheslav

    (48) мне думается разработчики притянули этот пример за уши, чтобы что то написать в документацию в качестве примере как не надо делать

    именно за это и не очень люблю документацию, мало практических примеров и много текста ни о чем

    (49) не смогу открыть ссылку, вы ее через свой профиль указали.

    Reply
  50. almas

    Огромный респект Автору. Чисто Случайно наткнулся на ваш сайт. Огромное спасибо.

    Reply
  51. Gilev.Vyacheslav

    (51) Спасибо, очень приятно 🙂

    Reply
  52. saver77

    Коллеги, кто н-ть может на мыло скинуть обработку ObrabotkaTehnologiceskogoGurnala.epf

    Вот адрес: s_averyanov@list.ru

    Спасибо.

    Reply
  53. Gilev.Vyacheslav

    (53) см. (1)

    Reply
  54. Gilev.Vyacheslav

    Подробней практическое применение технологического журнала хочу предложить на моем авторском курсе http://www.gilev.ru/1c/mssql/kurs.htm

    Можно заранее задать вопросы по вашему предприятию, которые мы разберем на курсе.

    Reply
  55. chig

    логи пишет служба сервера 1С?

    Reply
  56. chig

    Зачем права давать на каталог ещё кому-то кроме учетки под которой работает служба?

    Reply
  57. Gilev.Vyacheslav

    (56) в файловом варианте логи тоже пишутся, там сервера нет 🙂

    и сервер тоже пишет

    я бы сказал, пишет Платформа

    Reply
  58. Gilev.Vyacheslav

    (57) просто так не надо, но может потребоваться например пользователю, который запускает клиентскую часть ЦУПа

    Reply
  59. chig

    Не понятно в чем проблема…. файл есть каталоги есть.. но на сервере ничего не пишется… права полные на каталог есть…в чем возможен подвох?

    <?xml version=»1.0″ encoding=»UTF-8″ ?>

    — <config xmlns=»http://v8.1c.ru/v8/tech-log»>

    <dump create=»false» location=»» type=»0″ />

    — <log history=»1″ location=»C:Program Files1cv81inconflogs»>

    — <event>

    <eq property=»name» value=»» />

    </event>

    <property name=»all» />

    </log>

    </config>

    Reply
  60. chig

    <?xml version=»1.0″ encoding=»UTF-8″ ?>

    — <config xmlns=»http://v8.1c.ru/v8/tech-log»>

    <dump create=»false» location=»» type=»0″ />

    — <log history=»1″ location=»C:Program Files1cv81inconflogs»>

    — <event>

    <ne property=»name» value=»» />

    </event>

    <property name=»all» />

    </log>

    </config>

    тоже ничего не дает.. что-то с правами

    Reply
  61. Gilev.Vyacheslav

    выше уже все наиболее вероятные проблемы описаны, разве что некоторые вместо создания logcfg.xml с помощью обработки делают руками через блокнот и вмест UTF формата создают файл в win1251, из-за чего не собираются логи

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

    если читать лень, то при предоставлении терминалки за 2400 руб. гарантировано решу проблему 🙂

    Reply
  62. chig

    🙂 Читать не лень! Статья — гуд! Заработало!

    Reply
  63. Gilev.Vyacheslav

    В течении 21 мая — 29 мая 2009 БЕСПЛАТНО помогаю разбираться с 10054 ошибкой, для этого

    пишите на e-mail: gilev_slava собачка mail.ru собранные логи ТЖ (http://www.gilev.ru/1c/81/techlog/index.htm описание) файлом logcfg.xml (брать отсюда http://www.gilev.ru/1c/81/error54/logcfg.xml ).

    Reply
  64. Kreont

    Не пишет Технологический Журнал (только 3 байта)

    Продублирую с форума http://www.forum.mista.ru/topic.php?id=410569

    текст весь, но результата 0 пока.

    База 1С 8.1.13.41

    Сервер Postgres 8.3 на Fedora 9

    Сервер 1C там же

    А) Статьи Гилева прочитал

    Б) По форумах прошелся ничего не нашел(

    В) Использую стандартную «НастройкаТехнологическогоЖурнала.epf»

    Правда одно но, когда в настройке выбираю «Полный тех.журнал» то пишет

    все подряд

    Все другие стандартн.настройки неработают.

    Вручную переписал тот же результат

    Причем файл лога 1С держит открытым но ничего непишет

    Откуда еще копать?

    П.С. Может вся ета статья относится только к Win Serveram & MS SQL BD 🙂

    Тогда вопрос а как для Постгри и Линуксе?

    Reply
  65. Gilev.Vyacheslav

    >Тогда вопрос а как для Постгри и Линуксе?

    к сожалению не могу отвечать за тех, кто «ищет себе приключения на задницу» :)))

    http://users.v8.1c.ru/Adm1557.aspx — это про дампы

    начните с простого

    cat ./logcfg.xml

    <config xmlns = » v8.1c.ru/v8/tech-log »»»>

    <log location = «/opt/1C/v8.1/i386/conf/tech_logs» history = «4»>

    <event>

    <eq property = «Name» value = «DBPOSTGRS»/>

    </event>

    <property name = «all»/>

    </log>

    </config>

    внимательно смотрим за путями, они должны соответствовать реальным, а не тупо копировать отсюда :)))

    Reply
  66. Gilev.Vyacheslav

    и еще, я не просто так в статье дал ссылку на описание в стандартной документации — его нужно читать! 😉

    Reply
  67. Gilev.Vyacheslav

    вот это пример для полного лога

    <config xmlns = «http://v8.1c.ru/v8/tech-log»>

    <log location = «/opt/1C/v8.1/i386/conf/tech_logs» history = «4»>

    <property name=»all»/>

    <event>

    <ne property=»name» value=»»/>

    </event>

    </log>

    </config>

    Reply
  68. Kreont

    То несовсем непонял к чему

    >> к сожалению не могу отвечать за тех, кто «ищет себе приключения на задницу» :)))

    Если невидел 1С8.1 + постгри+ Fedora так и скажы..

    >>тупо копировать отсюда :)))

    не тот IQ у меня чтоб копировать

    >> стандартной документации

    лежит на столе, страница 1033 2-я книга,

    но непомагает она

    А то вовсе непонятно к чему

    log location = «/opt/1C/v8.1/i386/conf/tech_logs» history = «4»>

    Мне надо журнал запускать не для всех сеансов сервера 1С

    на *никсе а только для моей машини под WinXP где клиент 1С стоит

    и смотреть только мои логи при обращении

    Reply
  69. Kreont

    http://users.v8.1c.ru/Adm1557.aspx

    почитал но там только про дампы

    Reply
  70. Gilev.Vyacheslav

    (69) так логи надо не линуховом сервере смотреть тогда, на твоем компе с WinXp, если интересуют события, выполняющие на клиенте

    события сервера надо смотреть на сервере, в чем сложность то?

    Reply
  71. Gilev.Vyacheslav

    покажи лог, который ты настроил на WinXP

    Reply
  72. Kreont

    Лог на ХП с станд.обработки

    <?xml version=»1.0″?>

    <config xmlns=»http://v8.1c.ru/v8/tech-log»>

    <log history=»168″ location=»C:Program Files1cv81inlogs»>

    <event>

    <eq property=»name» value=»dbv8dbeng»/>

    <eq property=»name» value=»dbmssql»/>

    <eq property=»name» value=»dbpostgrs»/>

    <eq property=»name» value=»db2″/>

    <eq property=»name» value=»excp»/>

    </event>

    <property name=»all»/>

    </log>

    </config>

    Попробую резюмировать для клиент-серверной структуры

    (когда я не работаю за сервером):

    а) (с книги стр.1036) На клиенте могут могут возникать только те события, которые относятся к групам PROC, EXCP, SDBL и все 🙁

    б) все остальное только на сервере, причем для

    Linux я догадываюсь. файл logcfg.xml

    должен лежать в каталоге таком

    /opt/1C/v8.1/x86_64/conf

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

    на логирование запросов только с одной клиентсокй машины еще ищу

    П.С.

    Еще вот нашел такое,

    в каталоге

    /home/usr1cv81/.1cv81/1C/1Cv81/reg_.. ./

    есть файлик 1CV8REG.lst

    где можно узнать (незнаю как правильно назвать: ЫД базы)

    и в каталоге с выше ЫД базы можно посмотреть логи сервера 1с

    спс. за толчок в нужном направлении, копаю дальше

    Reply
  73. Gilev.Vyacheslav

    (73)

    1) логи сервера — это журнал регистрации, он прекрасно доступен в режиме предприятия, не надо так изголяться с поиском идентификаторов

    2) на клиенте 1С исполнения запросов не происходит, поэтому события так или иначе связанные с запросами логируются на сервере — это логично

    3) на клиенте вполне достаточно события excp

    было бы не плохо, если бы обозначили решаюмую вцелом задачу

    Reply
  74. Kreont

    Задача как всегда простая, оптимизация быстродействия

    для следуещего етапа 0-администрирования 🙂

    При 3-компонентной БД 1С задача у меня разбивается на три подзадачи

    1) что у клиента(в смысле рабочей станции) может нагружать систему

    тут я думаю нечего оптимизировать при клиент-серверной БД, главное чтоб

    комп включился, ну и исключения в лог, больше я так понял невытяну

    2) сервер 1С как быстро обрабатывает и над какой задачей он больше всего «мучается»

    вот тут и хочу настроить сейчас оптимально файл logcfg.xml чтоб почитать и

    проанализировать его за чашечкой кофе 🙂

    3) сам постгри как быстро исполняет каждый запрос.

    ну хочется например узнать по логах уже самого постгри нет ли ошибок

    со стороны сервера 1с и показать запросы что хотят много памяти/времени процесора

    С логом постгри уже разобрался, настроил, просто на основании логов постгри

    можно правильно настроить его ж самого, подбирая правильные параметры

    для конфиг.файла postgresql.conf

    В постгри кстати покрасивей логирование настраивается и читабельней оно 🙁

    Reply
  75. Kreont

    Уже начал для лінукса такой файл готовить:

    <?xml version=»1.0″ encoding=»UTF-8″?>

    <config xmlns=»http://v8.1c.ru/v8/tech-log»>

    <log history=»24″ location=»/home/usr1cv81/log1c»>

    <event>

    <eq property=»Name» value=»DBPOSTGRS»/>

    <eq property=»Name» value=»SDBL»/>

    <eq property=»Name» value=»EXCP»/>

    <eq property=»Name» value=»QERR»/>

    <eq property=»Name» value=»PERR»/>

    </event>

    <property name=»host»>

    ???? вот незнаю может получиться тут фильтр включить только на логирование сервером все что относится к мему компу, но пока

    ненашел что вписать IP, имя etc.

    </property>

    <property name=»sql»>

    <event>

    <eq property=»Name» value=»DBPOSTGRS»/>

    <gt property=»Duration» value=»20000″/>

    </event>

    </property>

    <property name=»Context»>

    </property>

    </log>

    </config>

    Reply
  76. Gilev.Vyacheslav

    (76) еще раз прочтите документацию по ТЖ

    1) надо аккуратно использовать операции «И» и «ИЛИ» — т.е. писать иногда надо в рамках тега, иногда в разных тэгах

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

    Но надо учесть, что не которые события относятся только к серверу 1С, и для них нет клиента, тогда нужно настроить сбор логов при «отсутствии пользователя» в событии, иначе потеряете часть

    Reply
  77. Gilev.Vyacheslav

    (75) что нагружает у клиента можно в частном случаи замерить отладчиком

    Reply
  78. Kreont

    Нашел то что хотел, наконец то:)

    Конфиг. файл для полного лога сервером всех действий с одной клиентской машины:

    <?xml version=»1.0″ encoding=»UTF-8″?>

    <config xmlns=»http://v8.1c.ru/v8/tech-log»>

    <log location=»/home/usr1cv81/log1c» history=»24″>

    <property name=»all»/>

    <event>

    <eq property=»t:computerName» value=»ИмяКомпютера»/>

    </event>

    </log>

    </config>

    Где ИмяКомпютера = нетбиос имя, а не IP

    Reply
  79. roma276

    gilv, подскажи плиз, 1с8, кластер серверов на федоре, дб — постгре,(поднят ВПН)

    вопрос в следующем, на одной машине ни как не мог доконнектится, до сервака, хотя с любой другой — без проблемм, .Точнее коннект есть, «Серверы 1с» видят сервак, при попытке войти с клиента — доходит до выбора пользователя, поссле ввода пароля, либо слетает ВПН и выходит 54 ошибка, либо 54-я сразу, создал техн журнал, куда записывается полный лог,(и на серве и на клиенте), в логах клиента пишет

    19:21.4060-0,EXCP,2,process=1cv8,Usr=Администратор,Exception=NetDataExchangeException,Descr=’ server_addr=tcp://freyja:1564 descr=Ошибка сетевого доступа к серверу

    (Windows Sockets — 10054(0x00002746). Удаленный хост принудительно разорвал существующее подключение. ) line=1031 file=.srcDataExchangeTcpClientImpl.cpp’

    19:21.4061-314060,SCALL,1,process=1cv8,Usr=Администратор,ClientID=2,Interface=002b0774-d19e-4181-851e-0aae08756463,Method=1

    19:21.4062-0,EXCP,1,process=1cv8,Usr=Администратор,Exception=NetDataExchangeException,Descr=’ server_addr=tcp://freyja:1564 descr=Ошибка сетевого доступа к серверу

    (Windows Sockets — 10054(0x00002746). Удаленный хост принудительно разорвал существующее подключение. ) line=1031 file=.srcDataExchangeTcpClientImpl.cpp’

    19:21.4220-2190470,PROC,0,process=1cv8

    19:21.4221-0,EXCP,0,process=1cv8,Usr=Администратор,Exception=Exception,Descr=’ server_addr=tcp://freyja:1564 descr=Ошибка сетевого доступа к серверу

    (Windows Sockets — 10054(0x00002746). Удаленный хост принудительно разорвал существующее подключение. ) line=1031 file=.srcDataExchangeTcpClientImpl.cpp’

    и вот такую ошибку тож

    15:52.9380-0,CONN,1,process=1cv8,Txt=Clnt: MyUserName1: Олеся@ОЛЬГА

    15:55.1410-22029,SCALL,1,process=1cv8,ClientID=1,Interface=7f58f27d-5ad8-43a1-aa1e-c982f41bed5c,Method=0

    15:55.1411-0,CONN,1,process=1cv8,Txt=Clnt: DstUserName1: StartProtocol: 0 Error

    15:55.1412-0,EXCP,1,process=1cv8,Descr=InitializeSecurityContext: Error 80090308!

    15:55.5310-930,SCALL,1,process=1cv8,ClientID=1,Interface=73b7d3a3-fe0b-4fdf-ba70-b74b3589ffc3,Method=0

    15:55.7190-0,CONN,1,process=1cv8,Txt=Clnt: MyUserName1: Олеся@ОЛЬГА

    15:56.7190-9999,SCALL,1,process=1cv8,ClientID=2,Interface=7f58f27d-5ad8-43a1-aa1e-c982f41bed5c,Method=0

    15:56.7191-0,CONN,1,process=1cv8,Txt=Clnt: DstUserName1: StartProtocol: 0 Error

    15:56.7192-0,EXCP,1,process=1cv8,Descr=InitializeSecurityContext: Error 80090308!

    все остальные советы брал из твоей статьи http://www.gilev.ru/1c/81/error54/ , но пока ни ни, если я те вышлю логи, ты сможешь взглянуть? заранее пасиб

    Reply
  80. Gilev.Vyacheslav

    to roma276

    проблема связана с некорректной авторизацией,

    с наибольшей вероятностью настроек керберос (в т.ч. самбы)

    к 1С это никак не относится,

    проверьте логи линуха

    рекомендую обратиться к специалистам по линуксу

    Reply
  81. roma276

    ясн, лан, будем разбираться,.. в логах сервера пишет что недостаточно прав у пользователя, на исполнение операций над БД..

    Reply
  82. roma276

    а могут ли возникать такие ошибки, в случае если у меня на этой клиентской машине стоит HaspLicenseManager для 7 версии? так как мы находимся на стадии перехода от 7-ки к 8-ке, на этой машине стоит ключ на 5 пользователей, от 7, и ключ от 8 тож на 5 пользователей? (при этом до изменения имени сервера базы 1с8 нашим «любимым» админом с этой машины и 7 и 8ка норм работали )

    Reply
  83. vladrus

    Почему то не работают регламентные задания, подскажите, плиз, как настроить ТЖ для того чтобы увидеть где ошибка. Клиент-серверный

    Reply
  84. vladrus

    (84) Может ли это быть потому что в свойствах сервера в соединениях запускается планировщик заданий без указания базы, и когда нажимаешь Properties — сообщение «Ошибка получения списка соединений: информационная база не зарегистрирована»?

    Reply
  85. Gilev.Vyacheslav

    (84) На диске ИТС найти обработку КонсольЗаданий

    1. В свойствах ИБ на сервере приложений не должна стоять блокировка

    2. Пользователь должен быть указан в константах приложений (зависит от конфигурации конечно)

    3. Если планировщик без указания имени ИБ, это неверно отображающийся менеджер блокировок (его соединение с рабочим процессом)

    посмотрите сначала обработку, там при ошибке запуска или исполения в последней колонке указана причина

    отпишитесь, что получилось

    Reply
  86. vladrus

    текст об ошибке вот такой

    00:51.9701-3,EXCPCNTX,1,SrcName=DBPOSTGRS,OSThread=2444,process=rphost,p:processName=money,t:clientID=3,t:applicationName=JobScheduler,t:computerName=DATABASE,t:connectID=1,Trans=0,dbpid=23723,Sql=lock table pg_class in application share mode,Result=PGRES_FATAL_ERROR,dbpid=23723,Sql=ROLLBACK,Result=PGRES_COMMAND_OK

    Reply
  87. vladrus

    (86) сори, что то полезло за пределы, вот нормальный текст

    00:51.9701-3,EXCPCNTX,1,SrcName=DBPOSTGRS,OSThread=2444,process=rphost,p:

    processName=money,t:clientID=3,t:applicationName=JobScheduler,t:

    computerName=DATABASE,t:connectID=1,Trans=0,dbpid=23723,Sql=lock table pg_class in application share mode,Result=PGRES_FATAL_ERROR,dbpid=23723,Sql=ROLLBACK,

    Result=PGRES_COMMAND_OK

    Reply
  88. Gilev.Vyacheslav

    (88) SrcName=DBPOSTGRS — источник PostgreSQL

    Result=PGRES_FATAL_ERROR — ошибка

    Sql=lock table pg_class in application share — проблемная операция

    Reply
  89. vladrus

    (89) Заработало после перезагрузки. Спасибо за оперативные ответы!

    Reply
  90. hujovo

    Спасибо большое автору.

    Однако присоединяюсь к (53) — выложите плz парсер логов.

    Reply
  91. Gilev.Vyacheslav

    По многочисленным просьбам телезрителей вышел «ремейк» статьи http://www.gilev.ru/1c/81/techlog/index.htm ,

    там же парсер

    там же обучающее видео как находить ошибки в настройках доступа для ТЖ

    Reply
  92. isgr

    Приглашение на вебинар!

    «Опыт настройки «1С:Центр Управления Производительностью» на проектах»

    Дата проведения: 2 апреля 2010 г.

    Время проведения: 11:00 – 12:00 (время московское)

    Ссылка на онлайн регистрацию: https://www1.gotomeeting.com/register/489178121

    Данный вебинар — БЕСПЛАТНЫЙ.

    Просьба при регистрации указывать корпоративный почтовый ящик (кроме фирм-франчайзи). Регистрация с указанием e-mail адресов на бесплатных хостингах (mail.ru, yandex, и пр.) рассматриваться не будет.

    Скачать инструкцию по участию в вебинарах можно по ссылке

    http://1c-education.rarus.ru/free/webinars/instruction.doc

    По возникающим вопросам по вебинарам Вы можете обращаться по почте webinar@rarus.ru

    Reply
  93. kudzia

    Спасибо.

    Reply
  94. Gilev.Vyacheslav
  95. Bitnikov

    У меня фильтр ТЖ не работал, пока я события не прописал в верхнем регистре (как оно в итоге записывается в лог):

    <?xml version=»1.0″ encoding=»UTF-8″?>

    <config xmlns=»http://v8.1c.ru/v8/tech-log»>

    <log history=»168″ location=»C:apps1clogs»>

    <event>

    <eq property=»name» value=»PROC»/>

    </event>

    <event>

    <eq property=»name» value=»SCOM»/>

    </event>

    <event>

    <eq property=»name» value=»CONN»/>

    </event>

    <event>

    <eq property=»name» value=»EXCP»/>

    </event>

    <event>

    <eq property=»name» value=»ADMIN»/>

    </event>

    <event>

    <eq property=»name» value=»MEM»/>

    </event>

    <property name=»All»/>

    </log>

    <mem/>

    <dump create=»true» location=»C:apps1cdumps» prntscrn=»true» type=»3″/>

    </config>

    Reply
  96. DmitriyNev

    Так и не понял в случае если сервер 1С под линукс — куда класть файл logcfg.xml ?

    Reply
  97. frc

    (1) saver77,

    что, ЦУП руки жжет?

    ЦУП — одна из самых бесполезных конф от 1С: стоит немеряно, показывает — маленький пшик.

    Т.е. заявленное «узкое место вашей конфигурации» так и не показывает, а что какой-то запрос там у меня типовой долго исполняется — так я и скриптом отловлю прекрасно.

    Reply
  98. Gilev.Vyacheslav

    (117) janeJANE, не надо писать плохо прикрытый спам, да еще создающий конкуренцию инфостарту, ок?

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *