Monitore o desempenho do Apache Web Server

O Servidor HTTP Apache, também conhecido como Apache httpd, é um software de servidor Web comumente usado. Sua ampla utilização se deve ao seu recurso fácil e personalizável e ao seu código-fonte aberto.

Se você estiver usando o Apache, é fundamental monitorar seu desempenho para estar ciente dos problemas de degradação e dos gargalos. Use nosso plug-in e veja tendências de desempenho em tempo real e métricas históricas, tudo em um único painel. Este documento detalha:

Métricas de monitoramento de desempenho

Solicitações por segundo

req_per_sec records the total number of HTTP requests the web server is processing per second.

Trabalhadores ocupados

Use the metric busy_workers to get the total number of processes actively processing an HTTP request

Trabalhadores ociosos

idle_workers is the total number of idle workers/idle processes waiting for an HTTP request. If you have very few or no idle processes, it means your server is using up all the processes and new requests have to be on hold until the older requests are completed.

Tempo de atividade

The metric tempo de atividade gets the total amount of time the server has been up and running.

Bytes por segundo

bytes_per_sec records the total amount of data the web server is transferring per second.

Carga da CPU

Use the metric cpu_load and get the total percentage of CPU used by the web server.

Bytes por solicitação

The average number of bytes being transferred per HTTP request is obtained using the metric bytes_per_req.

Total de acessos

The total number of accesses on the server is monitored using the metric total_accessess.

Pré-requisitos

  • This is a Python-based plugin supported from Python versions 2.7 and above. For version 2.7, we use urllib2 module and for version 3.0 and above, we use urllib module for monitoring the web server.

Configuração do Apache

Siga as etapas abaixo para configurar seu servidor Web para monitorar seu desempenho. Independentemente do sistema que você estiver usando, certifique-se de salvar um backup do arquivo de configuração antes de fazer alterações nele; caso você precise reverter para uma versão anterior.

  • Edite o arquivo de configuração do módulo de status: /etc/apache2/mods-enabled/status.load
  • Find the below line and make sure it is uncommented
    LoadModule status_Module /usr/lib/apache2/modules/mod_status.so
  • Edite o arquivo de configuração do módulo de status: /etc/apache2/mods-enabled/status.conf
  • The below line allows access to the Status page from localhost using the URI /server-status
    <Location /server-status>
    SetHandler server-status
    Require local
    </Location>
  • To restrict access to authenticated users and to specific IP addresses:
    erver-status>
    Status do servidor SetHandler
    AuthUserFile /passwordlocation
    AuthType Basic
    AuthName
    Exigir usuário
  • Make sure the ExtendedStatus is enabled to track additional data about the currently executing requests per worker.
    ExtendedStatus ativado
  • Reinicie o servidor
  • Edit the ports configuration file:
    Para Ubuntu/Debian: Edit /etc/apache2/ports.conf
    Para Centos/Redhat: Edit /etc/httpd/conf/httpd.conf
  • Check for the line Listen 80. Change port from 80 to the desired port.
  • To make the server accept connections on the port for only specific interfaces, change Listen 90 to Ouça domain.com:90
  • Salve o arquivo e reinicie o servidor
  • Enable SSL support on Apache default virtual host file, found in the following location:
    Para Ubuntu/Debian: sudo vi /etc/apache2/sites-enable/000-default.conf
    Para Centos/Redhat: sudo vi /etc/httpd/conf.d/ssl.conf
  • Edit the virtual host file to support SSL in port 443
    Para Ubuntu/Debian:
    <VirtualHost *:443>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    SSLEngine on
    SSLCertificateFile <File Name>
    SSLCertificateKeyFile <Key>
    </VirtualHost>

    Para Centos/Redhat:
    <VirtualHost _default_:443>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    # SSLProtocol all -SSLv2
    # SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA
    SSLCertificateFile <File Name>
    SSLCertificateKeyFile <Key>
    </VirtualHost>
  • Run the below commands to enable SSL mode
    Para Ubuntu/Debian: sudo a2enmod ssl
    Para Centos/Redhat: sudo yum install mod_ssl
  • Reinicie o servidor

Instalação do plug-in

  • Configure o Apache conforme mencionado acima para monitorar seus atributos de desempenho.
  • Baixe e instale a versão mais recente do agente Linux do Site24x7 no servidor onde você planeja executar o plug-in. Se ele for instalado com êxito, você verá um monitor de servidor Linux no Painel de controle do Site24x7. Isso confirma que o agente consegue se comunicar com nosso data center.
  • Download the "apache_monitoring.py" and the "apache_monitoring.cfg" file from our Repositório do GitHub
    wget https://raw.githubusercontent.com/site24x7/plugins/master/apache_monitoring/apache_monitoring.py && sed -i "1s|^.*|#! $(which python3)|" apache_monitoring.py
    wget https://raw.githubusercontent.com/site24x7/plugins/master/apache_monitoring/apache_monitoring.cfg
  • Update the file with your Status URL for monitoring apache. By default, we have enabled it to be: http://localhost:80/server-status?auto
  • Crie uma pasta com o nome "apache_monitoring", no diretório de plug-ins do agente Linux do Site24x7 "/opt/site24x7/monagent/plugins/" e coloque o " apache_monitoring.py" em "/opt/site24x7/monagent/plugins/apache_monitoring/"

O agente executará automaticamente o plug-in em cinco minutos e enviará dados de desempenho ao data center do Site24x7.

Dica

Manually execute the plugin script using the following command and verify its output:

python apache_monitoring.py

Exibir dados no Site24x7 Web Client

  1. Faça login e vá para Servidor > Plug-ins > clique no nome do monitor de plug-ins.
  2. Você poderá visualizar os gráficos de desempenho nas várias métricas do seu servidor.

Manipulação de erros

S.No Mensagem de erro Motivo
1 Error_code : Erro de URL [Errno -2] Nome ou serviço desconhecido Nome de host inválido
2 Error_code : URL Error [Errno 1] _ssl.c:510: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol Se o URL de Status do Apache não for configurado para HTTPS
3 Error_code : Erro HTTP 404 URL de status inválido
4 Error_code : Erro HTTP 400 Número de porta inválido

Contribuição do plug-in

Sinta-se à vontade para contribuir com nosso plug-in e apresentar sugestões ou feedbacks na nossa comunidade.

Artigos relacionados

  • Plug-ins prontos para serem usados – monitore toda a sua pilha de aplicativos com nossa extensa lista de integrações
  • Monitoramento de servidores - Fique por dentro das interrupções do servidor e dos problemas de desempenho
  • Redis - Monitore as métricas de desempenho de seus bancos de dados do Redis
  • MySQL - Monitore métricas de desempenho de seus bancos de dados MySQL
  • Processo zombie - Analise o desempenho do seu servidor de processo Zombie
  • Nagios – execute milhares de plug-ins Nagios no Site24x7 sem a necessidade de executar um servidor Nagios
  • Monitoramento de script personalizado – crie plug-ins personalizados do Linux e do Windows e monitore os atributos de que você precisa
  • Repositório do GitHub - Confira nossas mais de 50 integrações de plug-ins