#python #apache-kafka #network-traffic
#питон #апач-кафка #сетевой трафик
Вопрос:
Я использую Кафку для мониторинга журналов на предмет трафика. Однако, поскольку сервер используется для других проектов, я улавливаю дополнительный трафик в журналах не только для этой темы, но, похоже, каким-то образом улавливаю его весь.
Как такое может быть? Разве потребитель не должен читать только определенную тему? Кроме того, все это входит в раздел 0. Я не уверен, важно это или нет. Я новичок в Кафке. Спасибо и с уважением,
Потребитель настраивается следующим образом:
self.__traffic_consumer = KafkaConsumer( 'ai', #Topic bootstrap_servers = ['10.5.1.1:9094'], auto_offset_reset = 'earliest', enable_auto_commit = True, #group_id = 'ai-mining_group', value_deserializer = lambda x : loads(x.decode('utf-8')), consumer_timeout_ms = 1000, )
Комментарии:
1. Пожалуйста, покажите журналы, на которые вы ссылаетесь
2. В данном конкретном случае, к сожалению, я не могу поделиться содержимым журналов. Однако я не уверен, что это необходимо. Вопрос по этой теме может быть более общим и похожим на другие типы журналов, а не только на журналы трафика.
3. Я все еще не знаю, что вы подразумеваете под «журналами трафика». AFAIK,
kafka-python
не выдает журналы трассировки TCP на клиенте-потребителе, не говоря уже о том, чтобы помещать их в раздел(ы) самостоятельно. Показанный вами код действительно читается из определенной темы и всех ее разделов. Вы тоже должны увидеть то же самое сkafka-console-consumer --topic ai
, так что неясно, ищете ли вы решение на Python или нет4. Я понимаю. Чтобы прояснить это, программа установки выполняет следующее: TCP-воспроизведение файлов PCAP, имитирующих трафик —gt; Zeek conn_log —gt;gt; Кафка. Стрелки показывают, как информация поступает вплоть до Кафки.
5. Хорошо, так что начните с основ…
kafka-console-consumer --topic ai
Показывает ли те же данные, что и потребитель python? Если это так, то проблема не в коде Python. Если вам нужно отфильтровать некоторые данные, вам нужно либо сделать это «вверх по течению» в своем инструменте воспроизведения, либо добавить некоторые условия в код потребителя