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

Опубликовал Андрей Шабашов (andy23) в раздел Администрирование - Журнал регистрации

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

 

 Версия 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) и творите, там ничего сложного нет.


Скачать файлы

Наименование Файл Версия Размер
MonitorEventLog1C.rar
.rar 11,10Mb
14.07.15
100
.rar 1.3.0 11,10Mb 100 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Павел Колабухов (kolabaister) 29.06.15 19:09 Сейчас в теме
Как я понимаю, это только для файловых версий баз?
2. Андрей Шабашов (andy23) 333 29.06.15 20:00 Сейчас в теме
(1) kolabaister,
Нет, для клиент-серверной тоже годится, файл журнала регистрации для файловой версии хранится в каталоге базы в паке 1Cv8Log, а для клиент-серверной C:\Program Files\1cv8\srvinfo\<Имя кластера сервера>\<Идентификатор базы на сервере>\1Cv8Log
3. Михаил Немчинов (mnemchinov) 90 30.06.15 09:40 Сейчас в теме
4. Михаил Немчинов (mnemchinov) 90 30.06.15 09:57 Сейчас в теме
5. Алексей Драчков (Bassgood) 516 30.06.15 10:16 Сейчас в теме
(0) Плюс за интересную разработку.
А когда примерно планируется реализация пункта развития "Оповещение о событии по фильтру (пользователь/событие)"? Очень актуально для быстрого реагирования на возникновение определенных ошибок.
6. Андрей Шабашов (andy23) 333 30.06.15 10:47 Сейчас в теме
(4) mnemchinov,
да тоже столкнулся с этим в журнале регистрации есть поле "severity", если там стоит 2 то это признак ошибки
но некоторые сообщения об ошибках не ставят там двойку
наверное нужно сделать плюс к этому признаку еще на наличие в сообщении слова "Ошибка"
7. Андрей Шабашов (andy23) 333 30.06.15 10:49 Сейчас в теме
(5) Bassgood, это зависит от интереса сообщества к разработке + наличие свободного времени
8. Алексей Драчков (Bassgood) 516 30.06.15 11:42 Сейчас в теме
(7) andy23, по крайней мере на ИС подобной оповещалки по событиям ЖР мне так и не удалось найти =(
9. Маским Константинович (MherArsh) 20 30.06.15 14:07 Сейчас в теме
А производительность хорошая ??
Как программа себя ведет если лог файл больше гига?

Поделитесь кот опробовал.
10. Андрей Шабашов (andy23) 333 30.06.15 14:25 Сейчас в теме
(9) MherArsh,
У меня файл журнала 8 Гиг, все ОК
Думаю размер тут не страшен, будет хорошая скорость и дальше
если интересно, то работает это так:
при старте делается запрос и запоминается последний maxRowID (номер последней записи), через каждые 2сек делается запрос с условием rowID > maxRowID + (кол-во записей которые пришли в прошлый раз)
так как rowID это конечно же индексированное поле, то работает это шустро
более подробно можно открыть код в файле server.js и посмотреть
11. Игорь Дзеса (Kamikadze) 44 01.07.15 10:57 Сейчас в теме
У меня отправка почты не работает.
12. Маским Константинович (MherArsh) 20 01.07.15 11:25 Сейчас в теме
(10) andy23, Спасибо за ответ, все понятно.
13. Андрей Шабашов (andy23) 333 01.07.15 12:06 Сейчас в теме
(11) Kamikadze, тесовое письмо отсылается?
14. Maksim Kolyada (algabas) 13 03.07.15 16:41 Сейчас в теме
А как можно скачать файл?
15. Андрей Шабашов (andy23) 333 07.07.15 17:25 Сейчас в теме
16. Михаил Немчинов (mnemchinov) 90 09.07.15 10:02 Сейчас в теме
Жаль что второй плюс нельзя поставить :) Дождусь "Мониторинг работы сервера". Туда еще бы загрузку процессоров, объем используемой памяти добавить + оповещения... Но боюсь, тогда проект сразу перерастет в коммерческий и жаба опять заставит всё писать самому :)
А (4) исправлено?
17. Aleksey Zhuchkov (MrWonder) 100 09.07.15 10:21 Сейчас в теме
Скачал чтобы смотреть ЖР нового формата(lgd), натравил на файл ЖР в 172 GB, все фильтры отключены. Во всех событиях показывает 32 события. ЧЯДНТ?
18. Андрей Шабашов (andy23) 333 09.07.15 10:31 Сейчас в теме
Спасибо за оценку! Да есть планы и дальше развивать проект, как там с коммерцией будет - не знаю ;) Пока интересна сама платформа разработки Node.js и то, что на ней можно делать.
А по поводу (4), то это как бы не ошибка - описано в (6), я доработал механизм оповещений и это решает эту проблему: "По умолчанию настроены два типа оповещения: с типом "2-Ошибка" и вхождением части слова "Ошиб" в информационное описание."
19. Андрей Шабашов (andy23) 333 09.07.15 10:37 Сейчас в теме
(17) MrWonder, Ух 172GB - не кисло! на таких размерах не тестил, не было...
что-то я не могу понять как это выглядит "Во всех событиях показывает 32 события. Можно скриншот?
А, кажись я понял - наверно было ожидание увидеть все события на 172GB )
Нет, это монитор реального времени и показывает, то что происходит в текущий момент
20. Андрей Кондратенко (Kondratenko.as) 296 14.08.15 10:30 Сейчас в теме
Работает только в Windows? Попробовал запустить в линукс Минт 17.2 под Wine ничего не получилось.
21. Андрей Шабашов (andy23) 333 14.08.15 11:02 Сейчас в теме
(20) Kondratenko.as, разработка тестировалась только на Windows (это есть в описании), но по идеи должна работать и на Линуксе, только придется предпринять ряд шагов: 1) необходимо скачать и установить Node.js https://nodejs.org/
2) из всего архива, что Вы скачали необходимо только содержимое папки ...\MonitorEventLog1C\NodeJSPortable\Data\
чтобы запустить программу необходимо запустить команду % node server.js
22. Вячеслав Алпатов (DonAlPatino) 8 15.01.16 11:52 Сейчас в теме
Клиент-серверная база данных 8.3.6.2390. Сервер в этот момент работает.

