Как скормить вывод сценария оболочки в кафку?
Я пытаюсь передать некоторые данные Netflow в Кафку. у меня есть немного netflow.pcap
файлы, которые я читаю как
tcpdump -r netflow.pcap
и получить такой вывод:
14:48:40.823468 IP abts-kk-static-242.4.166.122.airtelbroadband.in.35467 > abts-kk-static-126.96.166.122.airtelbroadband.in.9500: UDP, length 1416
14:48:40.824216 IP abts-kk-static-242.4.166.122.airtelbroadband.in.35467 > abts-kk-static-126.96.166.122.airtelbroadband.in.9500: UDP, length 1416
,,,,
В официальных документах они упоминают традиционный способ запуска производителя кафки, запуска потребителя кафки и в терминале вводят некоторые данные о производителе, которые будут показаны потребителю. Хорошо. За работой.
Здесь они показывают, как ввести файл для производителя кафки. Имейте в виду, только один файл, а не несколько файлов.
Вопрос:
Как я могу передать вывод сценария оболочки в брокер kakfa?
Например, сценарий оболочки:
#!/bin/bash
FILES=/path/to/*
for f in $FILES
do
tcpdump -r netflow.pcap
done
Я не могу найти документацию или статью, где они упоминают, как это сделать. Любая идея? Спасибо!
1 ответ
Ну, основываясь на ссылке, которую вы дали о том, как использовать производитель оболочки kafka с входным файлом, вы можете сделать то же самое со своим выводом. Вы можете перенаправить вывод в файл, а затем использовать производителя.
Обратите внимание, что я использовал >>
чтобы добавить в файл и не перезаписывать его.
Например:
#!/bin/bash
FILES=/path/to/*
for f in $FILES
do
tcpdump -r netflow.pcap >> /tmp/tcpdump_output.txt
done
kafka-console-produce.sh --broker-list localhost:9092 --topic my_topic
--new-producer < /tmp/tcpdump_output.txt