
He configurado Docker para usar el controlador de registro syslog. Mi daemon.json se ve así:
{
"log-driver": "syslog",
"log-opts": {
"syslog-address": "tcp://192.168.1.10:1514",
"mode": "non-blocking",
"tag": "{{.ImageName}}/{{.Name}}"
}
}
De acuerdo adocumentos de Docker en el parámetro de etiqueta, esto debería producir una salida que incluya el nombre de host del dispositivo host. Esto no sucede; mis registros se ven así (truncados):
<27>Dec 22 19:27:44 authelia/authelia/authelia[3693936]: time="2022-12-22T19:27:44-05:00" level=info msg="...
Podría simplemente escribir el nombre del host en el parámetro de etiqueta, pero me gustaría usar esta configuración en muchas máquinas. ¿Me estoy perdiendo de algo?
Respuesta1
Descubrí el problema. La solución fue (como siempre) leer más documentos.
https://docs.docker.com/config/containers/logging/syslog/#options
syslog-format The syslog message format to use. If not specified the local UNIX syslog format is used, without a specified hostname. Specify rfc3164 for the RFC-3164 compatible format, rfc5424 for RFC-5424 compatible format, or rfc5424micro for RFC-5424 compatible format with microsecond timestamp resolution.
Si no especifica un formato, omitirá el nombre de host.