Apache2 logging para o arquivo que contém o endereço IP do servidor

1

Estamos trabalhando no balanceamento de carga de nossos servidores web amazon ec2 executando o apache2. Até que tenhamos um sistema de registro melhor, gostaríamos que cada instância simplesmente escrevesse seus logs de servidor para um volume compartilhado (compartilhado usando sshfs atm)

O problema que encontramos é que, se duas instâncias estão gravando no mesmo arquivo de log compartilhado (/shared-volume/access.log), alguns de nossos logs são corrompidos devido à falta de bloqueio de arquivo por sshfs

Como queremos que as instâncias sejam idênticas umas às outras, a solução de curto prazo que pensamos era ter o log do apache em /shared/log/apache2/[instance-ip]-access.log

Isso é possível?

Tentei essa e outras variantes, mas parece que o arquivo de log é sempre interpretado estaticamente.

CustomLog /shared/log/apache2/%{SERVER_ADDR}-access.log "%h %l %u %t \"%r\" %>s %b %D"
    
por case nelson 02.10.2010 / 00:42

2 respostas

1

Isso realmente parece funcionar, existe alguma desvantagem?

CustomLog "|cat >> /shared/log/apache2/'hostname'-access.log" "%h %l %u %t \"%r\" %>s %b %D" 
    
por 02.10.2010 / 00:57
1

Seria possível mover a interpretação de volta um passo, talvez para o comando mount? O Bash transformará "$ HOSTNAME" no nome do host. Em vez de fazer login em / shared / log / apache2 /, efetue login em / shared / log, mas certifique-se de que / shared / log seja, na verdade, ssh-host:/var/log/apache/$HOSTNAME/ . Dessa forma, você pode manter suas configurações idênticas.

    
por 02.10.2010 / 00:57