0

ISC опубликовала инструмент мониторинга активности сетевых карт для Linux

ethq

ISC (Internet Systems Consortium) представила ethq — инструмент для Linux, позволяющий отслеживать активность сетевых карт. Каждую секунду он считывает статистику карты и преобразует абсолютные значения в байты и пакеты в секунду для каждой очереди. Поддерживается ограниченное количество драйверов: i40e, ixgbe, а также vmxnet3. Код инструмента можно найти на GitHub.

Как работает ethq?

Драйвера сетевых карт на Linux, как правило, содержат статистику о том, какое количество пакетов и байтов было передано и получено. Эту информацию можно получить с помощью утилиты ethtool командой ethtool -S enp5s0f1. Впрочем, драйвера содержат куда больший набор информации, поэтому для получения данных по очередям сетевой карты нужно воспользоваться, например, следующей командой:

$ ethtool -S enp5s0f1 | grep '[rt]x-[0-9]'
   tx-0.tx_packets: 61122861442
   tx-0.tx_bytes: 10359359292618
   rx-0.rx_packets: 165894101718
   rx-0.rx_bytes: 12865093535024
   tx-1.tx_packets: 72709177633
   tx-1.tx_bytes: 11351345564539
   rx-1.rx_packets: 18640137236
   rx-1.rx_bytes: 1462729691538
   ...

Проблема состоит в преобразовании этих значений в статистику по очередям в реальном времени. Именно для этого и предназначен инструмент ethq. С его помощью можно видеть данные в следующем формате:

ethq screenshotПочему это важно?

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

Терминал Linux позволяет решать множество задач. Чтобы работать в нем, как профи, используйте подборку полезных команд.

Source: блог Internet Systems Consortium