Устранение проблем при ретроспективной обработке событий
В данном разделе приведены возможные проблемы при ретроспективной нормализации или корреляции событий и способы их решения.
Ошибка отсутствия драйвера в логах коллектора
Проявление: в логах коллектора отображается ошибка, сообщающая об отсутствии подходящего драйвера для строки подключения:
No suitable driver found for jdbc:es://IP:9200
Причина: коллектор был запущен до завершения процесса синхронизации нового драйвера базы данных с узлами кластера.
Решение:
-
Убедитесь, что новый драйвер загружен в систему, одним из следующих способов:
-
Через командную строку
-
Через Lens
-
Подключитесь к терминалу master-узла кластера.
-
Получите список подов коллекторов, выполнив следующую команду:
kubectl get pods -A | grep wl.Пример вывода команды:<namespace> wl.<collector_id>-col-m-<pod_hash> 2/2 Running 0 12m
Здесь:
-
<namespace>— пространство имен, в котором установлена система. -
<collector_id>— идентификатор коллектора. -
<pod_hash>— уникальный идентификатор пода, генерируемый системой автоматически.
-
-
Скопируйте идентификатор коллектора, в котором необходимо проверить наличие драйвера.
-
Проверьте наличие файла драйвера внутри контейнера коллектора:
kubectl exec -n <namespace> \ wl.<collector_id>-col-m-<pod_hash> \ -c <collector_id>-col-m \ -- sh -c 'ls /app/java/clickhouse-jdbc-*-all-dependencies.jar 2>/dev/null'Здесь:
-
<collector_id>— идентификатор коллектора, полученный на предыдущем шаге. -
<pod_hash>— уникальный идентификатор пода, генерируемый системой автоматически.
В выводе команды должен отобразиться загруженный вами JAR-файл, например,
clickhouse-jdbc-0.9.8-all-dependencies.jar. -
-
Подключитесь к кластеру с помощью Lens.
-
В выпадающем меню свойств кластера выберите пункт Workloads → Pods.
-
Выберите пространство имен, в котором установлена система, в выпадающем списке Select Namespace в правой части экрана. Отобразится таблица подов кластера.
-
Найдите под коллектора по его идентификатору:
wl.<collector_id>-col-m-<pod_hash>. -
Откройте терминал контейнера
<collector_id>-col-m. -
Перейдите в директорию с драйверами:
cd java/ -
Выполните команду
lsи убедитесь, что в списке присутствует необходимый JAR-файл драйвера.
-
-
Перезапустите коллектор. Синхронизация драйвера может занять несколько минут, после чего ошибка должна исчезнуть.
Ошибка при запуске коллектора
Проявление: коллектор завершает работу с ошибкой при запуске. В Lens отображается статус нехватки ресурсов: Insufficient memory.
Причина: нехватка ресурсов на worker-узле для запуска коллектора.
Решение: уменьшите выделяемые ресурсы (RAM и CPU) для коллектора, чтобы он мог быть запущен на доступном worker-узле.
Ошибка memory limit exceeded
Проявление: в логах коллектора и базы данных ClickHouse (/var/log/clickhouse-server/clickhouse-server.err.log) фиксируется ошибка memory limit exceeded:
Code: 241. DB::Exception: (total) memory limit exceeded: would use 3.38 GiB (attempt to allocate chunk of 4.16 MiB bytes), current RSS: 1.01 GiB, maximum: 3.37 GiB. (MEMORY_LIMIT_EXCEEDED)
Причина: при ретроспективной нормализации или корреляции коллектор запрашивает из базы данных ClickHouse слишком большой объем событий за один раз. В результате превышается лимит выделенной памяти для выполнения запроса.
Решение:
-
Вариант 1. Уменьшите количество вычитываемых событий за один запрос в настройках точки входа: в параметрах SQL-запрос и Максимальное количество строк.
-
Вариант 2:
-
Выделите дополнительный объем ОЗУ для сервера, на котором развернута база данных ClickHouse.
-
Перезапустите службу базы данных ClickHouse.
-
Была ли полезна эта страница?