Cómo registrar (stdout/stderr) desde todos los contenedores de Azure Kubernetes al centro de eventos. Puedo ver todos los registros por áreas de trabajo de Log Analytics >> Registros usando un lenguaje de consulta de Azure.
Quiero enviar todos los registros al centro de eventos.
¿Alguien puede sugerir sobre esto?
Puede reenviar fácilmente registros de contenedores a Event Hubs a través de la salida de Kafka de Fluent-Bit.
Aquí está la documentación de Fluent-Bit para Kafka: https://docs.fluentbit.io/manual/pipeline/outputs/kafka
Y aquí está la integración del cliente Kafka con Event Hubs: https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-for-kafka-ecosystem-overview
Funcionó para mí usando la salida de fluentbit kafka a 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 *Dentro del contenedor docker (DEBE TENER o fallar el intermediario/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