mod_status
já faz isso para você. Você só precisa usar ExtendedStatus . Para ver um exemplo de como ele seria, consulte a página de status do servidor do apache.org .
Estou procurando uma maneira de monitorar e registrar o tráfego do Apache, separado pelo host virtual. Atualmente, estou usando Munin para capturar este e outros dados para todo o servidor, no entanto, não consigo encontrar uma maneira de fazer isso por vhost.
Este link descreve o uso de um módulo chamado mod_watch
, que aparentemente não está mais em desenvolvimento:
O arquivo que é listado como compatível com o Apache 2.x é reportado como tendo problemas com a falta de vhosts dos dados de relatório corretamente.
Alguém sabe de uma maneira confiável de determinar o tráfego em tempo real por vhost? Se eu puder encontrar isso, deve ser fácil escrever um novo plugin Munin.
Editar:
O que eu realmente gostaria de ver é algo semelhante à página do placar do status do servidor Apache com o número de conexões / solicitações como aquele ponto no tempo separado pelo host virtual. Isso me daria a capacidade de verificar qual vhost pode estar experimentando um pico de tráfego em tempo real e também fornecer os dados necessários para um módulo Munin (ou algum sistema alternativo de monitoramento / análise de desempenho).
mod_status
já faz isso para você. Você só precisa usar ExtendedStatus . Para ver um exemplo de como ele seria, consulte a página de status do servidor do apache.org .
e quanto a ter cada log vhost em seus próprios arquivos e, em seguida, executar a análise de log em relação a isso?
Eu percebo que não é totalmente em tempo real, mas não vejo por que você não pode ter algo para analisar seus arquivos com mais frequência do que todos os dias.
você poderia até mesmo usar algo ou escrever algo para monitorar os logs, em tempo real, e gerar gráficos e outros dados estatísticos, se você estivesse inclinado.
O registro individual de hosts virtuais parece ser uma maneira de resolver isso.
Qual é o seu caso de uso para isso? Quais dados você precisa monitorar ou rastrear sobre cada host virtual?
Parece que há uma pergunta semelhante aqui: munin para monitorar o apache hits em URLs específicos
Você pode criar um formato de arquivo de log personalizado com nome de virtualhost e, em seguida, analisá-lo em tempo real com o analisador GoAccess .
mod_logio pode ser o que você está procurando.
Espero que isso ajude.
Se você quiser ver a quantidade de memória / recurso de CPU que o PHP está usando em cada vhost, você pode fazer isso com o suEXEC do Apache.
O SuExec permite que cada aplicativo CGI ou SSI seja executado em um usuário diferente. Use isso junto com algo como mod-fastcgi, e um interpretador PHP CGI, e então você poderá ver o uso do PHP de cada vhost separadamente em top ou htop.
Eu não usei este tutorial em particular antes, mas ele é parecido com o meu próprio setup (embora o AISTR também tenha instalado o Worker MPM) para que você possa checá-lo link