Alguém tem uma configuração para processar logs do AWS CloudFront / S3 com AWStats (ou sw semelhante)?

1

Eu não quero dar uma empresa externa como o acesso s3stat aos meus registros. Eu sei que a AWS registra o S3 e o Cloud Front em um formato legível pela AWStats. Alguém já usou o AWSats para analisá-los?

O S3stat costumava oferecer uma versão hospedada de seu software que estava em beta, mas acredito que tenha sido descontinuado.

Eu não estou preso ao AWStats, vou considerar outras opções de software de análise de log da web hospedadas.

    
por ckliborn 16.01.2012 / 16:48

1 resposta

1

Eu não uso AWStats com S3, mas sugiro que haja 3 problemas com o processamento dos logs:

  1. Você precisa obter os dados - eles são armazenados no S3

    Com o Cloudfront, a AWS oferece a opção de qual bucket você deseja usar - não precisa ser o intervalo de origem (origem). Você pode facilmente configurar um intervalo específico para seus registros e montá-lo via s3fs - isso deve fornecer as informações mais simples acesso aos arquivos - retendo os timestamps, etc., que geralmente são necessários para o processamento incremental de logs. Alternativamente, se você não quiser montar um bucket como um sistema de arquivos local, você pode usar s3cmd , aws ou um dos SDKs para fazer download dos arquivos. (Existe um script python (usando o boto) para este fim - aqui - embora eu não possa garantir sua eficácia.

  2. Você precisa descomprimir e combinar os registros

    Os registros da Cloudfront são compactados (gzipados) e armazenados como vários arquivos. Os nomes dos arquivos contêm a data e a hora (por exemplo, XXXXXXXXXXXXX.YYYY-MM-DD-HH.XXXXXXXXX ), embora possam haver vários arquivos por hora. Os arquivos podem ser descompactados com gunzip e combinados com a (ferramenta fornecida pelo AWStats) logresolvemerge.pl .

  3. Você precisa fornecer um formato de registro personalizado para o AWStats

    O formato do arquivo é separado por separadores e se parece com:

    date time x-edge-location sc-bytes c-ip cs-method cs(Host) cs-uri-stem sc-status cs(Referer) cs(User-Agent) cs-uri-query
    2011-06-27  08:31:10    JFK1    587 xxx.xxx.xxx.xxx GET xxxxxxxxxxxxxx.cloudfront.net   /path/to/your/file  304 http://www.mydomain.com/page/requesting/file    User-agent-string - 

    Você deve, portanto, configurar AWStats com:

    LogType=W
    LogSeparator="\t"
    LogFormat="%time2 %cluster %bytesd %host %method %virtualname %url %code %referer %ua %query"
por 16.01.2012 / 18:08