20-Command-Line-Tools-to-Monitor-Linux-Performance

20 инструментов командной строки для мониторинга производительности Linux

Мониторинг

Действительно трудной задачей для каждого администратора является ежедневное отслеживание и отладка проблем производительности системы Linux. Будучи администратором Linux более 5 лет в ИТ-индустрии, я узнал, насколько сложно контролировать и поддерживать работу систем. По этой причине мы составили список 20 наиболее часто используемых инструментов мониторинга производительности Linux, которые могут быть полезны для каждого системного администратора Linux/Unix. Эти команды доступны во всех дистрибутивах Linux и могут быть полезны для мониторинга и поиска фактических причин проблемы с производительностью.

 

1. Top — мониторинг процессов Linux

Команда top — это команда мониторинга производительности, которая часто используется многими системными администраторами для мониторинга производительности Linux. Команда top используется для отображения всех запущенных и активных процессов в реальном времени в упорядоченном списке. Она отображает использование ЦП, использование памяти, память swap, размер кэша, размер буфера, идентификатор процесса, пользователя и многое другое. Команда top очень удобна для мониторинга и принятия правильных решений в случае возникновения проблем. Давайте посмотрим команду top в действии.

# top

 

Top-Command-Example

 

 

Дополнительные примеры команды Top: Как сохранить вывод команды top в файл?

 

2. VmStat — статистика виртуальной памяти

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

# vmstat

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free inact active si so bi bo in cs us sy id wa st
1 0 0 810420 97380 70628 0 0 115 4 89 79 1 6 90 3 0

 

 

vmstat-Monitoring-tool-for-Linux

 

 

3. Lsof — список открытых файлов

Команда Lsof используется во многих системах Linux/Unix, при отображении списка всех открытых файлов и процессов. В число открытых файлов входят файлы дисков, сетевые сокеты, каналы, устройства и процессы. Одной из основных причин использования этой команды является то, что диск нельзя размонтировать иначе он отображает ошибку, когда какие-то файлы используются или открыты. С помощью этой команды вы можете легко определить, какие файлы используются.

# lsof

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
init 1 root cwd DIR 104,2 4096 2 /
init 1 root rtd DIR 104,2 4096 2 /
init 1 root txt REG 104,2 38652 17710339 /sbin/init
init 1 root mem REG 104,2 129900 196453 /lib/ld-2.5.so
init 1 root mem REG 104,2 1693812 196454 /lib/libc-2.5.so
init 1 root mem REG 104,2 20668 196479 /lib/libdl-2.5.so
init 1 root mem REG 104,2 245376 196419 /lib/libsepol.so.1
init 1 root mem REG 104,2 93508 196431 /lib/libselinux.so.1
init 1 root 10u FIFO 0,17 953 /dev/initctl

 

 

lsof-Command

 

 

4. Tcpdump — анализатор сетевых пакетов

Tcpdump — один из наиболее широко используемых программных анализаторов сетевых пакетов, который используется для сбора или фильтрации пакетов TCP/IP, которые были получены или переданы по определенному интерфейсу в сети. Он также предоставляет возможность сохранять захваченные пакеты в файле для последующего анализа. tcpdump доступен почти во всех основных дистрибутивах Linux.

# tcpdump -i eth0

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
22:08:59.617628 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 2532133365:2532133481(116) ack 3561562349 win 9648
22:09:07.653466 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 116:232(116) ack 1 win 9648
22:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > tecmint.com.ssh: . ack 116 win 64347

 

 

Tcpdump-command

 

 

Больше примеров использования tcpdumptcpdump — полезное руководство с примерами

 

5. Netstat — статистика сети

Netstat — это инструмент командной строки для мониторинга статистики входящих и исходящих сетевых пакетов, а также статистики интерфейса. Это очень полезный инструмент для каждого системного администратора при работе с задачами мониторинга производительности сети и устранения неполадок, связанных с сетью.

# netstat -a | more

Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:mysql *:* LISTEN
tcp 0 0 *:sunrpc *:* LISTEN
tcp 0 0 *:realm-rusd *:* LISTEN
tcp 0 0 *:ftp *:* LISTEN
tcp 0 0 localhost.localdomain:ipp *:* LISTEN
tcp 0 0 localhost.localdomain:smtp *:* LISTEN
tcp 0 0 localhost.localdomain:smtp localhost.localdomain:42709 TIME_WAIT
tcp 0 0 localhost.localdomain:smtp localhost.localdomain:42710 TIME_WAIT
tcp 0 0 *:http *:* LISTEN
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 *:https *:* LISTEN

 

 

