Eu tenho uma configuração do Raspberry Pi 2 (mais recente Raspbian a partir de abril de 2015) que na semana passada estava executando o ElasticSearch e o Logstash em uma rede de teste (não é uma configuração direta, mas foi estável por mais de uma semana!). Reiniciei minha máquina hoje e estou tendo muita dificuldade em fazer as coisas funcionarem novamente; ES e LS serão executados independentemente, mas quando tento enviar a saída LS para ES, a instância ES morre sem explicação. Meu objetivo é obter dados de execução e de extração de LS no ES por meio do plug-in de saída padrão.
ElasticSearch [v1.5.0]
Eu acredito que é aqui que está o principal problema. O ES pode inicializar via service elasticsearch start
e continua em execução, é acessível via solicitações HTTP para a porta 9200 e todos os sinais de vida parecem íntegros. Assim que algo (pelo que sei) tenta gravar dados em um índice, o processo morre e os logs de depuração @ / var / log / elasticsearch / * não contêm nada relacionado à falha do serviço. Tentei inserir via logstash (veja abaixo) e também com curl, os quais encerram o processo ES. O comando curl que estou executando é curl -XPOST "http://localhost:9200/logstash-2015.04.05/records/" -d "{ \"type\" : \"specialRecord\" }"
.
Logstash [v1.4.2]
Atualmente, estou executando com esta configuração simples:
input {
stdin { }
}
output {
stdout { codec => rubydebug }
elasticsearch {
host => '127.0.0.1'
cluster => 'elasticsearch'
}
}
Outras notas
Algumas coisas que eu tentei:
Tentei aumentar os níveis de registro do ElasticSearch para DEBUG / TRACE e a saída é notavelmente desinteressante. É um prazer fornecer logs, se for útil.
Tentei fornecer ES 256MB e 512MB de espaço de heap, o que parece não afetar nada. Também observei a utilização da memória durante tudo isso e ficar sem memória não parece ser um problema.
Tentei desabilitar o multicast para tentar eliminar um monte de variáveis de rede, mas isso não pareceu fazer a diferença.
Garanto que o diretório de dados do ES tenha bastante espaço, permissões de gravação, etc. O ES cria subdiretórios no
path.data
diretório quando ele é carregado, mas não acredito que nada seja adicionado, pois, quando reinicio o processo do ES, as estatísticas do índice sugerem que o número total de documentos é zero.
Estou muito perplexo agora e decepcionado que nada que eu precise (ou pelo menos consiga encontrar) esteja sendo registrado. Alguma idéia do que pode estar acontecendo aqui?
hs_err_PID.log
)? O ES 1.5 usa uma biblioteca nativa chamada Sigar para monitoramento, pode ter problemas com o ARM do Raspberry. Você poderia tentar executar o Sigar sozinho? Eu tentaria atualizar para o ES 1.5.2 ou ES 2.0, que não usa mais o Sigar.