Я хочу отслеживать запущенные процессы на Linux-машине с течением времени.
Мое решение «сделай сам» было бы таким:
Каждую минуту сбрасывать данные ps aux --forest
в файл.
Предыстория: Если я получаю сообщение «что-то было не так, вчера около 8 часов», я хочу узнать, что происходит.
Существует множество инструментов, суммирующих значения нагрузки и ввода-вывода, но мне нужно больше подробностей.
Я могу сделать самодельную сантехнику, как на свалке выше ps
, но, полагаю, есть и лучшие решения.
Какой инструмент может мне помочь?
закрыто
Этот вопрос закрыт, так как я прошу инструмент. Я задал тот же вопрос здесь:
https://softwarerecs.stackexchange.com/questions/20459/monitoring-processes-in-detail-not-summarized
решение1
Вы должны понимать, что мониторинг с слишком большой детализацией негативно скажется на производительности вашей системы. Вот почему вы обычно отслеживаете общее состояние сервера и служб и дополнительно фокусируетесь наконкретные показатели эффективностикоторые имеют отношение к вашим услугам.
Тогда вам не придется иметь дело с"что-нибудьбыл неправ вчера вечером" больше, но вы будете знатьточночто не так почтикак только это произойдет".
Но если вы хотите отслеживать процессы сортировки в вашей системе, а не службы, одним из наиболее «правильных» методов будет использование демона аудита.
Что-то вроде:
auditctl -a exit,always -S execve
который будет регистрировать любую программу, запущенную (с помощью execve
системного вызова).