Назад | Перейти на главную страницу

обслуживание журналов через HTTP

Вот чего я пытаюсь достичь: у меня есть несколько серверов Linux, на которых развернуто мое веб-приложение. В настоящее время моя команда разработчиков обращается к веб-приложению, запускает свои тестовые примеры, а затем по SSH в мои Linux-устройства для просмотра или получения журналов. Мне не нравится, что они могут подключаться к любым серверам по SSH / FTP, и я ищу решение, позволяющее получать журналы к ним только через HTTP и HTTP (никаких решений для Linux, таких как тюрьма и т. Д.).

Поскольку серверы уже работают довольно медленно и не могут справиться с большей нагрузкой на них, я решил использовать Python SimpleHTTPServer. Для каждого каталога, в котором есть журнал, который им понадобится, я в основном создаю файл index.html, в котором есть только ссылка для загрузки на этот файл журнала, а затем запускаю SimpleHTTPServer в этом каталоге. Мне нужно будет запустить 3 сервера SimpleHTTPServer на каждом ящике, так как им нужно 3 журнала.

Это работает нормально, за исключением того, что время от времени http: // serverurl: порт URL-адрес, используемый для доступа к одному из журналов, который иногда получает около 700 МБ, перестает отвечать (в Google Chrome он говорит: данные не получены, в IE и FF он просто показывает пустую страницу). В этот момент SimpleHTTPServer на этом порту все еще работает и отображается в запущенных процессах.

До сих пор я просто исправлял эту проблему, когда она возникает, убивая, а затем запуская SimpleHTTPServer на этом порту, но я ищу постоянное решение. Странно то, что это происходит только с одним из журналов, и я устал переключать номера портов, так как я подумал, может быть, есть конфликт или что-то в этом роде.

Может ли кто-нибудь предложить решение, использующее HTTP, такое же легкое, как SimpleHTTPServer, и не требующее такого большого обслуживания.

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

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

* Системы NIX уже включают в себя демона, который действительно хорошо собирает журналы / сообщения и отправляет их на централизованный хост ([syslogd][1]).
Вы можете воспользоваться этим, настроив syslogd для отправки определенных средств на лог-хост и либо изменения ваших тестовых сценариев для входа в это средство, либо, в качестве альтернативы, просто передачи их вывода в [logger][2] программа.

Затем вы можете запустить веб-сервер по вашему выбору на хосте журнала (или выполнить любой другой анализ, который вы хотите), не создавая ненужной нагрузки на свои серверы или не открывая потенциальных дыр в безопасности, чтобы сделать журналы доступными.

Это не «решение, использующее HTTP» (по крайней мере, не напрямую), но это может быть лучше, чем запускать веб-сервер на каждом компьютере.