Me gustaría ver qué sucede en las carpetas de mi servidor de aplicaciones, es decir, qué archivos se cambian por el proceso x o qué *.war
archivos se han cambiado (reemplazado / creado) en los últimos x minutos.
¿Hay alguna herramienta en Linux para ayudar con esto?
shell
files
process
monitoring
Martin V.
fuente
fuente
Respuestas:
Dependiendo de sus necesidades exactas, es posible que desee buscar soluciones de inotify y / o FAM / GAMIN .
fuente
Strace (como se describe anteriormente) es una forma de verificar las acciones de un software en ejecución específico.
Algunos comandos como
watch find dir/ -mmin 1
también pueden ayudar a verificar los cambios de última hora en algún directorio.Dependiendo de lo que esté buscando exactamente, inotify-tools es probablemente otra herramienta de comercio aquí.
Por ejemplo,
inotifywait -mr dir/
monitorea los cambios en el directorio dado e instantáneamente le brinda comentarios sobre cualquier aplicación que intente abrir / leer / escribir / cerrar un archivo. Sin embargo, inotify no le brinda retroalimentación sobre qué aplicación o proceso está accediendo al archivo; eso es algo que strace hace.Tenga en cuenta que la supervisión a nivel del sistema suele ser de uso limitado para el software java que se ejecuta en un entorno de contenedor de aplicaciones, ya que solo ve el contenedor (por ejemplo, Tomcat), pero no la aplicación real (por ejemplo, .war) que interactúa con el sistema.
fuente
Puede obtener información sobre a qué archivos accede por proceso lsof :
Y viceversa, puede obtener un pid de proceso que escribe / lee en algún archivo:
fuente
Puede usar
strace
para monitorear todas las llamadas al sistema de un proceso, que incluye todo el acceso a los archivos.Al comenzar un programa:
También puede adjuntar strace a un proceso en ejecución a través de su PID:
fuente
watch find dir/ -mmin 1
no funcionó para mí, lo que hizo fue simplemente copiar y diferir:Es bastante intensivo en recursos, pero muestra todos los cambios entre la instantánea y el
diff
tiempo.fuente