2016-07-29 25 views
2

Ich habe einen Webserver, auf den andere Sites mit einigen GET-Parametern umleiten. Meine Situation:Ich habe 2 GB Webserver-Logs pro Tag produziert, wie man sie filtert?

  • Derzeit habe ich 2 GB Web-Server-Protokolle jeden Tag produziert.
  • Ich muss die Protokolle für mindestens die Hälfte des Jahres (~ 350 GB Protokolle) filtern.
  • Ich verwende Amazon-Infrastruktur, um die Protokolle in S3-Bucket zu speichern. Ich habe zwei Webserver, die die Protokolle schreiben.

Welche Technologie sollte ich verwenden, um diese Daten abzufragen/zu filtern? Zuvor habe ich Dateien auf einem Ubuntu-Rechner heruntergeladen und dann grep, um die Ergebnisse zu erhalten. Ich habe auch Hadoop über AWS getestet, aber ich fand es schwierig zu verwenden.

Welche Technologie/Lösung ist am besten in Bezug auf:

  1. Geschwindigkeit der Filterung
  2. Einfache
  3. Leicht zu lernen, die Regeln zu ändern
  4. Filterung

Danke für Ihre Aufmerksamkeit

+0

Schauen Sie sich diesen Artikel https://aws.amazon.com/articles/Elastic-MapReduce/2440 – error2007s

+0

Thanks @ error2007s Ich werde es versuchen für einige Tage und gebe mein Feedback hier. – Paul

Antwort

0

Sie können AWS Cloud Watch Log Stream verwenden; richtig ist es für Ihre Bedürfnisse geschaffen. Sie können einen Protokolldatenstrom erstellen und mit dem kleinen Code auf Ihrer Client-Seite (Ihrem Webserver) können Sie Protokolle automatisch zur Cloud-Überwachung übertragen.

Nachdem Sie die Protokolldaten an Cloud Watch gesendet haben, können Sie in Ihren Protokolldateien suchen, filtern, Metriken und Dashboards erstellen.

Sie möchten beispielsweise alle "fehlgeschlagene Anmeldungen" in Ihren Protokollen zählen oder die Größe Ihres Webserver-Downstreads oder andere Metriken berechnen.

Es ist sehr einfach und schnell.

Auch mit Cloud Watch können Sie eine Warnung erstellen und eine Warnung erhalten, wenn in Ihren Protokolldateien etwas passiert.

Schließlich können Sie aus Ihren Protokollen Metriken ein schönes Dashboard erstellen.

Genießen Sie Cloud Watch!

für weitere Informationen:

https://aws.amazon.com/cloudwatch/

http://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html

+0

Schließlich habe ich AWS Cloud Watch Logs verwendet, weil es einfach einzurichten war und mir grundlegende Filteroptionen bietet. Was für mich von Vorteil ist, ist, dass andere Benutzer es ohne Wissen über die * nix Konsole verwenden können. – Paul

1

In Ihrem Fall werde ich Elasticsearch empfehlen (unterstützt die Integration mit mehrere AWS).

Es ist einfach zu bedienen, schnell genug, skalierbar und es hat tolle Plugins namens Kibana und Logstash.

Die erste ist für Visualisierungen und die zweite ist für das Parsen/Filtern von Protokollen, es hat eine Konfigurationsdatei, wo Sie den Filter ändern können, wie Sie wollen.

Here ein gutes Tutorial, so dass Sie beginnen können, logstash zu verwenden.