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

мониторинг подключений к серверу в реальном времени

Есть ли способ в реальном времени увидеть подключения к моему серверу и через какие домены?

Не проверяя файл access.log, я хотел бы вместо этого запустить монитор в оболочке.

Веб-сервер Ubuntu 10: lighttpd

Спасибо

Пример строки из access.log

::ffff:000.00.00.000 www.domain.com - [10/Nov/2010:12:42:49 +0100] "GET / HTTP/1.1" 200 295 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10"

Есть пакет под названием iptraf который покажет вам подключения к вашему серверу.

Вы можете установить его, выполнив sudo apt-get install iptraf

Метод Access.log

Вы также можете использовать следующую команду для извлечения информации из журнала access.log.

tail -f access.log | awk '{print $1 "\t"  $2}'

В моем случае это список удаленного IP и имени хоста HTTP 1.1, предоставленного UA.

Объяснение команды

Итак, давайте кратко рассмотрим команду, которую я показал выше:

На самом деле это две команды с именем tail и awk. tail обычно выводит последние 10 строк файла, но с -f Мы просим его продолжать смотреть в файл и печатать новые строки по мере их записи в файл.

Труба (|) - хорошо известный символ, поскольку он использует выходные данные программы (т.е. tail) как ввод другой программы (т.е. awk).

Наконец вторая команда awk '{print $1 "\t" $2}' принимает входные данные из хвоста и ограничивает выход необходимыми столбцами. (В моем примере это были первые столбцы, поэтому я использовал $1 и $2. Если в вашем access.log используется другой порядок столбцов, вы можете соответствующим образом изменить числа.

Это сгенерирует список в реальном времени, похожий на этот:

92.17.166.190--pacey.me
92.17.166.191--pacey.me
92.17.166.192--anotherdomain.com
92.17.166.193--anotherdomain.com

Что касается ваших проблем

Я попытался воспроизвести ошибку, которую вы получаете, с помощью следующей команды.

echo ::ffff:000.00.00.000 www.domain.com - [10/Nov/2010:12:42:49 +0100] "GET / HTTP/1.1" 200 295 "-" "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10" |  awk '{print $1 "\t"  $2}'

Но даже чем это сработало для меня:

::ffff:000.00.00.000    www.domain.com

попробуйте topvhost

http://freshmeat.net/projects/topvhost

Поскольку формат журнала почти такой же, как у Apache, Apachetop может сработать для вас.

Он доступен в репозиториях пакетов Ubuntu, поэтому sudo apt-get install apachetop должен установить его в кратчайшие сроки.

Использование: apachetop -f /path/to/your/access.log