Уже не первый раз возникает задача отследить причины зависов или иных проблем некоторых серверов, когда они по непонятной причине уходят в даун.
После перезагрузки мы никак не узнаем, что с ними было на момент зависа. Кроме вариантов с munin и т.п., но этого мало.
Лобовое решение, приходящее в голову — открыть на локальной машине screen (это чтобы не мешалось под рукой) и вывести там с удалённой машины через ssh постоянные top (можно сразу несколько, скажем, с сортировкой по процессору, по памяти), iotop, sensors, watch 'dmesg -T| tail -n 30' и т.п.
То есть, когда удалённая машина уйдёт в аут, ssh-сессии отвалятся, на экране останется последнее переданное состояние. Возможно, этой информации хватит для анализа.
Сейчас так и сделал, но на будущее хочется таким образом мониторить множество машин.
Можно написать скрипт, запускающий такой зоопарк автоматически.
Но не велосипедостроение ли это? Может, есть готовое и более удобное решение?