Монитор журнала регистрации





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

 

 Версия 1.3.0

Добавлена статистика по пользователям: отображается количество новых документов/ новых элементов справочников / обновлено объектов / прочие события. Статистика обновляется в реальном режиме времени.

 

 Версия 1.2.0

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

Настройка оповещений заключается в задании условий по которому возникает оповещение: тип сообщения (Информация/Ошибка/Предупреждение), пользователь (выбор из списка),  событие (выбор из списка) и информация (вхождение слова).

По умолчанию настроены два типа оповещения: с типом "2-Ошибка" и вхождением части слова "Ошиб" в информационное описание.

Примеры настройки оповещений:

  • Если задать конкретного пользователя и событие "$Session$_.Authentication", то будете получать оповещения, когда пользователь входит в 1С. 
  • Если задать оповещение с событием "_$Data$_.New" и с информацией "документ", то будете проинформированы о создании новых документов.
  • Если задать оповещение с событием "_$Data$_.Update" и с информацией "константа"то будете проинформированы об изменении константы.
  • Если задать оповещение с событием "Обмен данными ….",  то будете проинформированы, что прошел обмен.

Сообщения, которые попадают в оповещения в журнале группируются по настроенным типам оповещения. Есть возможность указать  необходимо ли отправлять e-mail для каждого типа оповещения.

Теперь оповещения в эл.письме собираються и отсылаются за указанный промежуток времени (поле "Отсылать ч/з каждые, сек.")

 

Возможности:

  • Отображение сообщений журнала регистрации в режиме реального времени
  • Отбор последних событий по пользователю
  • Отправка сообщений с ошибками на указанный электронный адрес

Сценарий использования:

Запускаете программу на сервере где у вас находятся базы 1С, заходите через браузер с любого компьютера в локальной сети по ip сервера + заданный порт, получаете оповещения об ошибках и моментально реагируете на ситуацию.
 

Варианты развития:

  • Подключение к нескольким базам
  • Оповещение о событии по фильтру (пользователь/событие) [Cделано]
  • Сбор и вывод статистики по пользователям — создано новых документов, элементов справочников и т.п. [Cделано]

  • Мониторинг работы сервера, например наличие свободного место на дисках, оповещение при достижении критических значений и т.п.

  • Поиск и отбор событий по фильтру: период, пользователь, объект метаданных, поиск вхождения определенной подстроки в описании события (номер документа, наименование и т.п.)

Технические данные:

Работает с журналом регистрации нового формата (sqlite)

Запрограммировано на JavaScript, Node.js, код открыт

Тестировалось на Windows: 7, 8, Server 2003, 2008

Клиент: Chrome и Internet Explorer свежих версий, возможно будет работать и в других.

 

P.S. Возможно кто-то вдохновится и захочет поучаствовать в разработке, открывайте файл с кодом (server.js) и творите, там ничего сложного нет.

 

