после файла журнала по http - PullRequest
       36

после файла журнала по http

7 голосов
/ 29 октября 2009

Из соображений безопасности (я разработчик) у меня нет доступа к командной строке на наших производственных серверах, где записываются файлы журнала. Я могу , однако получить доступ к этим файлам журнала по HTTP. Существует ли утилита в виде "tail -f", которая может "следовать" за обычным текстовым файлом, используя только HTTP?

Ответы [ 4 ]

6 голосов
/ 02 ноября 2009

Это можно сделать, если HTTP-сервер принимает запросы на возврат частей ресурса. Например, если HTTP-запрос содержит заголовок:

Диапазон: байты = -500

ответ будет содержать последние 500 байтов ресурса. Вы можете получить это, а затем разбить его на строки и т. Д. Я не знаю ни одного готового клиента, который сделает это за вас - я бы написал скрипт для этой работы.

Вы можете использовать Hurl для экспериментов с заголовками (из общедоступных ресурсов).

1 голос
/ 19 сентября 2014

Вы можете использовать небольшую утилиту Java для чтения файла журнала по протоколу HTTP, используя HTTP-библиотеку Apche.

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
    }
1 голос
/ 04 марта 2014

Я написал сценарий bash для той же цели. Вы можете найти его здесь https://github.com/maksim07/url-tail

0 голосов
/ 29 октября 2009

Вы можете использовать PsExec для выполнения команды на удаленном компьютере. Команда tail для windows находится по адресу http://tailforwin32.sourceforge.net/

Если это должен быть HTTP, вы можете написать легкий веб-сервис для достижения этой цели. например, прочитать текст в указанном файле со строки 0 до строки 200.

...