Как контролировать ежемесячное использование полосы пропускания в Linux
Владельцу сервера важно отслеживать использование сети с течением времени. Многие хостинг-провайдеры взимают плату за пропускную способность и передаваемые данные, поэтому вам нужно следить за своим ежемесячным использованием.
Установить внстат
Существует множество инструментов мониторинга пропускной способности — большинство инструментов мониторинга в реальном времени, таких как htop
и glances
, показывают Rx (получено) и Tx (передано). Однако гораздо полезнее смотреть на среднедневные и месячные средние значения, и для этого вам понадобится инструмент, который может вести журналы с течением времени.
Конечно, если вы размещаете свои серверы у крупного облачного провайдера, такого как AWS или GCP, они, вероятно, будут иметь встроенные инструменты сбора журналов, такие как AWS CloudWatch и GCP Cloud Monitoring. Однако для универсального решения для Linux вам потребуется установить vnstat
.
vnstat
отслеживает все сетевые интерфейсы и ведет журналы о том, сколько трафика обрабатывают ваши серверы, которые можно использовать для представления средних значений трафика за месяц, день и час. Он также имеет возможность вывода в PNG для лучшего вида графика.
vnstat
доступен в большинстве основных менеджеров пакетов. Для систем на основе Debian, таких как Ubuntu, это будет:
sudo apt install vnstat
Вы также можете установить vnstati
для вывода изображений:
sudo apt install vnstati
Если он недоступен в вашем диспетчере пакетов, вы можете загрузить его из исходного кода и использовать make
, чтобы собрать его для своей системы.
vnstat
сразу начнет собирать данные, но потребуется некоторое время, чтобы собрать достаточно данных для реального представления чего-либо. Вернитесь к нему через несколько часов, как только он соберет некоторые данные, и запустите vnstat
, чтобы просмотреть его вывод:
vnstat
Это показывает полученные ГиБ (RX) и переданные ГиБ (TX), а также общее количество и оценку, основанную на предыдущем использовании, если журналы неполные. Имейте в виду, что это в гигабайтах, а не в гигабайтах, хотя разница не так велика, как гораздо меньшие гигабайты.
Если вам нужен более подробный вывод, вы можете выводить каждый час:
vnstat -h
Чтобы вывести сводку изображения, вы можете использовать следующую команду (-s
для сводки), заменив eth0 на любое сетевое устройство, которое вы хотите просмотреть:
vnstati -s -i eth0 -o ~/network-log.png
Таким же образом можно просмотреть почасовую выработку.
vnstati -h -i eth0 -o ~/network-log.png
Если вы хотите провести более глубокий анализ или отправить эти журналы куда-то еще, вы можете вывести все журналы vnstat
с флагом --json
.