J'ai vu cette question sur la liste de diffusion plusieurs fois mais je n'ai pas eu de réponse satisfaisante.
Comment contrôler au mieux que le pipeline n'est pas bloqué? Clients -> logstash -> elasticsearch.
Logstash et surtout elasticsearch sont sujets à la famine. Ils sont tous les deux fantastiques pour reprendre là où ils se sont arrêtés mais comment, exactement, les gens regardent-ils leurs observateurs?
Les opinions sont les bienvenues.
monitoring
elasticsearch
logstash
Dan Garthwaite
la source
la source
Réponses:
Personnellement, je vérifie que redis est toujours en attente de mise en file d'attente sur l'hôte de journalisation central, qui est en amont de LS + ES.
c'est-à-dire:
redis-cli llen logstash
est inférieur à un certain nombre fixe.Cela peut ne pas indiquer du tout que les journaux apparaissent dans redis, mais cela pourrait aussi être vérifié, je suppose.
Quelque chose comme la vérification qui ne
redis-cli info | grep total_commands_processed
cesse d'augmenter, peut-être?la source
total_commands_processed
toujours incrémenté, sinon à partir de l'interrogation de logstash, puis à partir de lainfo
commande elle-même?J'utilise zabbix dans mon environnement, mais je suppose que cette méthode pourrait également fonctionner dans d'autres configurations. J'ai configuré la commande suivante que zabbix est autorisée à utiliser:
Cela renverra le nombre total d'enregistrements elasticsearch engagés. Je prends donc cette valeur et la divise par le nombre de secondes depuis que j'ai pris le dernier échantillon (je vérifie toutes les minutes), si ce nombre tombe en dessous d'une limite arbitraire, je peux l'alerter. J'utilise également zabbix pour vérifier si le PID de logstash est mort, et l'alerter également, et exécuter la commande suivante:
Cela retournera 1 si la santé du cluster est devenue rouge (le jaune et le vert sont corrects), ce que je peux également alerter.
la source
Vérifiez que les journaux par seconde à votre point de terminaison final (par exemple elasticsearch) sont supérieurs à une ligne de base.
Autrement dit, effectuez une vérification de bout en bout, si votre résultat final fonctionne correctement, vous savez que toutes les étapes du pipeline fonctionnent correctement.
Si vous rencontrez fréquemment des problèmes ou avez besoin d'une meilleure introspection, commencez à instrumenter chaque morceau du pipeline comme redis comme suggéré ci-dessus.
la source
Nous utilisons plusieurs approches:
la source