im Anschluss an eine Protokolldatei über http
Frage
Aus Sicherheitsgründen (Ich bin ein Entwickler) Ich habe keine Befehlszeile Zugriff auf unsere Produktionsserver, wo die Protokolldateien geschrieben werden. I können , aber diese Log-Dateien über HTTP zuzugreifen. Gibt es ein Dienstprogramm in der Art von „tail -f“, die „folgen“ kann eine einfache Textdatei mit nur HTTP?
Lösung
Sie können dies tun, wenn der HTTP-Server Anfragen akzeptiert Teile einer Ressource zurück. Wenn beispielsweise eine HTTP-Anfrage enthält den Header:
Reichweite: Bytes = -500
die Antwort werden die letzten 500 Bytes der Ressource enthalten. Sie können, dass holen und dann in Linien analysieren, usw. Ich weiß nicht von irgendwelchen fertigter Kunden, die dies für Sie tun -. Ich ein Drehbuch schreiben würde den Job zu erledigen
Sie können mit Hurl mit Headern experimentieren (aus öffentlich zugänglichen Ressourcen).
Andere Tipps
Ich schrieb einen Bash-Skript für den gleichen Zweck. Sie können es finden hier https://github.com/maksim07/url-tail
Sie können kleinen Java-Dienstprogramm verwenden, um Log-Datei über HTTP mit Apache HTTP-Bibliothek zu lesen.
HttpClient client = HttpClientBuilder.create().build();
HttpGet request = new HttpGet(uri);
HttpResponse response = client.execute(request);
BufferedReader rd = new BufferedReader(new InputStreamReader(
response.getEntity().getContent()));
String s = "";
while ((s = rd.readLine()) != null) {
//Process the line
}
Sie können mit PsExec auszuführen Befehl auf dem Remote-Computer. Der Befehl tail für Windows kann unter http://tailforwin32.sourceforge.net/
findenWenn es sein HTTP verfügt, können Sie einen geringen Gewicht Web-Service schreiben, die leicht zu erreichen. zum Beispiel Text innerhalb einer bestimmten Datei von Zeile 0 lesen 200 auszukleiden.