Pergunta

Por razões de segurança (Eu sou um desenvolvedor) Eu não tenho acesso à linha de comando para os nossos servidores de produção onde os arquivos de log são escritas. I pode , no entanto acessar esses arquivos de log através de HTTP. Existe um utilitário na forma de "tail -f" que pode "seguir" um arquivo de texto usando apenas HTTP?

Foi útil?

Solução

Você pode fazer isso se o servidor HTTP aceita pedidos para retornar partes de um recurso. Por exemplo, se uma solicitação HTTP contém o cabeçalho:

Range: bytes = -500

a resposta conterá os últimos 500 bytes do recurso. Você pode buscar isso e, em seguida, analisá-lo em linhas, etc. Eu não sei de quaisquer clientes ready-made, que vai fazer isso por você. - Eu ia escrever um script para fazer o trabalho

Você pode usar Hurl a experimentar com cabeçalhos (a partir de recursos disponíveis publicamente).

Outras dicas

Eu escrevi um script para o mesmo fim. Você pode encontrá-lo aqui https://github.com/maksim07/url-tail

Você pode usar o utilitário de java pequeno para ler arquivo de log através de HTTP utilizando Biblioteca 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
    }

Você pode usar PsExec para executar um comando no computador remoto. O comando tail para as janelas podem ser encontradas em http://tailforwin32.sourceforge.net/

Se ele tem que ser HTTP, você pode escrever uma luz de serviço de peso web para conseguir isso facilmente. por exemplo, ler o texto dentro de um arquivo especificado a partir da linha 0 para a linha 200.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top