Краткое руководство. Прием данных из Logstash в Azure Data Explorer
Внимание
Этот соединитель можно использовать в аналитике в режиме реального времени в Microsoft Fabric. Используйте инструкции в этой статье со следующими исключениями:
- При необходимости создайте базы данных с помощью инструкций в статье "Создание базы данных KQL".
- При необходимости создайте таблицы с помощью инструкций в статье "Создание пустой таблицы".
- Получение URI запроса или приема с помощью инструкций в URI копирования.
- Выполнение запросов в наборе запросов KQL.
Logstash — это конвейер с открытым кодом на стороне сервера для обработки данных, который одновременно принимает данные из множества источников, преобразовывает данные, а затем отправляет их в избранный "тайник". В этой статье вы отправите эти данные в Azure Data Explorer, который представляет собой быструю и хорошо масштабируемую службу исследования данных для журналов и данных телеметрии. Сначала вы создадите таблицу и сопоставление данных в тестовом кластере, а затем укажете Logstash отправить данные в таблицу и проверить результаты.
Примечание.
Этот коннектор в настоящее время поддерживает только формат данных json.
Необходимые компоненты
- Учетная запись Майкрософт или удостоверение пользователя Microsoft Entra. Подписка Azure не обязательна.
- Кластер и база данных Azure Data Explorer. Создайте кластер и базу данных.
- Инструкции по установке Logstash версии 6+.
Создание таблицы
При наличии кластера и базы данных можно приступать к созданию таблицы.
Чтобы создать таблицу, выполните следующую команду в окне запроса базы данных:
.create table logs (timestamp: datetime, message: string)
Чтобы убедиться, что таблица
logs
создана и является пустой, выполните следующую команду:logs | count
Создание сопоставления
Сопоставление используется службой Azure Data Explorer для преобразования входящих данных в схему целевой таблицы. Следующая команда создает сопоставление с именем basicmsg
, которое извлекает свойства из входящего JSON, как отмечено в path
, и выводит их в column
.
Выполните следующую команду в окне запроса:
.create table logs ingestion json mapping 'basicmsg' '[{"column":"timestamp","path":"$.@timestamp"},{"column":"message","path":"$.message"}]'
Установка подключаемого модуля выходных данных
Подключаемый модуль выходных данных Logstash взаимодействует с Azure Data Explorer и отправляет данные в службу. Дополнительные сведения см. в статье Подключаемый модуль Logstash.
В командной оболочке перейдите к корневому каталогу Logstash и выполните следующую команду, чтобы установить подключаемый модуль:
bin/logstash-plugin install logstash-output-kusto
Настройка Logstash для создания примера набора данных
Logstash может создавать примеры событий, которые можно использовать для тестирования сквозного конвейера. Перейдите к следующему разделу, если вы уже используете Logstash и имеете доступ к собственному потоку событий.
Примечание.
Если вы используете собственные данные, измените объекты таблицы и сопоставления, определенные на предыдущих шагах.
Измените новый текстовый файл, который будет содержать необходимые параметры конвейера (используя vi):
vi test.conf
Вставьте следующие параметры, которые сообщат Logstash о создании 1000 тестовых событий:
input { stdin { } generator { message => "Test Message 123" count => 1000 } }
Эта конфигурация также включает подключаемый модуль входных данных stdin
, который позволит вам самостоятельно писать дополнительные сообщения (обязательно используйте Ввод, чтобы отправить их в конвейер).
Настройка Logstash для отправки данных в Azure Data Explorer
Вставьте следующие параметры в тот же файл конфигурации, который использовался на предыдущем шаге. Замените все заполнители соответствующими значениями для настройки. Дополнительные сведения см. в разделе "Создание приложения Microsoft Entra".
output {
kusto {
path => "/tmp/kusto/%{+YYYY-MM-dd-HH-mm-ss}.txt"
ingest_url => "https://ingest-<cluster name>.kusto.windows.net/"
app_id => "<application id>"
app_key => "<application key/secret>"
app_tenant => "<tenant id>"
database => "<database name>"
table => "<target table>" # logs as defined above
json_mapping => "<mapping name>" # basicmsg as defined above
}
}
имени параметра | Description |
---|---|
path | Подключаемый модуль Logstash записывает события во временные файлы перед их отправкой в Azure Data Explorer. Этот параметр включает в себя путь, куда следует записывать файлы, и выражение времени для смены файлов, чтобы активировать отправку в службу Azure Data Explorer. |
ingest_url | Конечная точка Kusto для обмена данными, связанными с приемом. |
app_id, app_key и app_tenant | Учетные данные, необходимые для подключения к Azure Data Explorer. Обязательно используйте приложение с привилегиями приема. |
database | Имя базы данных для размещения событий. |
table | Имя целевой таблицы для размещения событий. |
json_mapping | Сопоставление используется для сопоставления строки в формате JSON входящего события в правильный формат строки (определяет, какое свойство входит в какой столбец). |
Запуск Logstash
Теперь мы готовы запустить Logstash и проверить наши параметры.
В командной оболочке перейдите к корневому каталогу Logstash и выполните следующую команду:
bin/logstash -f test.conf
Вы должны увидеть информацию на экране, а затем 1000 сообщений, созданных нашим примером конфигурации. На этом этапе вы также можете вручную ввести дополнительные сообщения.
Через несколько минут выполните следующий запрос Data Explorer, чтобы просмотреть сообщения в определенной вами таблице:
logs | order by timestamp desc
Нажмите клавиши Ctrl + C, чтобы выйти из Logstash.
Очистка ресурсов
Выполните следующую команду в базе данных, чтобы очистить таблицу logs
:
.drop table logs