Articles

Configurar os Logs de erro e acesso do Apache

Posted by admin

Apache é um Servidor HTTP de código aberto e multi-plataforma. Ele tem um monte de recursos poderosos que podem ser estendidos por uma grande variedade de módulos. Ao gerir os servidores web do Apache, uma das tarefas mais frequentes que irá executar é verificar os ficheiros de Registo.

saber como configurar e ler os logs é muito útil quando o servidor de solução de problemas ou problemas de aplicação, uma vez que eles fornecem informações detalhadas de depuração.

Apache escreve registros de seus eventos em dois tipos de logs: logs de acesso e logs de erro., Os logs de acesso incluem informações sobre pedidos do cliente, e os logs de erro informações sobre os problemas do servidor e da aplicação.

Este artigo descreve como configurar e ler os registos de acesso e erro do Apache.

configurar o Log de acesso #

Apache servidor web gera um novo evento no log de Acesso para todos os pedidos processados. Cada registo de Eventos contém uma data e inclui várias informações sobre o cliente e o recurso solicitado. Os logs de acesso mostram a localização dos visitantes, a página que eles visitam, quanto tempo eles gastam na página, e muito mais.,

A directiva CustomLog define a localização do ficheiro de registo e o formato das mensagens registadas.

A maioria sintaxe básica de CustomLog directiva é o seguinte:

CustomLog log_file format ;

log_file pode ser tanto em relação ao ServerRoot ou um caminho completo para o arquivo de log. As mensagens de log também podem ser encaminhadas para outro programa usando o símbolo de pipe |.

O segundo argumento, format especifica o formato das mensagens de Registo., Pode ser uma definição de formato explícito ou um apelido definido pela directiva LogFormat.

LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combinedCustomLog logs/access.log combined
CustomLog logs/access.log "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\""

Para evitar a repetição do mesmo código várias vezes, preferem definir o LogFormat directiva e usá-lo como um apelido CustomLog directiva.

para uma lista completa de todos os textos de formato e modificadores, verifique a documentação do módulo “mod_ log_ Config”.,

o terceiro argumento é opcional e permite-lhe escrever mensagens de Registo apenas quando uma condição específica é cumprida. Normalmente, isto é feito usando variáveis de ambiente. A condição pode ser negada com o símbolo !.

Por exemplo, se você deseja excluir solicitações de arquivos css para ser gravado o arquivo de log, você usaria o seguinte:

SetEnvIf Request_URI \.css$ css-fileCustomLog logs/access.log custom env=!css-file

Para alterar o formato de log, você pode definir um novo LogFormat directiva ou substituir o formato padrão., Normalmente é melhor definir um novo formato.

enquanto o log de acesso fornece informações muito úteis, ele ocupa espaço em disco e pode afetar o desempenho do servidor. Se o seu servidor está com poucos recursos e você tem um site ocupado, você pode querer desativar o registro de acesso.

para fazer isso, basta comentar ou remover o CustomLog directiva da configuração principal do servidor e secções virtuais do servidor.,

Se você deseja desativar o log de acesso apenas para um host virtual, defina o primeiro argumento de CustomLog directiva /dev/null:

CustomLog /dev/null combined

Configurar o Log de Erro #

Apache escreve mensagens sobre a aplicação geral e erros de servidor no arquivo de log de erro. Se você está experimentando erros em sua aplicação web, o registro de erros é o primeiro lugar para começar para problemas de solução de problemas.

The ErrorLog directive defines the name location of the error log., Ele assume a seguinte forma:

ErrorLog log_file

Se o caminho para o log_file não é absoluta, ela é definida como relativamente ServerRoot. As mensagens de erro também podem ser encaminhadas para outro programa usando o símbolo de pipe |.

O parâmetroLogLevel define o nível de Registo. Abaixo estão os níveis listados pela sua gravidade (de baixo para alto):

  • trace1trace8 – Trace messages.
  • debug – mensagens de depuração.,
  • – mensagens informacionais.
  • notice – Notices.
  • warn – alertas.
  • error – erros ao processar um pedido.
  • crit – questões críticas. Requer uma acção rápida.
  • alert – alertas. Devem ser tomadas medidas imediatamente.
  • emerg – situação de emergência. O sistema está num estado inutilizável.

cada nível logarítmico inclui os níveis mais elevados., Por exemplo, se você definir o nível de log para warn, o Apache também escreve o error crit alert e emerg mensagens.

Quando o parâmetro LogLevel não é especificado, é por omissão . Recomenda-se que o nível seja pelo menos crit.

The ErrorLogFormat directive specifies the format of the error log., Na maioria das distribuições Linux, o servidor Apache está usando o formato padrão, o que é suficiente para a maioria dos casos.

Hosts virtuais e registro global #

o comportamento de registro e a localização dos arquivos podem ser definidos globalmente ou por base de host virtual.

Então CustomLog ou ErrorLog diretivas são definidas no servidor principal contexto, o servidor grava todas as mensagens de log para o mesmo acesso e arquivos de log de erro., Caso contrário, se as diretivas são colocadas dentro de um bloco <VirtualHost>, apenas as mensagens de log para essa máquina virtual são escritas no arquivo especificado.

a diretiva log definida no id

o bloco sobrepõe-se ao conjunto no contexto do servidor.

hosts virtuais sem CustomLogouErrorLog as directivas terão as suas mensagens de Registo escritas nos registos do servidor global.

para uma melhor legibilidade, recomenda-se a criação de ficheiros separados de acesso e registo de erros para cada máquina virtual., Aqui está um exemplo:

sempre que você modificar o arquivo de configuração, você tem que reiniciar o serviço Apache para que as alterações façam efeito.

localização dos ficheiros de Registo #

por omissão nas distribuições baseadas no Debian, tais como Ubuntu , OS registos de acesso e erro estão localizados no directório /var/log/apache2. Nos CentOS, os ficheiros de registo são colocados no directório /var/log/httpd.,

a Leitura e o Entendimento que os Arquivos de Log do Apache #

Os arquivos de log podem ser abertos e analisados utilizando o padrão de comandos como cat less grep cut awk e assim por diante.,

Aqui está um exemplo de registro do arquivo de log do acesso que usa o Debian’ combine formato de log:

Vamos quebrar o que cada campo do registro significa:

Use tail comando para ver o arquivo de log em tempo real:

tail -f access.log 

Conclusão #

arquivos de Log de fornecer-lhe informações úteis sobre problemas com o servidor e como os visitantes interagem com seu site.

Apache tem um sistema de Registo muito configurável que lhe permite personalizar os registos de acesso e erro de acordo com as suas necessidades.

Leave A Comment