Estoy buscando una forma de diagnosticar problemas, como la muerte por intercambio, donde un proceso de memoria inflable llena el intercambio y mata toda la máquina (como apache).
Ya estoy usando cactus y puedo configurar nagios (aunque preferiría que no) o munin, pero por lo que puedo decir, no pueden registrar el uso individual del programa, solo el estado general.
Sé que puedo transferir un script que >> a algún archivo cada 30 años, pero me gustaría ver si ya existe una solución madura existente.
De nuevo, idealmente sería:
- registrar el uso de memoria de los procesos cada N segundos
- registrar el uso de CPU de los procesos cada N segundos
- gráficos de soporte e historia
- promedios de soporte, como mysqld ha usado 43% de CPU en el último día y promedió 400 MB de memoria
- ser libre y de código abierto
Los nombres de los procesos no son y no deben conocerse de antemano; la idea es simplemente dejar que supervise y luego echar un vistazo a los principales infractores.
Mi sistema es Linux (OpenSUSE).
linux
performance
monitoring
memory-usage
Artem Russakovskii
fuente
fuente
Respuestas:
Si desea solo a los delincuentes principales, considere ejecutar
top
con un intervalo relativamente largo (más de 60 segundos) en modo por lotes. Es posible que necesite más de unatop
ejecución para capturar a los principales delincuentes en múltiples recursos. He configurado los sistemas para que se ejecutentop
durante algunos ciclos cuando se está utilizando un recurso en exceso.Considere ejecutar
sar
en modo por lotes para capturar la utilización de recursos. Me doy cuenta de que esto está basado en el servidor, pero es útil para determinar los momentos en que se producen problemas.Ejecuta
munin
y habilita las notificaciones. Esto puede darle la oportunidad de entrar y ver cómo se cae el servidor. Es posible que pueda corregir el problema antes de que desaparezca.Para pérdidas de memoria, un aumento constante en el uso de intercambio indica un problema. Una vez vi un servidor morir lentamente durante un período de días. El servicio del problema era un programa que supervisaba otros procesos para detectar pérdidas de memoria. El administrador del sistema siguió insistiendo en que el uso creciente de intercambio no era un problema, hasta que el servidor dejó de responder.
Puede descubrir que
cfengine
la detección de anomalías se puede utilizar para activar un script para capturar el estado del sistema cuando las cosas salen mal. Es posible que desee mucha información además de los procesos que utilizan la mayoría de los recursos. Para una afluencia repentina de uso, es posible que desee una lista de conexiones de red (por dirección, no por nombre). El uso de la memoria también es útil.fuente
sysstat está hecho exactamente para su tipo de propósito.
fuente
He usado encima antes:
http://freshmeat.net/projects/atop/
"Encima es un monitor de rendimiento de pantalla completa ASCII que es capaz de informar la actividad de todos los procesos (incluso si los procesos han finalizado durante el intervalo), el registro diario del sistema y la actividad del proceso para el análisis a largo plazo, destacando los recursos del sistema sobrecargados mediante el uso colores, etc. A intervalos regulares, muestra la actividad a nivel del sistema relacionada con la CPU, la memoria, el intercambio, los discos y las capas de red, y para cada proceso activo muestra la utilización de la CPU, el crecimiento de la memoria, la prioridad, el nombre de usuario, el estado, y el código de salida ".
fuente
atop -r log_filename
, presionem
para cambiar a la vista de uso de memoria por proceso y luego presionet
para avanzar en incrementos de 10 minutos hasta las 3:40. Puede leer más sobre los conceptos básicos del uso de top en lwn.net/Articles/387202 y ver un ejemplo de identificación de una pérdida de memoria en atoptool.nl/download/case_leakage.pdf¿Has probado collectd?
Es muy potente y personalizable.
Tiene muchos complementos y podría integrarse con nagios.
http://collectd.org/features.shtml
fuente
top
.Centreon en la parte superior de Nagios, Nagios junto con NRPE. Luego puede escribir scripts personalizados para informar datos en CUALQUIER formato que desee NRPE. Nagios luego sondea los datos de los servidores remotos con NRPE y Centreon hace un gráfico bonito y agrega una tonelada de flexibilidad al usuario. Lo usamos en http://beyondhosting.net. Tengo una plantilla de Contenedor VZ con configuración de centreon + nagios ya si lo desea.
Graphs centreon construye hostthenpost.org/tyler/2010-07-23_1719.png
fuente
nmon es una gran herramienta que hace lo que estás buscando. Desarrollado para AIX y Linux. Produce una tonelada de resultados detallados y fáciles de poner en informes. Si lo busca en Google, hay un wiki de IBM que tiene un montón de documentación y utilidades adicionales para analizar los datos.
fuente
La densidad del servidor hace exactamente lo que usted describe.
Lo uso en uno de nuestros servidores de producción y estoy muy contento. Su característica principal es la capacidad de ver gráficos, hacer clic en un pico y ver el consumo de CPU / memoria del servidor en ese momento, incluidos todos los procesos en ejecución. Lo llaman instantáneas .
Está mejorando constantemente. Una de las últimas características es la detección de anomalías , que le permite detectar fácilmente anomalías. También puedes configurar varios umbrales
fuente
http://studyhat.blogspot.com/2010/08/user-activity-view-processes-display.html
Eche un vistazo al código pequeño del enlace que le da CPU de memoria, etc.
fuente
Las respuestas sugirieron cuando hice una pregunta similar :
Icapan dijo :
David Spillet dijo :
También puede consultar Nagios u OpenNMS , también.
fuente
Munin hará todo lo que necesita sin necesidad de utilizar Nagios ni ninguna otra herramienta. Hay RPM disponibles para OpenSUSE.
fuente
¿Quizás el viejo OProfile hace lo que necesita? Es un generador de perfiles a nivel de sistema basado en el núcleo con solo una pequeña sobrecarga (un par de porcentajes).
Luego hay un excelente script de Perl, PSMon , que le permite configurar todo tipo de límites de CPU / memoria. Si se exceden, psmon registrará un error y / o matará el proceso ofensivo.
Este último no le generará ningún informe de perfil, pero si decide matar el mismo proceso una y otra vez, probablemente haya encontrado al desagradable bastardo que estaba buscando. :-)
fuente