Технологический журнал 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 не будет опубликован. Обязательные поля помечены *