¿Cuál es la mejor estrategia para atrapar un process misterioso?

Tengo processs en ejecución en mi server que son asesinados todas las noches a la medianoche. Está en el trabajo, no estoy cerca cuando sucede y no tengo acceso remoto.

La matanza se produce muy a las 23:59 todas las noches. Lo sé porque cuando llego al día siguiente:

  • Los processs son hasta las 23:59
  • Los loggings del process muestran la última hora de modificación de 23:59 (y el nuevo logging datedo se inicia inmediatamente después).

Dado que la matanza ocurre a la misma hora, sospeché fuertemente de un trabajo por lotes. crontab los crontab de todas nuestras máquinas y no pude encontrar nada. Claramente me falta algo.

Estoy pensando en diseñar una secuencia de commands de vigilancia que informe la salida de ps intermitentemente, que se inicie unos minutos antes y que se repita por un momento. Esta idea parece débil y propensa a errores, por lo que me pregunto si alguien tiene una mejor idea.

Más detalles:

  • El universo es un sistema legado muy grande y muy antiguo; nadie en mi equipo parece consciente de tal process (si alguien lo hiciera, estaría en nuestro equipo) aunque la organización más grande consiste de miles de empleados, muchos teóricamente tendrían acceso a esto (no veo por qué lo harían). En otras palabras, la security no es muy estrecha.

  • El entorno consta de varias máquinas que ejecutan Solaris 10.

  • No es un entorno de producción, por lo que el time de espera o inactividad no es crítico.

  • No excluyo la posibilidad de que el asesinato no se deba a un trabajo por lotes, aunque es poco probable debido a la precisión del momento.

  • Claramente, hay deficiencias en nuestra contabilidad, por lo que cualquier cosa imaginable es posible.

Mi pregunta es ¿cuál es la mejor estrategia para adoptar? Se encuentra bajo el paraguas más amplio de "la alegría de trabajar en sistemas henetworkingados". Estoy empezando a trabajar en mi script que publicaré aquí en breve para recibir comentarios. Mientras tanto, si alguien tiene una idea mejor, dígalo.

Es común girar los troncos periódicamente, girarlos a la medianoche es común. Muchas aplicaciones harán esto automáticamente.

Para aquellos que no lo hacen, hay herramientas como logrotate que harán la rotation. Muchos progtwigs están configurados para volver a abrir sus loggings cuando se envía una señal HUP, y esta es una de las técnicas utilizadas por logrotate .

Cosas para verificar:

  • ¿Cambian todos los PID? Si no es así, entonces los progtwigs pueden estar rotando su propio logging, o respondiendo apropiadamente para hacer rotar sus loggings.
  • Para los progtwigs que cambian los PID, ¿se reiniciaron a la medianoche? Si no, verifique sus padres para ver qué hace.
  • Compruebe el crontab para ver qué processs se ejecutan al final del día.
  • Compruebe el crontab para el ID de usuario del process para ver qué processs se ejecutan al final del día.
  • Verifique si los files de logging se escriben directamente o si están siendo escritos por un escritor de loggings que gira los loggings.