Учебники

Linux Admin — Мониторинг трафика в CentOS

Существует несколько сторонних инструментов, которые могут добавить расширенные возможности для мониторинга трафика CentOS. В этом руководстве мы сосредоточимся на тех, которые упакованы в основные репозитории CentOS и репозиторий Fedora EPEL.

Всегда будут ситуации, когда у Администратора (по той или иной причине) остаются только инструменты в основных репозиториях CentOS. Большинство обсуждаемых утилит предназначены для использования администратором с оболочкой физического доступа. При мониторинге трафика с помощью доступного веб-интерфейса лучше всего использовать сторонние утилиты, такие как ntop-ng или Nagios (вместо воссоздания таких возможностей с нуля).

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

Мониторинг трафика для сценариев LAN / WAN

Nagios

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

Большинство программного обеспечения для мониторинга трафика Nagios с открытым исходным кодом можно найти по адресу: https://www.nagios.org

Для краткой истории Nagious, вот официальная страница истории Nagios: https://www.nagios.org/about/history/

ntopng

Еще один замечательный инструмент, позволяющий контролировать пропускную способность и трафик через веб-интерфейс, называется ntopng . ntopng похож на утилиту Unix ntop и может собирать данные для всей локальной или глобальной сети. Предоставление веб-интерфейса для администрирования, настройки и создания диаграмм упрощает использование для всех ИТ-отделов.

Как и Nagious, ntopng предлагает как открытые, так и платные корпоративные версии. Для получения дополнительной информации о ntopng , пожалуйста, посетите веб-сайт: http://www.ntop.org/

Установите Fedora EPEL Repository ─ Дополнительные пакеты для Enterprise Linux

Чтобы получить доступ к некоторым необходимым инструментам для мониторинга трафика, нам необходимо настроить нашу систему CentOS для использования репозитория EPEL.

Репозиторий EPEL официально не поддерживается и не поддерживается CentOS. Тем не менее, группа добровольцев Fedora Core поддерживает его для работы с пакетами, обычно используемыми профессионалами Enterprise Linux, не входящими ни в CentOS, ни в Fedora Core, ни в Red Hat Linux Enterprise.

Осторожно

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

Действительно, самое большое преимущество использования репозитория EHEL перед любым другим сторонним репозиторием с CentOS заключается в том, что мы можем быть уверены, что двоичные файлы не испорчены. Рекомендуется не использовать репозитории из ненадежного источника.

Учитывая все вышесказанное, официальный репозиторий EPEL настолько распространен в CentOS, что его легко установить через YUM.

[root@CentOS rdc]# yum -y install epel-release
 Loaded plugins: fastestmirror, langpacks
 Loading mirror speeds from cached hostfile
 * base: repo1.dal.innoscale.net
 * extras: repo1.dal.innoscale.net
 * updates: mirror.hmc.edu
Resolving Dependencies
   --> Running transaction check
   ---> Package epel-release.noarch 0:7-9 will be installed
   --> Finished Dependency Resolution
Dependencies Resolved
--{ condensed output }--

После установки репозитория EPEL мы захотим обновить его.

[root@CentOS rdc]# yum repolist 
Loaded plugins: fastestmirror, langpacks 
epel/x86_64/metalink
|  11 kB  00:00:00      
epel
| 4.3 kB  00:00:00      
(1/3): epel/x86_64/group_gz
| 170 kB  00:00:00      
(2/3): epel/x86_64/updateinfo
| 753 kB  00:00:01      
(3/3): epel/x86_64/primary_db
--{ condensed output }--

На этом этапе наш EPEL-репозиторий должен быть настроен и готов к использованию. Начнем с установки nload для мониторинга пропускной способности интерфейса.

Инструменты, на которых мы сосредоточимся в этом уроке:

  • nload
  • NTOP
  • ifstst
  • iftop
  • vnstat
  • чистые свиньи
  • Wireshark
  • TCP Dump
  • Трассировка

Все они являются стандартными для мониторинга трафика в Linux Enterprises. Использование каждого диапазона от простого до продвинутого, поэтому мы лишь кратко обсудим такие инструменты, как Wireshark и TCP Dump.

Установите и используйте nload

С нашими репозиториями EPEL, установленными и настроенными в CentOS, мы теперь сможем установить и использовать nload . Эта утилита предназначена для составления графика пропускной способности каждого интерфейса в режиме реального времени.

Как и большинство других базовых установок, nload устанавливается через менеджер пакетов YUM.

[root@CentOS rdc]# yum -y install nload
Resolving Dependencies
--> Running transaction check
---> Package nload.x86_64 0:0.7.4-4.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================== 
=============================================================================== 
 Package                             Arch
 Version                           Repository                          Size 
=============================================================================== 
=============================================================================== 
Installing: 
 nload                               x86_64
 0.7.4-4.el7                        epel                                70 k  
Transaction Summary
=============================================================================== 
=============================================================================== 
Install  1 Package
Total download size: 70 k
Installed size: 176 k
Downloading packages:
--{ condensed output }--

Теперь у нас установлен nload , и использовать его довольно просто.

[root@CentOS rdc]# nload enp0s5

nload будет контролировать указанный интерфейс. В этом случае enp0s5 интерфейс Ethernet в режиме реального времени от терминала для загрузки сетевого трафика и использования полной полосы пропускания.

NLoad

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

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

Общие параметры командной строки для nload

команда действие
-a Временной период
-t Интервал обновления времени в миллисекундах, по умолчанию 500
-u Устанавливает отображение измерения трафика h
-U Устанавливает единицы измерения общего входящего / исходящего трафика те же параметры, что и -u

Стандартный синтаксис для nload —

nload [options] <interface>

Если интерфейс не указан, nload автоматически захватит первый интерфейс Ethernet. Давайте попробуем измерить общий объем данных в мегабайтах и ​​текущие скорости передачи данных в мегабитах.

[root@CentOS rdc]# nload -U M -u m

Скорости в мегабитах

Данные, поступающие в / из текущего интерфейса, измеряются в мегабитах в секунду, и каждая строка «Ttl», представляющая общее количество данных, вводимых / выводимых, отображается в мегабайтах.

nload полезен для администратора, чтобы увидеть, сколько данных прошло через интерфейс и сколько данных в настоящее время поступает / выходит из указанного интерфейса.

Чтобы увидеть другие интерфейсы без закрытия nload, просто используйте клавиши со стрелками влево / вправо. Это будет циклически перебирать все доступные интерфейсы в системе.

Можно контролировать несколько интерфейсов одновременно с помощью ключа -m

[root@CentOS rdc]# nload -u K -U M -m lo -m enp0s5

загрузка мониторинга двух интерфейсов одновременно (lo и enp0s5) —