Найти в Дзене
Игорь Сотников

Linux. Мониторинг Сети.Часть 4.

В данной статье мы разберем, как измерять производительность сети и инструменты, которые позволяют снимать метрики сети. Инструментов по снятию метрик и анализу, того что вообще происходит в сети куча, каждый администратор выбирает себе любимые и работает с ними, но есть некоторые базовые. Утилита ifconfig – данная утилита может выводить полезную информацию, а также с помощью нее можно конфигурировать сеть. Вот вывод данной утилиты без ключей. Рассмотрим вывод данной команды, слева название интерфейсов. Далее флаги с числовым значением, которое по сути отражает то что написано в скобках, сведения об интерфейсе. Состояние UP, BROADCAST – адрес на нем может относится к широковещательной сети, сетевая карточка RUNNING и есть возможность MULTICAST. Про различные *cast можно почитать в книге про сети передачи данных. Далее в выводе можно увидеть параметр mtu по умолчанию оно равно 1500 в байтах – это maximum transmission unit, т.е максимальный размер пакета полезной информации передаваемого

В данной статье мы разберем, как измерять производительность сети и инструменты, которые позволяют снимать метрики сети. Инструментов по снятию метрик и анализу, того что вообще происходит в сети куча, каждый администратор выбирает себе любимые и работает с ними, но есть некоторые базовые. Утилита ifconfig – данная утилита может выводить полезную информацию, а также с помощью нее можно конфигурировать сеть.

-2

Вот вывод данной утилиты без ключей. Рассмотрим вывод данной команды, слева название интерфейсов. Далее флаги с числовым значением, которое по сути отражает то что написано в скобках, сведения об интерфейсе. Состояние UP, BROADCAST – адрес на нем может относится к широковещательной сети, сетевая карточка RUNNING и есть возможность MULTICAST. Про различные *cast можно почитать в книге про сети передачи данных. Далее в выводе можно увидеть параметр mtu по умолчанию оно равно 1500 в байтах – это maximum transmission unit, т.е максимальный размер пакета полезной информации передаваемого через интерфейс. Пакет состоит из полезной и служебной информации и благодаря этому мы понимаем сколько полезной информации максимально содержится в пакете. Далее информация об ip, mask, Broadcast адресе, здесь все стандартно. Далее интересный параметр rxqueuelen – это длинна очереди передачи, т.е грубо говоря размер буфера в количестве пакетов, которые можно в него поместить. Далее идет описательная информация сколько пакетов получено RX и сколько пакетов отправлено TX. Далее информация об ошибках приема\передачи errors. Dropped – отброшенные пакеты. overruns – это собственно переполнение буфера. Это может происходить если буфер переполняется, а ядро не успевает его очищать. Далее идут различия, т.к отправляется по одной технологии, а принимается по другой. Для приема RX есть параметр frames – этот параметр показывает не целые кадры. Это как правило кадры не кратные 8, т.е если что-то не дополучили в процессе приема. Как вариант не корректно работает свич, сбоит порт. Когда мы пакеты отправляем, мы их отправляем кадрами, там сбоя произойти не может. Мы их отправили в сеть, а далее, что с ними происходит нам уже не интересно. Поэтому параметр frame только для RX. У TX есть еще 2 параметра carrier и collisions. Ошибки carrier обычно свидетельствуют о проблемах со средой передачи данных, в нашем случае кабель. Коллизии – возникаю обычно если у нас устройство настроено в полудуплексном режиме, а порт на свиче в дуплексном. В настоящее время согласование скоростей и параметров передачи данных происходит в автоматическом режиме.

Нужно сказать, что параметры ошибок для RX и TX должны быть максимально приближенны к нулю. Если у нас 0 , то это значить ошибок нет.

Еще в выводе команды есть такой параметр как scopeid – это параметр показывает на сколько далеко наш ip известен за пределами системы. Бывает global, site, link, host. Global –глобальный публичный ip маршрутизируемые в интернете. Site параметр бывает он действителен для адресов ipv6. Link говорит о том, что наш ip в пределах локальной сети. Host на петлевом интерфейсе говорит, что адрес валиден в пределах данного хоста.

Далее посмотрим работу другого очень важного инструмента netstat. Мануал выводить не буду, вы можете самостоятельно вывести командой man netstat. Очень полезный инструмент, бесконечное множество ключей. Ключи лучше всего подбирать под каждый конкретный случай.

Рассмотрим следующий типичный случай. Необходимо посмотреть информацию о сетевых интерфейсах, вводим netstat –ie.

-3

Команда netstat -s выводит статистику по протоколам.

Наиболее часто, что встречается в интернете , использование с ключами netstat –tuna

-4

Ключи t – tcp \ u-udp \ n – числовые значения ip , dns может долго отрабатывать. \ a- показывать все соединения, точнее состояния, в том числе установленные.

В выводе мы можем видеть следующее: Recv-Q – очередь приема, Send-Q –очередь отправки. Proto – протокол. Далее Local Address –важная строка показывает, что мы случаем. 0.0.0.0 показывает, что слушаем для всех сетевых интерфейсов 22 порт. И можно посмотреть следующую строку :

-5

Которая означает что я со своего компьютера 10.3.253.1 с порта 2280 установил соединение ESTEBLISHED на 10.1.1.218 порт 22. Т.е подключился по ssh.

Можно увидеть несколько строчек с “:::” – это тоже самое, что 0.0.0.0 только для протокола ipv6.

Для меня более привычный вывод команды netstat -tulnp , где ключ p – дает вывод программы которая слушается на данном порту. И можно посмотреть PID программы.

-6

Здесь порядок ключей значения не имеет.

Важно – это не значить, что все эти соединения открыты в интернет. Вопросы безопасности регулируются фаерволом , в Ubuntu по умолчанию ufw , а в CentOS фаервол iptables.

Посмотрим еще пару интересных утилит. Iftop – данная утилита умеет очень красиво показывать текущие соединения.

-7

Вот в таком виде показывает соединения, которые были при загрузке пакетов. Думаю, интуитивно понятная псевдографика.

Nload – можно посмотреть в виде другой интересный псевдографики.

-8

Умеет вот такие красивые пики рисовать утилита.

В принципе этого достаточно, для понимания параметров, основные характеристик.

Если у кого есть желание сказать спасибо за канал или статьи :

QIWI: KNEYE561

Юmoney ( ЯД ) 41001606289345

#ubuntu #centos #open source #системное администрирование