Zentrale Java-Protokollierung
Ich bin auf der Suche nach einem Weg, zu zentralisieren die Anmeldung betrifft verteilter software (in Java geschrieben), das wäre ganz einfach, da das system in Frage, hat nur einen server. Aber wenn man bedenkt, dass es ist sehr wahrscheinlich, dass weitere Instanzen der jeweiligen server läuft in Zukunft (und es wird immer mehr Anwendung in der Notwendigkeit für diese), müsste es so etwas wie ein Logging-Server, kümmert sich um die eingehenden Protokolle und macht Sie zugänglich für den support-team.
Die situation jetzt ist, dass einige java-Anwendungen verwenden log4j schreibt es Daten auf lokale Dateien, so dass, wenn ein client, Erfahrungen, Probleme dem support-team zu Fragen, für die Protokolle, das ist nicht immer einfach und braucht viel Zeit. Im Falle einer server-Störung die Diagnose-das problem ist nicht so groß, da gibt es remote-Zugriff sowieso, aber auch wenn, monitoring-alles über ein Logging-Server würde immer noch sehr viel Sinn machen.
Während ich mich durch die Fragen zu "zentrale Anmeldung" ich fand einen anderen Frage (eigentlich der einzige mit einem (in diesem Fall) brauchbare Antwort. Problem ist, alle Anwendungen laufen in einer geschlossenen Umgebung (innerhalb eines Netzwerkes) und Sicherheits-Richtlinien erlauben es nicht, für alles, was in Bezug auf die interne software, um aus dem Netzwerk-Umgebungen.
Fand ich auch einen wunderbaren Artikel darüber, wie würde man implementieren so ein Logging-Server. Seit der Artikel geschrieben wurde, im Jahr 2001, hätte ich gedacht, dass jemand vielleicht bereits gelöst haben dieses problem. Aber meine such-Ergebnisse kam mit nichts.
Meine Frage: gibt es ein logging-framework, die sich mit der Protokollierung über Netzwerke mit einem zentralen server zugegriffen werden kann durch das support-team?
Spezifikation:
- Verfügbarkeit
- Server muss ausgeführt werden, von uns.
- Java 1.5 compatibility
- Kompatibilität zu einem heterogenen Netzwerk.
- Best-Case: Protokoll HTTP verwendet, um das senden von Protokollen (zur Vermeidung von firewall-Problemen)
- Best-Case: Verwendet log4j oder LogBack oder im Grunde alles, was, die slf4j
Nicht notwendig, aber nice to have
- Authentifizierung und Sicherheit ist natürlich ein Problem, könnte aber zurückgenommen werden, zumindest für eine Weile (wenn es geöffnet ist-software wären wir erweitern unsere Bedürfnisse OT: wir geben immer wieder zu den Projekten).
- Data mining und Analyse ist etwas, das ist sehr hilfreich, um software besser, aber das könnte genauso gut eine externe Anwendung.
Mein worst-case-Szenario ist, dass Ihre keine software so. Für diesen Fall würden wir wahrscheinlich implementieren diese selbst. Aber wenn es einen solchen Client-Server-Anwendung wäre ich sehr dankbar, nicht dass dies besonders problematisch, wenig Arbeit.
Vielen Dank im Voraus
Update: Die Lösung ist für die Ausführung auf mehreren java-fähigen Plattformen. (Meist Windows, Linux, einige HP-Unix)
Update: Nach viel mehr Forschung, die wir tatsächlich eine Lösung gefunden, wir waren in der Lage zu erwerben. clusterlog.net (offline seit mindestens Mitte 2015) bietet logging-Dienste für verteilte software und ist kompatibel zu log4j und logback (kompatibel zu slf4j). Sie können uns bei der Analyse jeden einzelnen Benutzer Weg durch die Anwendung. So dass es sehr leicht zu reproduzieren gemeldeten bugs (oder auch nicht berichtet). Außerdem informiert uns über wichtige Ereignisse per E-Mail und hat ein report-system wurden die Protokolle von der gleichen Ursprungs sind summorized in eine leicht zugängliche format. Sie implementiert (die war einwandfrei) es hier gerade vor ein paar Tagen und es läuft Super.
Update (2016): diese Frage wird immer noch viel Verkehr, aber die Seite, die ich genannt nicht mehr vorhanden ist.
InformationsquelleAutor der Frage Sebastian van Wickern | 2012-06-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie verwenden Log4j mit der SocketAppender, so schreiben Sie den server-Teil als LogEvent-Verarbeitung.
sehen http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/net/SocketAppender.html
InformationsquelleAutor der Antwort Arcadien
oder
Beispiel:
1) http://logstash.net/docs/1.3.3/tutorials/getting-started-simple
2) http://logstash.net/docs/1.3.3/tutorials/getting-started-centralized
InformationsquelleAutor der Antwort hB0
Haben Sie einen Blick auf logFaces, sieht aus wie Ihre Spezifikationen erfüllt sind.
http://www.moonlit-software.com/
InformationsquelleAutor der Antwort Frank
Es ist ein ready-to-use-Lösung von Facebook - Schreiber - das ist mit Apache Hadoop unter der Haube. Jedoch, die meisten Unternehmen, die ich bewusst bin, immer noch dazu neigen, zu entwickeln, in-house-Systemen. Ich arbeitete in einer solchen Firma ein und befasste sich mit Protokollen, so etwa vor zwei Jahren. Wir verwendeten auch Hadoop. In unserem Fall mussten wir die folgenden setup:
Hatten wir eine kleine und festgelegte Anzahl von berichten, die für uns interessant waren. In seltenen Fällen, wenn wir wollten eine andere Art von Analyse würden wir fügen Sie einfach eine spezielle reducer-code und Optional führen Sie es gegen den alten logs.
Wenn Sie sich nicht entscheiden können, welche Art von Analysen Sie daran interessiert sind, im Voraus, dann werde es besser zum speichern von strukturierten Daten bereit, die durch die Arbeiter in HBase oder eine andere NoSQL-Datenbank (hier, zum Beispiel, die Menschen verwenden, Mongo DB). So brauchen Sie sich nicht zu re-aggregieren von Daten aus der raw-Protokolle und wird in der Lage sein, um die Abfrage der datastore statt.
Gibt es eine Reihe von guten Artikeln über solche logging-aggregation-Lösungen, zum Beispiel, mit Schwein zum Abfragen des aggregierten Daten. Schwein ermöglicht die Abfrage von großen Hadoop-basierte Datensätze mit SQL-ähnlichen Abfragen.
InformationsquelleAutor der Antwort Andrew Андрей Листочкин