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

Мониторинг выходной пропускной способности сети сервера для каждого IP-адреса

У меня есть сеть статических файловых серверов. Я использую nginx для обслуживания файлов и munin для мониторинга сетевого трафика. Я хочу знать выходную пропускную способность сервера, который идет на каждый IP-адрес, загружающий файл, чтобы оценить пропускную способность, которую каждый интернет-провайдер в моей стране загружает с моих серверов. Средняя выходная пропускная способность серверов составляет около 700 МБ / с (9 серверов, большинство из них имеют 4 подключенных порта 1 Гбит / с). Как я могу это сделать?

В большинстве репозиториев есть инструмент под названием iftop. Он будет отображать график и данные о пропускной способности на каждом сервере. Один из способов его использования:

# iftop -nNPi eno1 -f "port 443"
  • -n отключит разрешение имен для IP-адресов
  • -N отключит преобразование порта в сервисы
  • -P покажет порты, используемые для трафика
  • -i выберет интерфейс для прослушивания
  • -f определит bpf выражение для фильтрации трафика, которое я определил как порт 443 в качестве основного предложения

Вы не указываете, где именно вы хотите / можете слушать, или какой трафик идет куда, и какой именно трафик вы хотите, поэтому этот ответ не пытается охватить его. Также имейте в виду, что это может не сработать, если вы используете нулевую копию или другие «экзотические» конфигурации.

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

access_log /path/to/log combined; 

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

access_log syslog:server=address combined;

Соответствующие настройки задокументированы в nginx руководство.

Этот старый вопрос упоминает некоторые программы веб-аналитики, а также Википедия