Кафка для теста:

1
2
3
KAFKA_CLUSTER_ID="$(bin/kafka-storage.sh random-uuid)"
bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties
bin/kafka-server-start.sh config/kraft/server.properties

В файле config/kraft/server.properties ставим num.partitions=4

В /etc/rsyslog/apache.conf закидываем (broker надо поправить на нужное).

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
module(load="omkafka")

$template logstash-httpd, "%msg%\n"

main_queue(
  queue.workerthreads="8"
  queue.dequeueBatchSize="100"
  queue.size="10000"
)

if ( $syslogfacility-text == "local6" ) then
{
  action(
    broker=["ololol.local:9092"]
    type="omkafka"
    topic="httpdtest-kafka"
    template="logstash-httpd"
    partitions.auto="on"
  )
}

partitions.auto=”on” нужно в случае если у нас больше одной партиции

Проверяем че нить пуляем туда

1
echo "ololol alalal"|/usr/bin/logger -t apache -p local6.info

Видим что все лежит в разных партициях ураган… img

Ну дальше короче можно читать logstash эт потом допишу если че…