Перейти к основному содержимому
Перейти к основному содержимому

Подключение Splunk к ClickHouse

Splunk — популярная технология для обеспечения безопасности и наблюдаемости. Это также мощный движок поиска и создания панелей мониторинга. Существует множество приложений Splunk, доступных для решения различных задач.

Для ClickHouse мы используем Splunk DB Connect App, который обеспечивает простую интеграцию с высокопроизводительным JDBC-драйвером ClickHouse для выполнения запросов к таблицам ClickHouse напрямую.

Идеальный случай для этой интеграции — это использование ClickHouse для больших источников данных, таких как NetFlow, бинарные данные Avro или Protobuf, DNS, журналы потока VPC и другие журналы OTEL, которые можно поделиться с вашей командой в Splunk для поиска и создания панелей мониторинга. Используя этот подход, данные не загружаются в слой индексации Splunk, а просто запрашиваются напрямую из ClickHouse, аналогично другим интеграциям визуализации, таким как Metabase или Superset.

Цель​

В этом руководстве мы будем использовать JDBC-драйвер ClickHouse для подключения ClickHouse к Splunk. Мы установим локальную версию Splunk Enterprise, но не будем индексировать никакие данные. Вместо этого мы будем использовать функции поиска через движок запросов DB Connect.

С помощью этого руководства вы сможете создать панель мониторинга, подключенную к ClickHouse, похожую на эту:

Splunk
примечание

Это руководство использует набор данных такси Нью-Йорка. Есть много других наборов данных, которые вы можете использовать из нашей документации.

Некоторые предварительные требования

Перед тем как начать, вам потребуется:

  • Splunk Enterprise для использования функций поиска
  • Установленные требования Java Runtime Environment (JRE) на вашей ОС или контейнере
  • Splunk DB Connect
  • Доступ администратора или SSH к вашему экземпляру ОС Splunk Enterprise
  • Подробности подключения к ClickHouse (см. здесь, если вы используете ClickHouse Cloud)

Установите и настройте DB Connect на Splunk Enterprise

Сначала вы должны установить Java Runtime Environment на вашем экземпляре Splunk Enterprise. Если вы используете Docker, вы можете использовать команду microdnf install java-11-openjdk.

Запишите путь java_home: java -XshowSettings:properties -version.

Убедитесь, что приложение DB Connect установлено на Splunk Enterprise. Вы можете найти его в разделе Приложения в веб-интерфейсе Splunk:

  • Войдите в Splunk Web и перейдите в Apps > Найти другие приложения
  • Используйте строку поиска, чтобы найти DB Connect
  • Нажмите зеленую кнопку "Установить" рядом со Splunk DB Connect
  • Нажмите "Перезапустить Splunk"

Если у вас есть проблемы с установкой приложения DB Connect, пожалуйста, смотрите эту ссылку для получения дополнительных инструкций.

После проверки установки приложения DB Connect добавьте путь java_home в приложение DB Connect в Конфигурация -> Настройки и нажмите сохранить, затем сбросить.

Splunk 2

Настройте JDBC для ClickHouse

Скачайте JDBC-драйвер ClickHouse в папку драйверов DB Connect, такую как:

Затем вам нужно отредактировать конфигурацию типов соединений в файле $SPLUNK_HOME/etc/apps/splunk_app_db_connect/default/db_connection_types.conf, чтобы добавить информацию о классе JDBC-драйвера ClickHouse.

Добавьте следующий фрагмент в файл:

Перезапустите Splunk с помощью $SPLUNK_HOME/bin/splunk restart.

Вернитесь в приложение DB Connect и перейдите в Конфигурация > Настройки > Драйверы. Вы должны увидеть зеленую галочку рядом с ClickHouse:

Splunk 3

Подключите поиск Splunk к ClickHouse

Перейдите в Конфигурация приложения DB Connect -> Базы данных -> Идентификаторы: создайте идентификатор для вашего ClickHouse.

Создайте новое соединение с ClickHouse в Конфигурация -> Базы данных -> Соединения и выберите "Новое соединение".


Добавьте данные хоста ClickHouse и убедитесь, что опция "Включить SSL" отмечена:

Splunk 5

После сохранения соединения вы успешно подключились к ClickHouse через Splunk!

примечание

Если вы получили ошибку, убедитесь, что вы добавили IP-адрес вашего экземпляра Splunk в список IP-доступа ClickHouse Cloud. См. документацию для получения дополнительной информации.

Выполните SQL-запрос

Теперь мы выполним SQL-запрос, чтобы проверить, что все работает.

Выберите свои данные подключения в SQL-эксплорере из раздела DataLab приложения DB Connect. Мы используем таблицу trips для этой демонстрации:

Splunk 6

Выполните SQL-запрос для таблицы trips, который возвращает количество всех записей в таблице:

Splunk 7

Если ваш запрос успешен, вы должны увидеть результаты.

Создайте панель мониторинга

Давайте создадим панель мониторинга, которая сочетает SQL и мощный язык обработки Splunk (SPL).

Перед тем как продолжить, вы должны сначала деактивировать DPL-защиты.

Запустите следующий запрос, который показывает нам 10 районов с наибольшим числом заборов:

Выберите вкладку визуализации, чтобы просмотреть созданную колонную диаграмму:

Splunk 8

Теперь мы создадим панель мониторинга, нажав "Сохранить как" > "Сохранить в панель мониторинга".

Давайте добавим еще один запрос, который показывает средний тариф в зависимости от количества пассажиров.

На этот раз давайте создадим визуализацию в виде столбчатой диаграммы и сохраним ее на предыдущей панели мониторинга.

Splunk 9

Наконец, давайте добавим еще один запрос, который показывает взаимосвязь между числом пассажиров и расстоянием поездки:

Наша финальная панель мониторинга должна выглядеть так:

Splunk 10

Данные временных рядов

Splunk имеет сотни встроенных функций, которые панели мониторинга могут использовать для визуализации и представления данных временных рядов. Этот пример сочетает SQL и SPL для создания запроса, который может работать с данными временных рядов в Splunk.

Узнать больше

Если вы хотите узнать больше о Splunk DB Connect и о том, как создавать панели мониторинга, посетите документацию Splunk.