AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 1076028
Accepted
VagrantPaladin
VagrantPaladin
Asked: 2021-08-31 04:27:41 +0800 CST2021-08-31 04:27:41 +0800 CST 2021-08-31 04:27:41 +0800 CST

O apache abre e fecha todos os logs em todos os acessos?

  • 772

A questão é sobre os logs de acesso e erro, principalmente com vários hosts (instâncias do apache instaladas em mais de um servidor) e manter os logs centralmente em um sistema de arquivos de rede.

O apache fecha cada arquivo de log após cada gravação?

Se sim, em um servidor ocupado hospedando muitos sites, cada um com seu próprio log, isso parece ser um potencial gargalo de desempenho?

Se Não, qual é a solução ao ter vários servidores gravando em um único local de log em um sistema de arquivos de rede?

nfs logging apache-2.4
  • 2 2 respostas
  • 68 Views

2 respostas

  • Voted
  1. Best Answer
    Patrick Mevzek
    2021-09-05T18:36:31+08:002021-09-05T18:36:31+08:00

    O apache fecha cada arquivo de log após cada gravação?

    Use a fonte, está em: https://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/loggers/mod_log_config.c?view=markup

    Você pode ler a partir dele:

    251     * log_writer is NULL before the log file is opened and is
    252     * set to a opaque structure (usually a fd) after it is opened.
    

    Esse tipo de dicas que é aberto apenas uma vez. Na verdade, se você observar o código, ele é aberto cedo, na inicialização, e nunca fechado, por motivos óbvios de desempenho.

    Se Não, qual é a solução ao ter vários servidores gravando em um único local de log em um sistema de arquivos de rede?

    Absolutamente nunca faça isso, por duas razões. Primeiro, não registre remotamente dessa maneira. Registre localmente (e envie arquivos de log separadamente, você pode alternar de hora em hora, por exemplo) ou use os daemons apropriados, syslogsabe por padrão como enviar conteúdo de log por UDP (ou TCP), assim como soluções mais recentes. Não monte um disco remoto e escreva arquivos de log nele, isso vai matar o desempenho e criar um monte de problemas (especialmente se você quer dizer remoto como em "NFS").

    E mesmo que localmente, cada aplicativo deve logar em seu próprio arquivo de log, não ter vários aplicativos logando no mesmo arquivo, isso é obrigado a criar todos os tipos de condições de corrida, sobrescrever, etc. O próprio Apache é um aplicativo, mesmo que seja bifurcado , mas se você tiver 2 Apaches rodando separadamente no mesmo host com configurações diferentes, cada um deles deverá registrar em seus próprios arquivos de log.

    Ou veja o recurso Apache para logar em pipes, mas isso também tem desvantagens.

    • 1
  2. No Body Special
    2021-08-31T14:21:40+08:002021-08-31T14:21:40+08:00

    AFAIK você não pode ter vários servidores web Apache simultaneamente gravando no mesmo arquivo de log.

    Para clusters, você permite que cada nó grave em seu próprio arquivo de log e, em seguida, faça algum pós-processamento para mesclá-los, ou permite que o Apache gere eventos de syslog, envie-os para um servidor syslog central onde você pode mesclá-los em um único arquivo ou você use uma solução de agregação de log como ELK Stack, Graylog, Splunk e/ou outras para enviar eventos de log de todos os nós do cluster para um único banco de dados de big data

    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve