suite à un fichier journal via http
Question
Pour des raisons de sécurité (je suis un développeur), je n'ai pas accès en ligne de commande à nos serveurs de production sur lesquels les fichiers journaux sont écrits. Je peux , cependant accéder à ces fichiers journaux via HTTP. Y a-t-il une utilité à la manière de " tail -f " qui peut " suivre " un fichier texte en utilisant uniquement HTTP?
La solution
Vous pouvez le faire si le serveur HTTP accepte les demandes de renvoi de parties d'une ressource. Par exemple, si une requête HTTP contient l’en-tête:
Plage: octets = -500
la réponse contiendra les 500 derniers octets de la ressource. Vous pouvez récupérer cela, puis l’analyser en lignes, etc. Je ne connais aucun client prêt à l'emploi qui le fasse pour vous. J'écrirais un script pour faire le travail.
Vous pouvez utiliser Lancer pour expérimenter des en-têtes (à partir de ressources accessibles au public).
Autres conseils
J'ai écrit un script bash dans le même but. Vous pouvez le trouver ici https://github.com/maksim07/url-tail
Vous pouvez utiliser un petit utilitaire Java pour lire le fichier journal sur HTTP à l'aide de la bibliothèque HTTP Apache.
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
}
Vous pouvez utiliser PsExec pour exécuter la commande sur un ordinateur distant. La commande de fin pour Windows est disponible à l'adresse http://tailforwin32.sourceforge.net/
.S'il doit s'agir de HTTP, vous pouvez écrire un service Web léger pour y parvenir facilement. Lire, par exemple, le texte d'un fichier spécifié de la ligne 0 à la ligne 200.