Encontre tempo de atividade de 'apache2' [fechado]

4

Como posso encontrar o tempo de atividade do Apache2? Existem inúmeras sugestões para usar

httpd fullstatus

Mas isso falha

-bash: httpd: command not found

Não há comando httpd em execução em top , apenas um processo apache2.

Eu também tentei (sem sorte)

httpd status
apache2 status
apache2 fullstatus
/usr/sbin/apache2 fullstatus
/usr/sbin/apache2 status

Qual comando posso usar para encontrar o tempo de atividade do apache2 de forma confiável, dadas as diferenças em como o Apache é instalado / configurado em várias plataformas?

    
por Jake N 25.10.2013 / 12:13

3 respostas

18

Você pode usar ps -eo comm,etime , por exemplo:

$ ps -eo comm,etime | grep httpd
httpd            5-01:40:22

Isso mostra o tempo decorrido desde o início do processo. O meu está mostrando 5 dias, 1 hora, 40 minutos, 22 segundos.

E depois de um reinício:

$ ps -eo comm,etime | grep httpd
httpd                 00:07

Em uma reinicialização normal, se um processo do apache ainda estiver exibindo uma conexão, ele não será eliminado até que seja concluído, portanto, se for um download grande para um host lento, ele poderá permanecer por algum tempo até ser concluído.

Eu copiei a maior parte da saída, pois ela mostra cada processo bifurcado, mas você terá uma visão geral de quanto tempo ela está sendo executada.

    
por 25.10.2013 / 12:47
7

Eu suspeito que existem muitas maneiras específicas para a versão do apache fazer isso, mas uma maneira geralmente válida (e levemente bruta) é a seguinte.

Encontre o PID do processo que tem a porta aberta; terá sido o primeiro iniciado:

[root@lory ~]# netstat -apn|grep -w 80|grep LISTEN
tcp        0      0 :::80                       :::*                        LISTEN      2903/httpd          

O comando netstat requer privilégio, portanto, execute como root ou em sudo . Nesse caso, o PID é 2903. Em seguida, localize quanto tempo esse processo está sendo executado:

[root@lory ~]# ps auxww|grep 2903|grep -v grep
apache    2903  0.0  1.0 413316 39972 ?        S    Oct23   0:42 /usr/sbin/httpd

Nesse caso, a hora de início é 23 de outubro, então estou correndo há alguns dias. Você pode obter um campo como 11:15, nesse caso, é uma hora do dia, hoje, então você sabe que o reinício funcionou.

    
por 25.10.2013 / 12:22
6

Se você tiver mod_status instalado, poderá determinar o tempo de atividade com:

apachectl status

Que mostrará a hora atual e a última hora de reinicialização. Pode ser versão / dstro específica, mas meus servidores debian mostram "Tempo de atividade do servidor" na saída também

    
por 25.10.2013 / 12:52