Eu já vi essa pergunta na lista de correspondência algumas vezes, mas não tive uma resposta satisfatória.
Qual a melhor forma de monitorar se o pipeline não está preso? Clientes -> logstash -> elasticsearch.
O logstash e, principalmente, a pesquisa elástica são propensos à falta de recursos. Os dois são fantásticos em continuar de onde pararam, mas como exatamente as pessoas estão observando seus observadores?
Opiniões bem-vindas.
monitoring
elasticsearch
logstash
Dan Garthwaite
fonte
fonte
Respostas:
Pessoalmente, na verdade, verifico se o redis ainda está desenfileirando no host de log central, que é upstream do LS + ES.
ou seja:
redis-cli llen logstash
é menor que um número fixo.Isso pode não indicar que os logs estão aparecendo em redis, mas isso pode ser verificado também, eu acho.
Algo como verificar que
redis-cli info | grep total_commands_processed
continua aumentando, talvez?fonte
total_commands_processed
sempre o incremento, se não do logstash, faz a pesquisa doinfo
próprio comando?Eu uso o zabbix no meu ambiente, mas acho que esse método também poderia funcionar em outras configurações. Eu configurei o seguinte comando que o zabbix tem permissão para usar:
Isso retornará o número total de registros confirmados da pesquisa elástica. Então, pego esse valor e divido pelo número de segundos desde que tirei a última amostra (verifico a cada minuto); se esse número cair abaixo de um limite arbitrário, posso alertá-lo. Também uso o zabbix para verificar se o PID do logstash morreu, alertar sobre isso também e executar o seguinte comando:
Isso retornará 1 se a integridade do cluster ficar vermelha (amarelo e verde estão corretos), o que também posso alertar.
fonte
Verifique se os logs por segundo em seu terminal final (por exemplo, elasticsearch) estão acima de alguma linha de base.
Ou seja, faça uma verificação completa, se o resultado final estiver funcionando corretamente, você sabe que todas as etapas do pipeline funcionam corretamente.
Se você tiver problemas com freqüência ou precisar de uma melhor introspecção, comece a instrumentar cada parte do pipeline como redis, conforme sugerido acima.
fonte
Usamos várias abordagens:
fonte