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

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

ClickHouse Supported

Splunk - это популярная технология для обеспечения безопасности и мониторинга. Она также является мощным движком для поиска и создания панелей мониторинга. Существует сотни приложений Splunk для различных сценариев использования.

Для ClickHouse в частности мы используем Приложение Splunk DB Connect, которое имеет простую интеграцию с высокопроизводительным 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 Enterprise для использования функций поискового узла
  • Установленные требования Java Runtime Environment (JRE) на вашей ОС или контейнере
  • Splunk DB Connect
  • Доступ администратора или SSH к вашему экземпляру Splunk Enterprise OS
  • Подробности подключения к 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 и перейдите в Приложения > Найти другие приложения
  • Используйте строку поиска, чтобы найти DB Connect
  • Нажмите зеленую кнопку "Установить" рядом с Splunk DB Connect
  • Нажмите "Перезапустить Splunk"

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

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

Настройка 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 к ClickHouse

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

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


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

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

примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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