Налаштування журналу подій 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування журналу подій 1С-Бітрікс
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування журналу подій 1С-Бітрікс

Журнал подій у Бітриксі (b_event_log) — вбудований механізм аудиту, який за замовчуванням працює у мінімальній конфігурації. З коробки він логує авторизації та критичні системні операції, але не фіксує бізнес-дії: зміни у каталозі, операції з замовленнями, дії в інфоблоках. Налаштування журналу — це приведення його у стан, коли він реально корисний для розбору інцидентів.

Включення та базова конфігурація

Управління журналом: Налаштування → Налаштування продукту → Налаштування модулів → Головний модуль → вкладка «Журнал подій».

Параметри, які потрібно задати:

  • Записувати подiї — включити (за замовчуванням може бути виключено)
  • Час зберігання записів — рекомендується 90 днів для продакшену, 30 днів для dev-оточення
  • Типи подій — відзначити всі необхідні категорії

Типи подій, доступні у штатному налаштуванні:

Тип Код Що фіксує
Авторизація USER_LOGIN Успішний вхід
Помилка авторизації USER_LOGIN_FAILED Невдалі спроби входу
Вихід USER_LOGOUT Завершення сесії
Зміна користувача USER_EDIT Редагування профілю/прав
Зміна прав GROUP_POLICY_CHANGED Зміна політик безпеки
Файлові операції FILE_DELETE Видалення через файловий менеджер

Перегляд та фільтрація

Журнал доступний у Налаштування → Інструменти → Журнал подій. Інтерфейс підтримує фільтрацію по:

  • Типу поді (AUDIT_TYPE_ID)
  • Модулю (MODULE_ID)
  • Користувачу (USER_ID)
  • Періоду (TIMESTAMP_X)
  • Рівню важливості (SEVERITY: INFO, WARNING, SECURITY)

Проблема штатного інтерфейсу — відсутність повнотекстового пошуку по полю DESCRIPTION. Якщо потрібно знайти конкретну зміну, використовуйте SQL:

SELECT * FROM b_event_log
WHERE AUDIT_TYPE_ID = 'IBLOCK_ELEMENT_UPDATE'
  AND DESCRIPTION LIKE '%"PRICE"%'
  AND TIMESTAMP_X >= '2024-01-01'
ORDER BY TIMESTAMP_X DESC
LIMIT 100;

Розширення списку подій

Штатний набір подій покриває безпеку, але не бізнес-логіку. Для додавання кастомних типів подій використовуйте CEventLog::Add():

CEventLog::Add([
    'SEVERITY' => 'INFO',
    'AUDIT_TYPE_ID' => 'CUSTOM_ORDER_STATUS',
    'MODULE_ID' => 'sale',
    'ITEM_ID' => $orderId,
    'DESCRIPTION' => "Статус змінений: $oldStatus → $newStatus",
]);

Кастомні типи автоматично з'являються у фільтрі журналу. Рекомендується використовувати префікс (CUSTOM_) для відтинку від штатних типів.

Налаштування автоочистки

Без ротації таблиця b_event_log розростається до сотень тисяч записів. Автоочистка налаштовується через агент:

CAgent::AddAgent(
    "CEventLog::CleanUpAgent();",
    "main",
    "N",
    86400  // раз на день
);

Агент видаляє записи старше строку, заданого у налаштуваннях модуля. Якщо потрібен архів — перед очисткою експортуйте дані через CEventLog::GetList() у CSV або окремої таблиці.

Моніторинг безпеки через журнал

Практичний мінімум для відслідковування підозрілої активності:

  • Брутфорс — більше 5 записів USER_LOGIN_FAILED з одної IP за 10 хвилин
  • Еzkалація привілеїв — подія USER_EDIT зі змін групи на адміністраторську
  • Масове видалення — серія подій видалення елементів за короткий промiжок

Для автоматичного сповіщення про ці ситуації потребуватиме окремий скрипт-аналізатор, запускається по cron, який парсить свіжі записи та відправляє сповіщення через CEvent::Send().

Налаштування журналу подій — задача на один робочий день. Результат: повна видимість критичних дій користувачів з ротацією та можливістю швидкого пошуку по інцидентах.