Splunk: выполнить один и тот же запрос к нескольким источникам данных

#database #splunk #splunk-query #dbconnect #splunk-hec

#База данных #splunk #splunk-запрос #dbconnect #splunk-hec

Вопрос:

у меня есть несколько dabatases (> 100) с идентичной структурой. Для бизнес-мониторинга у меня есть около 80 запросов, которые проверяют информацию в базе данных. Теперь я хочу выполнить каждый из этих запросов к каждой из этих баз данных и загрузить результат в splunk. В splunk возможно ли определить > 100 подключений к базе данных один раз и 80 запросов один раз, а затем выполнить какой-нибудь «волшебный» шаг для выполнения каждого оператора в каждой базе данных? Я не хочу создавать новое соединение для каждой комбинации базы данных и запроса.

Ответ №1:

Единственный способ, которым Splunk должен подключиться к «самой» базе данных, — это через DB Connect (docs)

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

Насколько я знаю, нет инструмента, который подключался бы к нескольким базам данных без уникальных подключений — это то, что серверы баз данных применяют в транзакционных моделях.

При этом, если у вас есть способ перечислить все базы данных, к которым вы хотите подключиться, и место для сохранения запросов, которые вы хотите выполнить, вы могли бы создать либо

  • надстройка для ввода по сценарию, которая может использовать выбранный вами язык (любой, доступный на серверах Splunk / конечных точках, на которых он запущен) для итерации по каждой базе данных, выполнения каждого запроса и отправки результатов обратно в Splunk, или
  • аналогично опции ввода по сценарию, напишите сценарий (или набор сценариев), который выполнял бы соответствующие запросы к базам данных, на которые вы ориентируетесь, и отправляйте результаты в сборщик событий HTTP (HEC) (у HL есть отличная статья о HEC здесь, и вот класс Python Джорджа Старчера для HEC)