Estoy instalando un paquete personalizado para /opt/package_namealmacenar archivos de configuración /etc/opt/package_namey archivos estáticos /var/opt/package_name/static/, todo siguiendo las convenciones sugeridas por FHS. [ 1 ] [ 2 ] [ 3 ]
También necesito almacenar algunos archivos de registro. Quiero que sean detectables por las herramientas de análisis, por lo que también deberían estar en una ubicación convencional. En caso de que entren:
/var/log/package_name(como un paquete del sistema, aunque este sea un paquete personalizado)/var/opt/package_name/log(después de la/var/optconvención, pero ¿se puede descubrir?)- ¿algo más?

Respuestas:
Los colocaría en
/var/log/package_name; satisface el principio de menos sorpresa mejor que/var/opt/package_name/log. No tengo una cita para esto; simplemente coincide donde buscaría registros.También podría renunciar a escribir mis propios archivos de registro y, en su lugar, iniciar sesión
syslogcon una etiqueta y facilidad apropiadas; Si busco una integración limpia con herramientas de análisis establecidas, no creo que pueda mejorar mi canal de comunicaciones:syslog.logrotatedecirme que suelte el archivo y abra uno nuevo. ¡Ni siquiera tengo que contarlogrotatesobre nuevos archivos para rotar!rsyslog, estarán en uso si es necesario, por lo que no tengo que pensar en implementar esa función yo mismo.A menos que esté haciendo un formato binario personalizado para mi registro e incluso entonces, prefiero formatos de texto analizables por máquina amigables con syslog como JSON. Me cuesta mucho justificar mis propios archivos de registro; Las herramientas de análisis ya miran
syslogcomo un halcón.fuente
A medida que sigue las convenciones de FHS para sus archivos de configuración de paquetes, debe ser coherente y almacenar los archivos de registro
/var/opt/package_name/log.El FHS dice:
y también declara
Tener los archivos de registro debajo
/var/optno impide que el paquete funcione correctamente, por lo que su uso/var/logviola claramente el estándar.No está claro a qué te refieres con "¿es esto reconocible?" Como es probable que los registros personalizados sean manejados por herramientas personalizadas de todos modos, pero suponiendo que una herramienta genérica esté diseñada para procesarlos, debe explorar la ubicación estándar de los paquetes desagregados como el suyo.
Tenga en cuenta que
sysloges una función útil para centralizar y ajustar la configuración de registro, pero no resuelve completamente el problema sobre dónde almacenar los registros cuando tiene que hacerlo en archivos sin formato con una ruta bien conocida. Algunos archivos a veces almacenados en el directorio de registro de una aplicación están diseñados para que la aplicación misma o los programas asociados puedan acceder a ellos utilizando su ruta esperada, por ejemplo, un archivo que almacene un ID de proceso, porsysloglo que no funcionará para ellos.fuente