Herramienta de Linux para rastrear el espacio del directorio a lo largo del tiempo

8

¿Existen herramientas comunes de Linux que rastrean el espacio en disco a lo largo del tiempo, no solo un sistema de archivos en general, sino, por ejemplo, para poder ver fácilmente qué árboles de directorios se han hinchado y reducido históricamente? El problema ocurre en servidores que parecen seguir presionando 0 espacio libre a pesar de la limpieza rutinaria de la casa de archivos caché y tmp, registros, etc. Ya utilizo herramientas como df, duy a lsofmenudo, y programo attrabajos para encontrar archivos antiguos de cierto tamaño / tipo cuando son bajos se golpean las marcas de agua, etc.

Preferiblemente un paquete Debian / Ubuntu.

Marcos
fuente
Supongo que quieres algo más fácil de usar que du -sejecutar en cron, ¿verdad?
Peter
1
Creo que quieren un cálculo histórico de la utilización del espacio en disco, como lo que obtendría para la utilización de CPU o E / S con un comando "sar".
Bratchley
¿Se puede hacer esto con una baja sobrecarga usando una herramienta que monitorea y extrae datos relevantes del diario (ext3)?
Michael Martinez

Respuestas:

3

Un par de cosas haría problemática la creación de una herramienta como esta:

  1. El kernel no mantiene historiales de tamaño de archivo específico de directorio o archivo (como lo hace con el uso de memoria, la actividad de E / S o el tiempo de CPU), por lo que cualquier cosa escrita debería estar en el espacio del usuario.
  2. Incluso si algo se escribiera usando inotify o algo así, en servidores ocupados, la sobrecarga de un demonio de espacio de usuario que registra la salida de "du -s" después de cada cambio de archivo sería enorme. En servidores menos ocupados, probablemente no tenga esta preocupación. Entonces te encuentras con la situación en la que la herramienta solo es útil para las personas que no pueden pagar sus gastos generales.
  3. Los demonios de Monitoreo de red como Zabbix o Nagios contienen un monitoreo primitivo de la utilización del disco (de sistemas de archivos completos) con historiales que satisfacen las necesidades de la mayoría de los administradores a este respecto. Por lo general, las necesidades más allá de eso se rompen / arreglan cuando ingresa al sistema de archivos en cuestión y verifica qué ocupa el espacio después del hecho (usando la supervisión de la red para hacer una advertencia proactiva de posibles problemas).
  4. Si realmente necesita saber esto y esperar que sus advertencias proactivas le notifiquen cuando está sucediendo nuevamente (para que pueda verificarlo) no es una opción, en última instancia, puede escribir un script para monitorear los directorios que le preocupan acerca de. (Básicamente, registrar la salida de "find / path / to / dir -type d -exec du -sh {} \;" de alguna manera será fácil de revisar).

Por lo tanto, no existe una demanda real para crear una herramienta de espacio de usuario para hacer esto, ya que sería difícil hacerlo correctamente y las soluciones existentes lo acercan bastante al ideal.

Respuesta corta: no conozco una herramienta de este tipo, pero tiene sentido que no la haya.

Bratchley
fuente
Está a mi alcance hackear scripts de espacio de usuario para, por ejemplo. registre duinstantáneas periódicas del cron de todos / algunos directorios, almacénelos en SQL / CSV para su posterior análisis para limitar dónde se consume el almacenamiento y haga informes amigables para identificarlo. Con la capacidad de acercarse a la jerarquía de directorios, uno espera. Pero eso lleva mucho tiempo y espero que exista algo similar, incluso si es imperfecto (enlaces duros, etc.).
Marcos
1
Me pregunto si esto, con mucho menos gastos generales que "du -s", podría hacerse con alguna herramienta que mire el diario del sistema de archivos.
Michael Martinez