19.10. Утилита iftop
Утилита выводит статистическую информацию об использовании пропускной способности определенных сетевых устройств различными соединениями, представленными сокетами. На серверах, работающих под управлением дистрибутива Red Hat, данная утилита также недоступна по умолчанию.
1.91Mb 3.81Mb 5.72Mb 7.63Mb 9.54Mb --------------|-------------|--------------|-------------|--------|---- laika.local => barry 4.94Kb 6.65Kb 69.9Kb <= 7.41Kb 16.4Kb 766Kb laika.local => ik-in-f19.google.com 0b 1.58Kb 14.4Kb <= 0b 292b 41.0Kb laika.local => ik-in-f99.google.com 0b 83b 4.01Kb <= 0b 83b 39.8Kb laika.local => ug-in-f189.google.com 0b 42b 664b <= 0b 42b 406b laika.local => 10.0.0.138 0b 0b 149b <= 0b 0b 256b laika.local => 224.0.0.251 0b 0b 86b <= 0b 0b 0b laika.local => ik-in-f83.google.com 0b 0b 39b <= 0b 0b 21b
Онлайн курс «Сетевой инженер»
Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные сети, рекомендую познакомиться с онлайн-курсом «Сетевой инженер» в OTUS. Это авторская программа в сочетании с удалённой практикой на реальном оборудовании и академическим сертификатом Cisco! Студенты получают практические навыки работы на оборудовании при помощи удалённой онлайн-лаборатории, работающей на базе партнёра по обучению — РТУ МИРЭА: маршрутизаторы Cisco 1921, Cisco 2801, Cisco 2811; коммутаторы Cisco 2950, Cisco 2960.
Особенности курса:
- Курс содержит две проектные работы.;
- Студенты зачисляются в официальную академию Cisco (OTUS, Cisco Academy, ID 400051208) и получают доступ ко всем частям курса «CCNA Routing and Switching»;
- Студенты могут сдать экзамен и получить вместе с сертификатом OTUS ещё сертификат курса «CCNA Routing and Switching: Scaling Networks»;
Проверьте себя на вступительном тесте и смотрите программу детальнее по .
Помогла статья? Подписывайся на telegram канал автора
Рекомендую полезные материалы по Debian: |
Настройки системы |
---|
Подробная установка Debian 9 Stratch с помощью графического инсталлятора со скриншотами и пояснениями к каждому пункту установщика. Базовая настройка сервера Debian. Приведены практические советы по улучшению безопасности и удобства администрирования. Подробное описание настройки сети в Debian — задать ip адрес, dhcp, отключить ipv6, dns, hostname, статические маршруты и др. Обновление предыдущей версии Debian 8 Jessie до последней Debian 9 Stratch. Подробная инструкция с описанием по каждому этапу обновления. Обновление версии Debian 7 wheezy до Debian 8 Jessie. Подробная инструкция с описанием по каждому этапу обновления. Включение записи логов cron в Debian в отдельный файл и настройка ротации этого файла. Отключение логов в syslog. |
Настройка программных комплексов |
Подробное описание установки гипервизора proxmox на raid1 mdadm на базе операционной системы Debian 8. Приведены практические советы по настройке. Настройка интернет шлюза на Debian. Включает в себя настройку iptables, nat, dhcp, dns, iftop. Чистая установка Asterisk 13 на сервер под управлением Debian 8. Никаких дополнений и GUI, только vanilla asterisk. Установка Freepbx 12 и Asterisk 13 на сервер под управлением Debian/Ubuntu. Подробное описание и разбор ошибок установки. Рассказ об установке и небольшой настройке сервера бд postgresql для работы с базами 1С. Задача не сложная, но есть небольшие нюансы как по настройке, так и по выбору дистрибутива. Описание установки и настройки pptp сервера в Debian с передачей статических маршрутов клиенту для организации доступа к ресурсам сети. |
Разное |
Подробное описание настройки бэкапа с помощью rsync на примере скрипта инкрементного архива на системе Centos, Debian, Ubuntu, Windows. Ускорение работы 1С с postgresql и диагностика проблем производительности |
30. Linux Dash – Мониторинг производительности сервера Linux
Linux Dash представляет собой веб-панель, которая показывает вам самую важную информацию о ваших системах Linux, к этой информации относится RAM, CPU, файловая система, запущенные процессы, пользователи, использование канала сети в реальном времени, имеется приятный графический интерфейс, программа бесплатна, у неё открытый исходный код.
31. Cacti – Мониторинг сети и системы
Cacti – это веб-интерфейс для RRDtool, он часто используется для контроля использования сети, используя SNMP (Simple Network Management Protocol), также может использоваться для контроля использования центрального процессора.
Особенности Cacti
- Бесплатен, открыт, лицензия GPL.
- Написан на PHP в PL/SQL.
- Инструмент является кроссплатформенным, работает на Windows и Linux.
- Управление пользователями; вы можете создать различные пользовательские аккаунты для Cacti.
Настройка ssh
Теперь внесем некоторые изменения в настройки сервера ssh. Я рекомендую его запускать на нестандартном порту для исключения лишних общений с ботами, которые регулярно сканируют интернет и подбирают пароли пользователей по словарям.
Существует расхожее мнение, что менять порт ssh это наивность, а не защита. Надо просто настроить сертификаты, fail2ban или еще каким-то образом защитить ssh порт, к примеру, с помощью ограничений iptables, и т.д. Тем не менее, я все же рекомендую порт сменить на нестандартный. Даже если у вас все защищено от подбора паролей, так как вы используете сертификаты, лишние запросы к ssh порту тратят ресурсы сервера, хоть и не очень большие. Идет установка соединения, обмен рукопожатиями и т.д. Зачем вам это нужно?
По-умолчанию в Debian, впрочем как и в любом другом дистрибутиве Linux, ssh сервер работает на 22 порту. Изменим этот порт, к примеру, на 23331. Так же я еще изменяю конфигурацию для разрешения подключения по ssh пользователя root с использованием пароля. В Debian из коробки пользователь root по ssh паролем авторизовываться не может. Изменим и это. Открываем файл настроек:
# nano /etc/ssh/sshd_config
И изменяем там следующие строки. Приводим их к виду:
Port 23331 PermitRootLogin yes
Сохраняем изменения и перезапускаем сервер ssh следующей командой:
# service sshd restart
Проверяем изменения:
# netstat -tulnp | grep ssh tcp 0 0 0.0.0.0:23331 0.0.0.0:* LISTEN 925/sshd tcp6 0 0 :::23331 :::* LISTEN 925/sshd
Все в порядке, сервер слушает 23331 порт. Теперь новое подключение будет осуществлено только по порту 23331. При этом, после перезапуска ssh, старое подключение не будет разорвано.
Я знаю, что многие возражают против подключения рутом к серверу. Якобы это небезопасно и т.д. и т.п. Мне эти доводы кажутся не убедительными. Не понимаю, в чем может быть проблема, если у меня нормальный сложный пароль на root, который не получится подобрать или сбрутить. Ни разу за всю мою работу системным администратором у меня не возникло проблем с этим моментом. А вот работать так значительно удобнее, особенно, когда необходимо оперативно куда-то подключиться по форс мажорным обстоятельствам.
Отдельно тему подключения к серверу под root я рассмотрел в статье про sudo. Кому интересно, переходите в нее и делитесь своим мнением на этот счет.
Vnstat
Vnstat немного отличается от большинства других инструментов где Мониторинг сети Linux является основой. На самом деле он запускает фоновый сервис / daemon и постоянно фиксирует размер передачи данных. Кроме того, его можно использовать для создания отчета об истории использования сети.
:~$ sudo service vnstat status * vnStat daemon is running
Запуск vnstat без каких-либо параметров просто покажет общий объем передачи данных, который произошел с момента запуска демона.
:~$ sudo vnstat Database updated: Mon Mar 17 15:26:59 2014 eth0 since 06/12/13 rx: 135.14 GiB tx: 35.76 GiB total: 170.90 GiB monthly rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- Feb '14 8.19 GiB | 2.08 GiB | 10.27 GiB | 35.60 kbit/s Mar '14 4.98 GiB | 1.52 GiB | 6.50 GiB | 37.93 kbit/s ------------------------+-------------+-------------+--------------- estimated 9.28 GiB | 2.83 GiB | 12.11 GiB | daily rx | tx | total | avg. rate ------------------------+-------------+-------------+--------------- yesterday 236.11 MiB | 98.61 MiB | 334.72 MiB | 31.74 kbit/s today 128.55 MiB | 41.00 MiB | 169.56 MiB | 24.97 kbit/s ------------------------+-------------+-------------+--------------- estimated 199 MiB | 63 MiB | 262 MiB |
Чтобы отслеживать использование полосы пропускания в реальном времени, используйте параметр «-l» (режим «вживую»). Затем она покажет общую пропускную способность, используемую входящими и исходящими данными, но очень точным образом, без каких-либо внутренних сведений о хостах или процессах.
:~$ vnstat -l -i eth0 Monitoring eth0... (press CTRL-C to stop) rx: 12 kbit/s 10 p/s tx: 12 kbit/s 11 p/s
Vnstat больше походит на инструмент для получения исторических отчетов о том, как много трафика используется каждый день или в течение последнего месяца. Это не строго инструмент для мониторинга сети в реальном времени.
Vnstat поддерживает множество опций, подробности о которых можно найти на странице руководства.
Установить в Debian или Ubuntu
Установить в Fedora или CentOS
Если в CentOS при установке возникли проблемы, то скорее всего вам нужно подключить
А затем ввести команду установки заново.
3 Февраль 2013
Утилита iotop показывает статистику нагрузки на жесткие диски, в том числе она показывает процессы и пользователей, которые эту самую нагрузку создают. Но на CentOS 5.9 Final, стандартный iotop из репозитория может не запуститься. В таком случае делаем следующее:
Если при запуске iotop, получаем ошибку:
Не хватает опций ядра.
Пересобираем ядро, включив эти опции (сборка ядра — это отдельная тема, найти и включить эти опции можно воспользовавшись командой make menuconfig)
После установки нового ядра и успешной перезагрузки, iotop, все еще может не заработать и выдать ошибку типа:
Traceback (most recent call last): File "/usr/bin/iotop", line 16, in ? main() File "/usr/lib/python2.4/site-packages/iotop/ui.py", line 567, in main main_loop() File "/usr/lib/python2.4/site-packages/iotop/ui.py", line 557, in main_loop = lambda: run_iotop(options) File "/usr/lib/python2.4/site-packages/iotop/ui.py", line 465, in run_iotop return curses.wrapper(run_iotop_window, options) File "/usr/lib64/python2.4/curses/wrapper.py", line 44, in wrapper return func(stdscr, *args, **kwds) File "/usr/lib/python2.4/site-packages/iotop/ui.py", line 457, in run_iotop_window process_list = ProcessList(taskstats_connection, options) File "/usr/lib/python2.4/site-packages/iotop/data.py", line 375, in __init__ self.update_process_counts() File "/usr/lib/python2.4/site-packages/iotop/data.py", line 431, in update_process_counts stats = self.taskstats_connection.get_single_task_stats(thread) File "/usr/lib/python2.4/site-packages/iotop/data.py", line 158, in get_single_task_stats reply = self.connection.recv() File "/usr/lib/python2.4/site-packages/iotop/netlink.py", line 229, in recv raise err OSError: Netlink error: Недопустимый аргумент (22)
Чтож, не отчаивайтесь.
Попробуйте так:
И выполните следующие действия:
После этого, запускайте — заработало?
Ну и пара полезных аргументов команды:
— показывать только процессы, реально использующие жесткие диски в текущий момент времени
— где вместо NUM нужно указать количество повторов, прежде чем программа завершит работу
— не интерактивный режим, для того что бы после выхода из программы, информация оставалась на консоли.
Лично я запускаю примерно так:
Категория: Заметки линуксоида, Памятка, Процессы, окружение, Решение проблем, Серверы;
ATOP
ATOP особенно полезен, когда есть необходимость проанализировать изменения на системном уровне. Он выполняет фантастическую работу по информированию об улучшениях с течением времени. Он может составлять таблицы всех процессов, которые вызвали любые изменения на уровне системы (например, выполнение ввода-вывода диска) в течение определенного периода, в отличие от других – эта функция предоставляется только ATOP.
Это альтернативный инструмент, который можно использовать для анализа дисковых ресурсов. Он также может анализировать серверы на базе Linux, параметры, связанные с сетью, и т. д. Использование этого инструмента дает несколько преимуществ, помимо того, что мы обсуждали выше, и вот некоторые из них:
- Мы можем видеть использование ресурсов процессами, которые были закрыты задолго до этого.
- Он отслеживает все активные потоки в многопоточных приложениях и оставляет остальные, которые являются неактивными.
- Он выделяет те ресурсы, которые используют ресурсы на критическом уровне, что обеспечивает высокий уровень взаимодействия с пользователем.
Как установить ATOP в Linux
Atop можно установить в операционных системах на основе Ubuntu, выполнив следующую команду. Эта команда извлекает пакет из репозитория Linux по умолчанию.
$ sudo apt-get install atop
Выполнение команд ATOP для анализа производительности диска
Ниже перечислены некоторые из команд, предлагаемых инструментом поверх, с помощью которых пользователи могут выполнять различные наборы действий для анализа использования диска своей системы и связанной с этим пропускной способности сети:
- atop -m: эта команда показывает потребление памяти всеми активными процессами.
- atop -V: отображает установленную поверх версии.
- atop -a: эта команда показывает текущий статус всех активных процессов.
- atop -s: эта команда отображает всю информацию, связанную с планированием задач.
- atop -d: отображает информацию, относящуюся к потреблению данных во время операций ввода/вывода диска.
- atop -v: отображает такую информацию, как userId, rgid, processId и т. д.
- atop -y: отображает информацию обо всех текущих потоках в активных процессах.
- atop -C: перечисляет все процессы в отсортированном порядке по уровню потребления ЦП.
Инструменты мониторинга производительности
49. top: Программа командной строки для просмотра процессов. Может мониторить системную нагрузку, состояния процессво, использование CPU и памяти. Варианты включают более дружественный к пользователю htop.
50. ps: Показывает снимок всех запущенных в системе процессов. Вывод может быть настроен для показа PID, PPID, пользователя, нагрузки, памяти, совокупное время пользователя/системы, время запуска и другое. Варианты включают pstree, которая показывает процессы в виде дерева.
51. nethogs: Инструмент мониторинга пропускной способности, которая группирует активные соединения по процессам и сообщает о потреблении пропускной способности (выгрузка/загрузка) для процессов в реальном времени.
52. ngxtop: Инструмент для разбора логов доступа веб-сервера и мониторинга, его интерфейс вдохновлён командой top. Он может представить отчёт в режиме реального времени о веб-запросах вместе с их частотой, размером возвращённым кодом HTTP, IP адресом и т.д.
53. vmstat: Простой инструмент командной строки, который показывает различные свойства работающей системы, такие как количество процессов, свободная память, статус подкачки, использование CPU, блок активности ввода/вывода, статистика прерывания/переключения контекста и другое.
54 iotop: Основанный на ncurses инструмент мониторинга ввода/вывода, который показывает в реальном времени дисковую активность по вводу/выводу всех запущенных процессов в отсортированном порядке.
55. iostat: Инструмент командной строки, который сообщает о текущем использовании CPU, а также об использовании устройств ввода/вывода, где использование ввод/вывод (например, скорость передачи блока, скорость чтения/записи байта) сообщаются на основе каждого устройства или каждого раздела.
56. sysdig: Универсальный и всеобъемлющий инструмент с открытым исходным кодом для захвата и анализа поведения системы и состояние сервера как в режиме реального времени так и оффлайн режимах.
57. htop: Как top, но цветной.
58. dstat: Это vmstat+iostat+ifstat и цвет. Я обычно запускаю так ‘dstat -cdmsgnpl’.
Модуль 11. Анализ производительности и оптимизация системы
Лабораторные работы
11.2 Стресс тестирование и выявление нагрузки на CPU
-
Утилита john
-
Утилита ps
$ stress -c 6 -t 60s $ top $ ps ax -o pcpu,pid,user,command --sort pcpu $ uptime linux$ cat /proc/loadavg
11.4 Стресс тестирование и выявление нагрузки на HDD
# cat /sys/block/sda/stat $ stress -d 2 --hdd-bytes 2GB $ while true; do head -c 1G </dev/urandom >myfile;done $ while true; do grep -r `openssl rand -base64 12` /usr /var; done linux# iotop linux# iostat
11.7 Оптимизация производительности или ее тестирование на реальной задаче
-
Управление ядром и модулями в Linux
- Перечислите основные ресурсы системы.
- Перечислите команды, позволяющие найти критический ресурс.
Run iftop using options
Turn on Port display
To turn on port display, add -P option with iftop
# iftop -P
The port will be displayed in both side. With this option turn on, we can analyze what kind of communication that happened the most.
Display bandwidth rates in bytes/sec
By default, iftop will display rates in bits/sec. To display it in bytes/sec, we can use -B option.
# iftop -B
We know that iftop display rates in bytes/sec is from the capital B letter on the data sent (TX) and received (RX). While if we show the b letter on the data sent and received it tell us that the rates is in bits/sec.
Specifies a network for traffic analysis
We can also ask iftop to only monitor specified network mask. To use this, we can use -F option followed by network mask.
# iftop -F 255.255.0.0
The above command will ask iftop to monitor network which has network mask 255.255.0.0.
Specify a listening interface
If your system has more than 1 interfaces to monitor, we can specify particular interface. Let say if we want to monitor eth0 interface, we can use -i option followed by the interface name.
# iftop -i eth0
Limit the upper bandwidth
Iftop provide an option to limit the upper bandwidth. To use this we can -m option followed by how much the limit.
# iftop -m 2000
The above command will tell iftop to limit 2 Kb (2 Kilobits).
On-screen command
Another part that makes iftop is interesting that iftop provides on-screen command. Press the question mark (?) button on the iftop screen to display the available command.
To exit from the on-screen command help, press the question mark button again.
1. Top – Мониторинг процессов Linux
Linux команда Top – это программа наблюдения за производительностью, которая часто используется системными администраторами для монитора производительности Linux, она доступна во многих операционных системах Linux и Unix-подобных. Команда top используется для отображения всех запущенных и активных процессов в реальном времени в упорядоченном списке, который регулярно обновляется. В нём показано использование ЦПУ, использование памяти, использование файла подкачки (Swap), размер кэша, размер буфера, PID процессов, пользователь, команды и многое другое. Также выделены процессы, интенсивно использующие центральный процессор и память. Команда top очень полезна для системных администраторов для контроля и принятия мер, в отношении процессов, излишне нагружающих систему. Давайте взглянем на команду top в действии.
top
Модуль 5. Настройка и тестирование сети
Лабораторные работы
5.1 Команды для настройки сети
Задание:
- выяснить состояние сетевых интерфейсов в системе, назначить им ip/mask/gate
- выяснить состояние переменных ядра отвечающих за forwarding ip пакетов и базовое значение ttl
Команды для настройки сети в Linux
5.2 Команды для диагностики сети
Задание: используя настроенную сетевую подсистему ядра проверить ее функционирование и подключиться к системе по протоколу ssh
Команды для диагностики сети в Linux
5.3 Файлы конфигурации сети
Задание: отредактировать файлы конфигурации сети используя любой тестовый редактор, перезагрузить систему проверить работу сети после перезагрузки системы.
-
Текстовый редактор nano
- сети в Linux
5.4 Дополнительные утилиты для тестирования сети
Задание: посмотреть какой порт “слушает” сервис ssh
Команды для диагностики сетевой подсистемы в Linux
Задание: посмотреть содержимое трафика ssh командой tcpdump
Утилиты для тестирования сети
Задание: проверить работу клиента DNS
Утилиты тестирования DNS
- Какие команды используются для управления/диагностики сетевых параметров системы?
- Какие команды используются для тестирования настроек DNS?
- Какие команды используются для анализа открытых сетевых портов системы?
- Что общего между файлами /etc/resolv.conf и /etc/hosts?
- Какие варианты управления файлом /etc/resolv.conf могут быть?