gifts2017

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

Опубликовал Андрей Шабашов (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
94
.rar 1.3.0 11,10Mb 94 Скачать

См. также

PowerTools от 1 000
Подписаться Добавить вознаграждение

Комментарии

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

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

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