¿Cómo puedo registrar el rendimiento del disco del servidor OS X?

Sé que el Monitor de actividad existe para ver la E/S del disco y otras métricas de rendimiento. Sin embargo, ¿el Monitor de actividad tiene la capacidad de registrar alguna de estas métricas?

Si no, ¿cómo puedo registrar estas métricas en una base de datos o un archivo csv y con qué frecuencia se deben registrar? ¿Cada segundo?

Estoy buscando ejecutar informes para ver a qué horas del día el servidor tiene una gran cantidad de E/S de disco para la gestión de la capacidad. También quiero la capacidad de registrar el espacio usado y libre cada 15 minutos.

Respuestas (1)

Puede usar las herramientas tradicionales de Unix para comenzar a monitorear ahora.

iostat 60 | tee /tmp/iostat_60.log

Las estadísticas de espacio libre se pueden generar con el dfcomando, pero puede configurar sus niveles de advertencia en la aplicación del servidor y confiar en las alertas para notificarle cuando se llena el espacio. No puedo imaginar la necesidad de realizar un seguimiento del espacio de almacenamiento más de una vez al día para graficar el crecimiento o administrar las cosas, pero sus necesidades pueden ser bastante diferentes.

Diría que las instantáneas de 15 minutos (900 segundos para iostat) de la actividad de io serían suficientes y que los registros de espacio en disco por hora o por día serían excesivos para la mayoría de los servidores. Probablemente disminuiría el intervalo de monitoreo durante un período de ajuste de investigación/rendimiento, pero día tras día, estas estadísticas por lo general consumen CPU y espacio en disco y realmente no lo ayudan a administrar el servidor.

Una vez que decida la frecuencia con la que desea capturar los datos, puede volverse más elegante con un contenedor para iniciar y detener el script/cortar y procesar los archivos de registro diariamente, etc...

Diría que, en cambio, querrá ver las herramientas que desea para analizar y actuar realmente sobre los datos. Para un servidor, probablemente podría salirse con la suya con una instancia gratuita de ejecución de splunk y simplemente registrar los datos en syslog.

Desde allí, puede graficar/extraer a una hoja de cálculo/actuar sobre los datos de una manera muy flexible. Además, puede consultar elasticsearch , logstash y kibana .

Hay un artículo excelente en http://krypted.com/windows-server/stashbox-turning-a-mac-mini-into-a-logstash-server/ de Charles Edge que explica cómo y por qué usaría esas herramientas. para domar los registros y graficar cosas. Si tuviera eso, enviar las estadísticas al registro del sistema podría ser una manera muy fácil de resolver su problema de monitorear IO en su servidor.

Acepto que las instantáneas de 15 minutos de uso del disco son excesivas en mi situación. Probablemente pueda salirme con la mía todos los días. Cuando ejecuto el comando df, llena todas las particiones. ¿Es posible simplemente capturar /dev/sda1? También me gustaría que la salida esté en un archivo csv como NAME_OF_DISK,Used,Available,Use% y no incluya nada más.
Puede hacer casi cualquier cosa con grep, awk, and sedPython y tiene una entrada y salida csv realmente agradable. Depende si te gusta escribir.df | grep disk0s2 | awk '{ print $2 "," $3 "," $4}'
¡Impresionante! Ahora, ¿cómo puedo capturar la E/S total del disco y no por aplicación/proceso en ejecución en el mismo formato csv?