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?
fonte
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.Respostas:
Você precisa de mais hardware
Seu raspi pode estar (consideravelmente) com pouca energia para sua carga de trabalho.
Não sou especialista em Elasticstack, mas o configurei em vários cenários de teste e para uso em produção limitada / leve. Na minha experiência, enquanto a configuração inicial requer relativamente poucos recursos, à medida que o número de índices aumenta, o sistema gera significativamente mais IO de disco e carga de CPU.
Isso é especialmente aparente após uma reinicialização enquanto o sistema está recuperando os shards. Se seus índices não forem muito grandes, considere os intervalos mensais em vez dos intervalos diários padrão, o que parece ajudar nesse sentido.
fonte