Я запускаю несколько процессов единорога на своем производственном сервере. Теперь я хочу проверить время безотказной работы отдельных моих сервисов. Например, если какой-либо процесс единорога перезапускается автоматически, он должен начать запись времени работы. Таким образом, я хочу рассчитать время безотказной работы службы с момента ее последней start/restart/reload
Примечание: здесь я не говорю о времени безотказной работы сервера, которое можно узнать, используя uptime
команда, как показано ниже.
$ uptime
19:11:25 up 2 days, 21:28, 1 user, load average: 0.11, 0.09, 0.11
Я хотел бы знать время безотказной работы отдельного сервиса, такого как время безотказной работы nginx
Возможно ли это как-то узнать?
Монит отлично подходит для этого.
В monit status
команда ясно показывает эту информацию:
Process 'ssh'
status Running
monitoring status Monitored
pid 11239
parent pid 1
uid 0
effective uid 0
gid 0
uptime 32d 5h 1m
children 230
memory 1.2 MB
memory total 2.0 GB
memory percent 0.0%
memory percent total 0.6%
cpu percent 0.0%
cpu percent total 0.1%
data collected Mon, 09 Jan 2017 11:34:08
Process 'cron'
status Running
monitoring status Monitored
pid 669744
parent pid 1
uid 0
effective uid 0
gid 0
uptime 1m
children 0
memory 1.2 MB
memory total 1.2 MB
memory percent 0.0%
memory percent total 0.0%
cpu percent 0.0%
cpu percent total 0.0%
data collected Mon, 09 Jan 2017 11:34:08
Process 'newrelic'
status Running
monitoring status Monitored
pid 11377
parent pid 1
uid 495
effective uid 495
gid 495
uptime 32d 5h 1m
children 1
memory 500.0 kB
memory total 8.3 MB
memory percent 0.0%
memory percent total 0.0%
cpu percent 0.0%
cpu percent total 0.0%
data collected Mon, 09 Jan 2017 11:34:08