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?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top