Журналы контейнеров Azure Kubernetes для Event Hub

#azure #kubernetes #azure-eventhub

#azure #kubernetes #azure-eventhub

Вопрос:

Как регистрировать (stdout / stderr) из всех контейнерных модулей azure Kubernetes в event hub. Я могу просмотреть все журналы с помощью Log Analytics workspaces>> Журналы, используя язык запросов Azure.

Я хочу отправить все журналы в центр событий.

Кто-нибудь может что-нибудь предложить по этому поводу?

Ответ №1:

Вы можете легко пересылать журналы контейнеров в Event Hubs с помощью вывода Kafka от Fluent-Bit.

Вот беглая документация для Kafka — https://docs .fluentbit.io/manual/pipeline/outputs/kafka

А вот интеграция клиента Kafka с центрами событий — https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-for-kafka-ecosystem-overview

Ответ №2:

У меня работало с использованием вывода fluentbit kafka в Azure EventHub

td-agent-bit.conf

 [INPUT]
  Name                tail
  Path                xxx.log
  Refresh_Interval    10

[OUTPUT]
  Name        kafka
  Match       *
  brokers     xxx.xxx.windows.net:9093
  topics      xxx
  rdkafka.security.protocol   SASL_SSL
  rdkafka.sasl.username       $ConnectionString
  rdkafka.sasl.password       Endpoint=sb://xxx.xxx.windows.net/;SharedAccessKeyName=xxx;SharedAccessKey=xxx
  rdkafka.sasl.mechanism      PLAIN

[OUTPUT]
  name  stdout
  match *
 

Внутри контейнера docker (ДОЛЖНО БЫТЬ или сбой брокера / сбой ssl)

docker-compose.yml

 version: "3.7"
services:
  fluent-bit:
    image: fluent/fluent-bit:1.6.2
    container_name: fluentbit
    restart: always
    volumes:
      - ./td-agent-bit.conf:/fluent-bit/etc/fluent-bit.conf
      - ./xxx.log:/fluent-bit/etc/xxx.log:ro