Fluentd não está escrevendo o log de acesso do apache ao mongodb

1

Estou seguindo as instruções deste link para gravar os logs de acesso do apache no mongo db- link .

Mas nada está sendo escrito para o mongo DB. Estou verificando usando db["access"].findOne(); .

O conteúdo do meu arquivo td-agent.conf é o seguinte -

<source>
  type tail
  format apache2
  path /var/log/httpd/access_log
  pos_file /var/log/td-agent/apache2.access_log.pos
  tag mongo.apache.access
</source>

<match mongo.*.*>
  # plugin type
  type mongo

  # mongodb db + collection
  database apache
  collection access

  # mongodb host + port
  host localhost
  port 27017

  # interval
  flush_interval 10s

  # make sure to include the time key
  include_time_key true
</match>

Eu sei que o td-agent está olhando para este arquivo de configuração porque /etc/init.d/td-agent start falha se houver erros no arquivo conf.

O conteúdo do pos_file mencionado é o seguinte -

/var/log/httpd/access_log   0000000000000000    00000000

Estou procurando ajuda sobre por que isso pode não estar funcionando. Há algo que eu esteja sentindo falta?

Atualização 1: Se eu adicionar uma correspondência para a fonte acima (log de acesso do apache) que grava no stdout, poderei ver os eventos sendo registrados no log do td-agent. Então, parece ser um problema gravar no mongodb. Consigo me conectar ao mongo a partir da linha de comando usando o comando mongo .

Atualização 2: De repente isso começou a funcionar e não sei explicar por quê. Acabei de alterar a configuração do td-agent para corresponder à saída para stdout e back. Agora eu não sei o que estava errado ou porque começou a funcionar. : (

Obrigado,

    
por ksrini 05.01.2015 / 08:16

1 resposta

1

Isso acabou sendo um problema de permissão. O motivo pelo qual funcionou depois foi que eu tinha alterado o script init.d do td-agent para executar o processo como root. Por padrão, ele é executado como usuário td-agent e, nesse caso, reclama que não tem permissão para acessar o arquivo de log de acesso do apache, mesmo que o arquivo de log tenha permissões 666.

    
por 05.01.2015 / 11:49