netstat-command

 

 

Дополнительные примеры Netstat20 команд netstat для управления сетью Linux и Windows

 

6. Htop — мониторинг процессов Linux

Htop — это очень продвинутый интерактивный инструмент мониторинга процессов Linux в реальном времени. Он очень похож на команду top, но у него есть некоторые характерные особенности, такие как удобный интерфейс для управления процессами, горячие клавиши, вертикальный и горизонтальный просмотр процессов и многое другое. Htop является сторонним инструментом и не входит в системы Linux, вам нужно установить его с помощью инструмента управления пакетами YUM.

# htop

 

Htop-Command-Example-Screenshot

 

 

7. Iotop — мониторинг дискового ввода-вывода Linux

Iotop также очень похож на команду top и команду htop, но выполняет функцию мониторинга и отображения операций ввода/вывода процессов в реальном времени. Этот инструмент очень полезен для поиска конкретного процесса:

# iotop

 

Iotop-Command-Example-Screenshot

 

 

8. Iostat — Статистика ввода/вывода

IoStat — это простой инструмент, который будет собирать и отображать статистику ввода/вывода системных входов. Этот инструмент часто используется для отслеживания проблем с производительностью устройств хранения данных, включая локальные диски, удаленные диски, такие как NFS и т.д.

# iostat

Linux 2.6.18-238.9.1.el5 (tecmint.com) 09/13/2012

avg-cpu: %user %nice %system %iowait %steal %idle
2.60 3.65 1.04 4.29 0.00 88.42

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
cciss/c0d0 17.79 545.80 256.52 855159769 401914750
cciss/c0d0p1 0.00 0.00 0.00 5459 3518
cciss/c0d0p2 16.45 533.97 245.18 836631746 384153384
cciss/c0d0p3 0.63 5.58 3.97 8737650 6215544
cciss/c0d0p4 0.00 0.00 0.00 8 0
cciss/c0d0p5 0.63 3.79 5.03 5936778 7882528
cciss/c0d0p6 0.08 2.46 2.34 3847771 3659776

 

 

iostat-command

 

 

9. IPTraf — мониторинг сети IP в реальном времени

IPTraf — это консольная утилита мониторинга сети реального времени (IP LAN) с открытым исходным кодом для Linux. Она собирает разнообразную информацию, такую ​​как мониторинг трафика IP, который проходит по сети, включая информацию о флагах TCP, данных ICMP, сбои трафика TCP/UDP, пакеты TCP-соединения и подсчеты byne. Она также собирает информацию общей и подробной статистики интерфейса TCP, UDP, IP, ICMP, no-IP, ошибок контрольной суммы IP, активности интерфейса и т.д.

IP-Traffic-Monitor

 

 

Для получения дополнительной информации о использования инструмента IPTraf прочтите: 5 малоизвестных инструментов для администраторов Linux

 

10. Psacct или Acct — мониторинг активности пользователя

Инструменты psacct или acct очень полезны для мониторинга активности каждого пользователя в системе. Оба демона работают в фоновом режиме и внимательно следят за общей деятельностью каждого пользователя в системе, а также за тем, какие ресурсы потребляет каждый из пользователей.

Эти инструменты очень полезны для системных администраторов, при отслеживании активности каждого пользователя. Что они делают, какие команды они выполняли, сколько ресурсов использовали, сколько времени они активны в системе и т.д.

 

11. Monit — мониторинг процессов и сервисов Linux

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

Она контролирует такие сервисы, как Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH и т.д. Состояние системы можно просмотреть прямо из командной строки, также можно воспользоваться веб-интерфейсом.

Monit-Linux-Process-Monitoring

 

 

Подробнее: Как установить и настроить monit для перезапуска таких сервисов, как сервер Nginx / Apache / OpenVPN при сбое на Debian или Ubuntu Linux?

 

12. NetHogs — мониторинг пропускной способности сети

NetHogs — это небольшая программа с открытым исходным кодом (похожая на команду top), которая хранит данные каждой сетевой активности в вашей системе. Она также отслеживает пропускную способность сетевого трафика в реальном времени, используемую каждой программой или приложением.