49 Comments

  1. kolabaister

    Как я понимаю, это только для файловых версий баз?

    Reply
  2. andy23

    (1) kolabaister,

    Нет, для клиент-серверной тоже годится, файл журнала регистрации для файловой версии хранится в каталоге базы в паке 1Cv8Log, а для клиент-серверной C:Program Files1cv8srvinfo<Имя кластера сервера><Идентификатор базы на сервере>1Cv8Log

    Reply
  3. mnemchinov

    Работает

    Reply
  4. mnemchinov

    Только ошибки не видит

    Reply
  5. Bassgood

    (0) Плюс за интересную разработку.

    А когда примерно планируется реализация пункта развития «Оповещение о событии по фильтру (пользователь/событие)»? Очень актуально для быстрого реагирования на возникновение определенных ошибок.

    Reply
  6. andy23

    (4) mnemchinov,

    да тоже столкнулся с этим в журнале регистрации есть поле «severity», если там стоит 2 то это признак ошибки

    но некоторые сообщения об ошибках не ставят там двойку

    наверное нужно сделать плюс к этому признаку еще на наличие в сообщении слова «Ошибка»

    Reply
  7. andy23

    (5) Bassgood, это зависит от интереса сообщества к разработке + наличие свободного времени

    Reply
  8. Bassgood

    (7) по крайней мере на ИС подобной оповещалки по событиям ЖР мне так и не удалось найти =(

    Reply
  9. MherArsh

    А производительность хорошая ??

    Как программа себя ведет если лог файл больше гига?

    Поделитесь кот опробовал.

    Reply
  10. andy23

    (9) MherArsh,

    У меня файл журнала 8 Гиг, все ОК

    Думаю размер тут не страшен, будет хорошая скорость и дальше

    если интересно, то работает это так:

    при старте делается запрос и запоминается последний maxRowID (номер последней записи), через каждые 2сек делается запрос с условием rowID > maxRowID + (кол-во записей которые пришли в прошлый раз)

    так как rowID это конечно же индексированное поле, то работает это шустро

    более подробно можно открыть код в файле server.js и посмотреть

    Reply
  11. Kamikadze

    У меня отправка почты не работает.

    Reply
  12. MherArsh

    (10) Спасибо за ответ, все понятно.

    Reply
  13. andy23

    (11) Kamikadze, тесовое письмо отсылается?

    Reply
  14. algabas

    А как можно скачать файл?

    Reply
  15. andy23

    (5) Bassgood, Готово!

    Reply
  16. mnemchinov

    Жаль что второй плюс нельзя поставить 🙂 Дождусь «Мониторинг работы сервера». Туда еще бы загрузку процессоров, объем используемой памяти добавить + оповещения… Но боюсь, тогда проект сразу перерастет в коммерческий и жаба опять заставит всё писать самому 🙂

    А (4) исправлено?

    Reply
  17. MrWonder

    Скачал чтобы смотреть ЖР нового формата(lgd), натравил на файл ЖР в 172 GB, все фильтры отключены. Во всех событиях показывает 32 события. ЧЯДНТ?

    Reply
  18. andy23

    Спасибо за оценку! Да есть планы и дальше развивать проект, как там с коммерцией будет — не знаю 😉 Пока интересна сама платформа разработки Node.js и то, что на ней можно делать.

    А по поводу (4), то это как бы не ошибка — описано в (6), я доработал механизм оповещений и это решает эту проблему: «По умолчанию настроены два типа оповещения: с типом «2-Ошибка» и вхождением части слова «Ошиб» в информационное описание.»

    Reply
  19. andy23

    (17) MrWonder, Ух 172GB — не кисло! на таких размерах не тестил, не было…

    что-то я не могу понять как это выглядит «Во всех событиях показывает 32 события. Можно скриншот?

    А, кажись я понял — наверно было ожидание увидеть все события на 172GB )

    Нет, это монитор реального времени и показывает, то что происходит в текущий момент

    Reply
  20. Kondratenko.as

    Работает только в Windows? Попробовал запустить в линукс Минт 17.2 под Wine ничего не получилось.

    Reply
  21. andy23

    (20) Kondratenko.as, разработка тестировалась только на Windows (это есть в описании), но по идеи должна работать и на Линуксе, только придется предпринять ряд шагов: 1) необходимо скачать и установить Node.js https://nodejs.org/

    2) из всего архива, что Вы скачали необходимо только содержимое папки …MonitorEventLog1CNodeJSPortableData\r

    чтобы запустить программу необходимо запустить команду % node server.js

    Reply
  22. DonAlPatino

    Клиент-серверная база данных 8.3.6.2390. Сервер в этот момент работает.

    C:MonitorEventLog1CNodeJSPortableData
    ode_modulessqlite3­lib race.js:28

    throw err;

    #k8SjZc9Dxk

    TypeError: Cannot read property ‘maxRowID’ of undefined

    at C:MonitorEventLog1CNodeJSPortableDataserver.js:201:31

    at Statement.errBack (C:MonitorEventLog1CNodeJSPortableData
    ode_modules\r

    sqlite3libsqlite3.js:16:21)

    —> in Database#get(‘SEL ECT max(rowID) AS maxRowID FR OM EventLog’, [Function])

    at Database.<anonymous> (C:MonitorEventLog1CNodeJSPortableDataserver.js:

    200:16)

    —- Подключился к базе с пустыми логами 🙂

    Reply
  23. hekker

    Хороший монитор, мне понравился. Еще бы понять как завести несколько баз, а то у меня на серваке на каждом по 20 баз вращается. Тестил на 8.3.7.1901. все ок, а вот на 8.2 не пошла, расширение журнальчика логов — не совпало ;-). А так спасибо классный проект.

    Reply
  24. farukshin

    (17) MrWonder,

    натравил на файл ЖР в 172 GB, все фильтры отключены. Во всех событиях показывает 32 события. ЧЯДНТ?

    С такими объемами нужно в ElasticSearch, отчет по гораздо большому объему ЖР строиться мгновенно.

    Reply
  25. andy23

    (24) farukshin,читаем внимательно — это монитор реального времени и показывает, то что происходит в текущий момент

    Reply
  26. pumbaE

    (25) прям таки реального времени? Каждое новое событие сразу добавляется с допустимым лагом в 0.2 мс или же «не реального» времени?

    Reply
  27. andy23

    (26) pumbaE, все таки реального, ну или почти реального… каждые 2 сек. опрос идет в (10) алгоритм описан

    Reply
  28. TreeDogNight

    Жалко, что развитие данной разработки остановилось…

    Reply
  29. andy23

    (28) Ну давайте дальше развивать)

    что интересует?

    Reply
  30. TreeDogNight

    (29)Из того, что вы написали в планах развития, больше всего интересует:

    Подключение к нескольким базам.

    Поиск и отбор событий по фильтру: период, пользователь, объект метаданных, поиск вхождения определенной подстроки в описании события (номер документа, наименование и т.п.)

    Кроме этого, я заметил такой баг: при добавлении одного элемента справочника / документа, в разделе статистики показывается, что было добавлено 3 новых элемента.

    Reply
  31. user669233_k.yudin

    Добрый день, а есть возможность читать 8.2 ЖР

    Reply
  32. OlegBog1971

    добрый день.

    не могу подцепиться к файлу журнала регистрации на сервере

    база sql

    Reply
  33. andy23

    (32) файл журнала регистрации нашли?

    Искать нужно в районе C:Program Files1cv8srvinfo<Имя кластера сервера><Идентификатор базы на сервере>1Cv8Log

    Reply
  34. andy23

    файл журнала регистрации нашли?

    Искать нужно в районе C:Program Files1cv8srvinfo<Имя кластера сервера><Идентификатор базы на сервере>1Cv8Log

    Reply
  35. OlegBog1971

    Задаю такое же расположение файла, однако выдается ошибка, что открыть файл не может.

    База 1с на SQL.

    Reply
  36. andy23

    (35) Возможно журнал регистрации в старом формате

    Reply
  37. OlegBog1971

    (36) формат новый

    Reply
  38. andy23

    (35) в пути к файлу добавьте сам файл,

    например c:Program Files1cv8srvinfo
    eg_154174e60dc6-75fc-4730-b97f-87ee0c01ad271Cv8Log1Cv8.lgd

    Reply
  39. OlegBog1971

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

    Reply
  40. Serg O.

    под 8.2 — файлы разбиры по дням… формат 20170701000000.lgp — НЕ читается!

    выдаёт ошибку разбора строки — нет свойства MaxRowID

    ваша обработка только для 8.3 ?

    НАПИШИТЕ это в названии — БОЛЬШИМИ буквами

    Reply
  41. Serg O.

    не подключается лог базы 8.2 — 20180417000000.lgp

    выдаёт ошибку разбора строки

    Reply
  42. andy23

    (40) В описании обработки — Технические данные: Работает с журналом регистрации нового формата (sqlite)

    Reply
  43. LeoKeyn

    Выдается ошибка когда пытаюсь подключить серверную базу

    Reply
  44. LeoKeyn

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

    Reply
  45. alexburn

    (44)

    в скриптах по всей видимости какая-то ошибка

    Reply
  46. DarkAn

    Жаль, что только в новом формате 🙁

    Есть ли надежда увидеть разработку для старого формата?

    Reply
  47. andy23

    (46) Нет, такой надежды нет

    Reply
  48. WellMaster

    Хотел было скачать и попробовать, как раз есть реальная необходимость.

    Но ограничение по новому формату ЖР не позволяет.

    Reply
  49. MrWonder

    (48) Пока этого нету, но планирую реализовать подобный функционал в https://infostart.ru/public/872475/, коль такая потребность есть.

    Reply

Leave a Comment

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