0

Ich bin ein Latenzproblem mit logstash gegenüber.FIlebeat-Redis-Logstash: Filebeat schnell und Logstah langsam, logstash Threading?

In der Tat habe ich eine ELK wie diese gebaut Stack:

  • ich mehr Web-Front auf AWS EC2 in einer AWS Autoscaling Gruppe
  • Ich habe filebeat auf jedem Front
  • filebeat installiert liest Protokolle Dateien und sendet Nachrichten an einen redis cluter (aws ElastiCache redis, ein Master und ein Slave-Knoten, Cluster-Modus deaktiviert)
  • ich auf einer EC2 c4.large logstash installiert haben, die Protokolle von redis (pop) und indiziert sie lesen in einem Elasticseach Cluster
  • Mein Elasticsearch consits von drei EC2 c4.xlarge
  • logstash liest auch elb Protokolle von s3 und indiziert sie im Elasticsearch Cluster

Das Problem:

  • Ich habe nicht wirklich eine große cpu verwenden, entweder auf meiner logstash instance oder meine elasticsearch cluster
  • filebeat ist lesen und senden logs genau
  • Am Anfang waren alle Dinge in Ordnung , aber wenn die Logs wachsen, führt FileBeat das Senden von Logs sehr schnell aus, aber Logstash wird sehr langsam.

Ergebnis:

  • In Kibana sehe ich filebeat logs mit einer Verzögerung mit der Zeit aufwächst (Protokolle sind jetzt mehr als 2 Stunden zu spät)
  • Ich bin nicht s3 elb Protokolle seit Dezember zu sehen 2016. Ich habe überprüft, Logstash zieht sie aus s3 jeweils 60 Sekunden, aber scheint sie auch nicht zu indizieren, und es gibt keinen Fehler.

fortzusetzen, ich meine logstash haben verry langsam arbeiten, kann ich nicht alle meine Protokolle rechtzeitig sehen können, ich habe sogar erhöhen logstash Größe zu einer großen Instanz (c4.2xlarge), aber es hat sich nicht verändert etwas. Ich habe Logstash-Redis-Eingabe mit 8 Threads konfiguriert, aber überhaupt keine Änderung.

So würde Ich mag wissen, wie ich genau meinen logstash Service Thread kann, wie ich mit der Ausgabe von Ihrer Sicht umgehen kann?

Dank

Antwort

0

Ich habe das Problem für meine Protokolle Latenz gefunden. Ich war mit multine in meiner Filterkonfiguration, und mit dem, logstash zählt gesetzt Pipeline Arbeiter . So entferne ich es dort und mehrzeilige Verarbeitung in meiner filebeat Source-Konfiguration machen. Ich aktualisiere auch meine Logstash-Instanz von c4.large auf c4.xlarge, um eine hohe Netzwerkleistung zu erreichen, und setze meine Pipeline-Worker-Anzahl auf (c4.xlarge hat 4 vpcu) und meinen elasticsearch worker auf auch.

Jetzt kann ich meine Kibana in Echtzeit einloggen.

Ich verwende logstash 2.2.4 auf Debian Jessie und machte Tuning meine Einstellungen in /etc/default/logstash.,

Also, was ich hier beraten sollte ist die Vermeidung von mehrzeiligen in die machen Pipeline-Prozess und tun es so nah wie möglich an der entsprechenden. Legen Sie auch die Worker-Konfiguration für die Verarbeitung von Protokollen fest.

Ich denke, diese Frage beantwortet, da mein Hauptproblem hier war die Latenz, und ich werde another separaten Problem für das Problem logstash s3-Plugin öffnen.

Verwandte Themen