NetHogs-Linux-Bandwidth-Monitoring

 

 

Подробнее: NetHogs — мониторинг пропускной способности сети в режиме реального времени

 

13. iftop — мониторинг пропускной способности сети

iftop — еще одна утилита для мониторинга системы с открытым исходным кодом на терминальной основе, которая отображает обновляемый список использования пропускной способности сети (исходные и целевые узлы), которые проходят через сетевой интерфейс вашей системы. iftop рассматривается для использования в сети, в то время как «top» рассматривается для использования с ЦП. iftop — это инструмент, который контролирует выбранный интерфейс и отображает текущее использование полосы пропускания между двумя хостами.

iftop-–-Network-Bandwidth-Monitoring

 

 

Подробнее: 5 малоизвестных инструментов для администраторов Linux

 

14. Monitorix — мониторинг системы и сети

Monitorix — бесплатная утилита, предназначенная для запуска и мониторинга системных и сетевых ресурсов на серверах Linux/Unix. Она имеет встроенный HTTP-сервер, который регулярно собирает системную и сетевую информацию и отображает её на графиках. Она контролирует среднюю нагрузку на систему и её использование, распределение памяти, состояние драйвера диска, системные службы, сетевые порты, статистику почты (Sendmail, Postfix, Dovecot и т.д.), статистику MySQL и многие другие. Она предназначен для мониторинга общей производительности системы и помогает обнаруживать сбои, узкие места, необычное поведение системы действия и т.д.

Monitorix-Monitoring

 

 

15. Arpwatch — мониторинг активности Ethernet

Arpwatch — это своего рода программа, предназначенная для мониторинга разрешения адресов (MAC и IP-адресов) сетевого трафика Ethernet в сети Linux. Она постоянно отслеживает трафик Ethernet и создает журнал изменений пары IP и MAC-адресов вместе с метками времени в сети. Она также имеет функцию отправки уведомлений по электронной почте администратору при добавлении или изменении пары. Это очень полезно при обнаружении спуфинга ARP в сети.

 

arpwatch

 

 

16. Suricata — мониторинг сетевой безопасности

Suricata — это высокопроизводительная система обнаружения и предотвращения вторжений с открытыми исходным кодом для обнаружения и предотвращения вторжений для Linux, FreeBSD и Windows. Она была разработана и принадлежит некоммерческому фонду OISF (Open Information Security Foundation).

suricata

 

 

17. VnStat PHP — мониторинг пропускной способности сети

VnStat PHP — веб-интерфейс для большинства популярных сетевых инструментов под названием «vnstat». VnStat PHP показывает использование сетевого трафика в удобном графическом формате. Он отображает общее использование сетевого трафика IN и OUT в ежечасном, ежедневном, ежемесячном и полном сводном отчете.

VnStat-PHP

 

 

18. Nagios — мониторинг сети/сервера

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

Nagios-Network-Analyzer

 

 

Подробнее: Как установить Nagios 4.3.4 на RHEL, CentOS и Fedora? 

 

19. Nmon — мониторинг производительности Linux

Nmon (предназначен для монитора производительности Nigel), который используется для мониторинга всех ресурсов Linux, таких как процессор, память, использование диска, сеть, NFS, ядро ​​и многое другое. Этот инструмент поставляется в двух режимах: онлайн-режиме и режиме захвата.

Режим Online, используемый для мониторинга в реальном времени. А режима захвата, используется для хранения вывода в формате CSV для последующей обработки.

Nmon-Monitoring

 

 

Подробнее: Nmon: анализ и мониторинг производительности системы Linux

 

20. Collectl — инструмент мониторинга производительности «все-в-одном»

Collectl — еще одна мощная и многофункциональная утилита командной строки, которая может использоваться для сбора информации о системных ресурсах Linux, таких как использование ЦП, памяти, сети, inodes, процессах, nfs, tcp, сокетов и многого другого.

Collectl-Monitoring

 

 

Мы хотели бы знать, какие программы мониторинга вы используете для мониторинга производительности ваших серверов Linux? Если мы пропустили какой-либо важный инструмент, который вы хотели бы нам порекомендовать добавить в этот список, пожалуйста, сообщите нам через раздел комментарии который находится ниже.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасности от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
Мониторинг

Больше похожих постов

5 комментариев. Оставить новый

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Most Viewed Posts
Меню