Назад | Перейти на главную страницу

Как лучше всего тестировать конвейеры Logstash?

У нас есть несколько Logstash, которые извлекают данные из очереди и затем вставляют записи в Elasticsearch.

Есть ли хороший способ программного тестирования конвейеров, чтобы мы могли включить его как "модульные тесты" когда мы создаем запросы на включение в репозиторий конвейера?

Прямо сейчас мы тестируем только локально, изменяя место, в которое конвейер будет писать (Elasticsearch, изменено на stdout), а затем мы оцениваем запись, чтобы проверить, работают ли изменения должным образом.

Там не так много всего.

Один из подходов, который стал возможным с новым (начиная с LS6.x) API статистики, заключается в отслеживании количества совпадений стадии фильтрации для заданного набора входных данных. Если у вас есть Grok-этап с определенным именем, он должен коснуться N документов, чтобы он прошел, а вывод downstage, который использует поля, отмеченные этим более ранним состоянием Grok, также должен обрабатывать N строк. Вроде того.