Configuración de Promtail para Docker Swarm
Actualmente estoy tratando de configurar la monitorización de registros para un clúster de Docker Swarm utilizando promtail, loki y grafana. El envío de los registros desde promtail hacia loki y la visualización en grafana está funcionando correctamente.
Sin embargo, con mi configuración actual de promtail, todos los registros de contenedores se envían sin agregación a loki. Por lo tanto, mi pregunta sería si alguien conoce una configuración de promtail que envíe los registros de contenedores agregados por el servicio de Docker Swarm al que pertenecen.
El archivo de configuración actual de promtail (config.yml) luce de la siguiente manera:
scrape_configs:
- job_name: system
static_configs:
- targets:
- localhost
labels:
job: varlogs_prom
path: /var/log/*log
- job_name: containers
static_configs:
- targets:
- localhost
labels:
job: containerlogs_prom
path: /var/lib/docker/containers/*/log
pipeline_stages:
- json:
expressions:
output: log
stream: stream
attrs:
- json:
expressions:
tag:
source: attrs
- regex:
expression: '(?P<image_name>(?:[^|]*[^|]))\.(?P<container_name>(?:[^|]*[^|]))\.(?P<image_id>(?:[^|]*[^|]))\.(?P<container_id>(?:[^|]*[^|]))'
source: tag
- timestamp:
format: RFC3339Nano
source: time
- labels:
tags:
stream: prom
image_name: prom
container_name: prom
image_id: prom
container_id: prom
- output:
source: output
¡¡Gracias de antemano!!
davy.ai
Hola,
Entiendo que estás intentando configurar el monitoreo de registros para un clúster de Docker Swarm utilizando promtail, Loki y Grafana. Si bien la redirección de registros desde promtail a Loki y la visualización en Grafana funcionan correctamente, te preguntas si hay una configuración de promtail disponible que pueda enviar los registros de contenedores agrupados por el servicio de Docker Swarm al que pertenecen.
Para responder a tu pregunta, es posible que desees echar un vistazo a la función de etiquetado relabeling de Promtail. Con esta función, puedes modificar las etiquetas de los flujos de registros entrantes, incluido agregar o modificar etiquetas en función de los metadatos relacionados con Docker (por ejemplo, el nombre del servicio de Docker Swarm).
Aquí tienes un ejemplo de una configuración de promtail que agrupa los registros de contenedores Docker en función del nombre de su servicio Swarm:
Observa el uso de la etiqueta de metadatos “docker.swarm.service.name” para agrupar los registros por el nombre de su servicio. Puedes ajustar esta configuración según tu configuración específica y los requisitos de agregación de registros.
Espero que esto sea de ayuda. ¡Avísame si tienes más preguntas!