C:\MonitorEventLog1C\NodeJSPortable\Data\node_modules\sqlite3\­lib\trace.js:28
throw err;
^
TypeError: Cannot read property 'maxRowID' of undefined
at C:\MonitorEventLog1C\NodeJSPortable\Data\server.js:201:31
at Statement.errBack (C:\MonitorEventLog1C\NodeJSPortable\Data\node_modules\
sqlite3\lib\sqlite3.js:16:21)
--> in Database#get('SEL ECT max(rowID) AS maxRowID FR OM EventLog', [Function])
at Database.<anonymous> (C:\MonitorEventLog1C\NodeJSPortable\Data\server.js:
200:16)

---- Подключился к базе с пустыми логами :-)
23. Олег Газукин (hekker) 01.02.16 17:46 Сейчас в теме
Хороший монитор, мне понравился. Еще бы понять как завести несколько баз, а то у меня на серваке на каждом по 20 баз вращается. Тестил на 8.3.7.1901. все ок, а вот на 8.2 не пошла, расширение журнальчика логов - не совпало ;-). А так спасибо классный проект.
24. Амир Фарукшин (farukshin) 49 02.09.16 09:23 Сейчас в теме
(17) MrWonder,
натравил на файл ЖР в 172 GB, все фильтры отключены. Во всех событиях показывает 32 события. ЧЯДНТ?

С такими объемами нужно в ElasticSearch, отчет по гораздо большому объему ЖР строиться мгновенно.
25. Андрей Шабашов (andy23) 333 02.09.16 12:48 Сейчас в теме
(24) farukshin,читаем внимательно - это монитор реального времени и показывает, то что происходит в текущий момент
26. Евгений Сосна (pumbaE) 519 02.09.16 13:19 Сейчас в теме
(25) andy23, прям таки реального времени? Каждое новое событие сразу добавляется с допустимым лагом в 0.2 мс или же "не реального" времени?
27. Андрей Шабашов (andy23) 333 02.09.16 14:35 Сейчас в теме
(26) pumbaE, все таки реального, ну или почти реального... каждые 2 сек. опрос идет в (10) andy23, алгоритм описан
28. Илья Вильчик (TreeDogNight) 14 25.02.17 05:11 Сейчас в теме
Жалко, что развитие данной разработки остановилось...
29. Андрей Шабашов (andy23) 333 25.02.17 11:36 Сейчас в теме
(28) Ну давайте дальше развивать)
что интересует?
30. Илья Вильчик (TreeDogNight) 14 25.02.17 15:30 Сейчас в теме
(29)Из того, что вы написали в планах развития, больше всего интересует:
Подключение к нескольким базам.
Поиск и отбор событий по фильтру: период, пользователь, объект метаданных, поиск вхождения определенной подстроки в описании события (номер документа, наименование и т.п.)

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