SlideShare une entreprise Scribd logo
1  sur  35
Télécharger pour lire hors ligne
Linux-инструменты 
системного 
администратора
Современный сервис 
Сервис – система состоящая из N узлов. 
Система может быть распределённая. 
Узкие места могут быть как у узла, так и у системы в целов. 
Узел: 
• процессор; 
• память; 
• диск. 
Система: 
• сеть. 
3
Роль системного администратора 
• Планировать ёмкость системы и строить архитектуру сервиса и 
инфраструктуру; 
• производить деплой и обновление программ; 
• поиск узких мест и оптимизация как приложения так и ОС; 
• реагирование на возникающие инциденты (активное и реактивное). 
4
Документация – главный инструмент 
Документация: 
• man <command> 
• info / pinfo 
• /usr/share/doc/ 
! 
А если её нет? 
• Код – хорошая документация (git, svn); 
• инструменты отладки: ldd, strace, ltrace, gdb, objdump и т.п. 
5
Shell оболочка 
• bash; 
• zsh; 
• dash – Debian Almquist shell; 
• ash – Almquist shell. 
6
Внешние команды 
• *utils; 
• grep; 
• sed; 
• awk; 
• ... тысячи их. 
7
Эмулятор терминала 
• *term; 
• screen; 
• tmux. 
8
Текстовый редактор 
• nano; 
• vi[m]; 
• emacs; 
• … 
9
10 
Подсистемы и инструменты 
by Brendan Gregg
Класификация инструментов 
Общесистемные 
vmstat iostat 
sar 
tcpdump 
systemtap 
Счётчики Трассировка 
ps 
top 
strace 
gdb 
На каждый процесс
Типы инструментов 
• Счётчики; 
• трассировка; 
• профилирование – серия снимков (snapshot) системы целиком или 
процесса. 
12
Счётчики 
Бесплатные – не добавляют накладных расходов, как при сборе так 
и при использовании. 
Как правило, целочисленные беззнаковые (unsigned integers), которые 
увеличиваются при наступлении события. К примеру, счётчики 
количества принятых сетевых пакетов, сколько было произведено 
дисковых операций и системных вызовов. 
Общесистемные 
К примеру vmstat, iostat, netstat, sar. 
На основе счётчики из /proc, /sys. 
На каждый процесс 
ps, top … 
Как правило читают из /proc. 
13
Трассировка 
Трассировка – сбор данных событий для дальнейшего анализа. 
Трассировка, как правило не включена по умолчанию, так как добавляет 
накладные расходы на процессор и может потребовать значительного 
места для сохранения данных. 
Логи могут быть названы инструментами трассировки в каком-то 
приближении, включенными по умолчанию в большинстве приложений. 
Общесистемные 
tcpdump, blktrace, SystemTap, perf. 
Собирают данные при помощи: libpcap, tracepoints, kprobes, ftrace… 
На каждый процесс 
strace, gdb. 
14
Профилирование 
Профилирование, как правило, производится при помощи: 
• oprofile; 
• perf; 
• SystemTap. 
15
CPU (1) 
Нагрузка на процессор измеряется в процентах от времени, когда он 
был занят выполнением работы за интервал. 
Она также может быть измерена как время, когда процессор не 
выполнял поток ядра называемый idle, а был занят выполнением 
приложений, других потоков ядра или обслуживанием прерываний. 
CPU делят на User-Time/Kernel-Time. 
16
CPU (2) 
• uptime – показывает среднюю нагрузку (load average) для понимания 
характера нагрузки на процессор и систему (растёт/падает); 
• vmstat – запустив утилиту с интервалов в 1 секунду, можно, к 
примеру, увидеть сколько запаса по процессору осталось; 
• top – показывает какой процесс и пользователь потребляет больше 
всех процессорного времени. 
• pidstat – показывает как именно используется процессор в разрезе 
user и system time. 
• sar -q – показывает величину очереди на выполнение (run-queue). 
17
Память (1) 
• Виртуальная; 
• физическая; 
• Page Cache. 
18
Память (2) 
• vmstat – выводит общесистемную статистику использования 
виртуальной и физической памяти; 
• sar: 
◦ -B – статистика paging; 
◦ -H: – статистика huge pages; 
◦ -r: – использование памяти. 
• ps; 
• top; 
• free; 
• valgrind. 
19
Память (3) 
Cчётчики: 
• /proc/meminfo – общесистемные счётчики памяти; 
• /proc/zoneinfo – статистика по зонам памяти (NUMA ноды). 
20
Дисковое IO (1) 
Дисковое I/O может приводить к значительному уменьшению времени 
отклика приложения и теоритически важнейшая цель анализа 
производительности системы. 
Под высокой нагрузкой диски становятся узким местом, оставляя 
процессор простаивать в ожидании окончания операций ввода- 
вывода. 
Нагрузка на дисковую подсистему может быть рассчитана как время, 
когда диск был нагружен выполнением работы, за интервал. 
Диск используется на 0%, т.е. простаивает, и на 100% – непрерывно 
выполняет операции ввода-вывода и другие команды. 
Диск в 100% использовании источник проблем с 
производительностью. 
Однако любой показатель использования диска может быть причиной 
плохой производительности приложения хотя бы потому, что он 
самый медленный элемент в системе. 
21
Дисковое IO (2) 
! 
I/O wait – метрика каждого CPU, которая показывает время 
проведённое в статусе idle в ожидании дисковой операции. 
I/O wait делит время CPU idle на время, когда нечего было делать, и 
время, когда процессор был заблокирован на дисковом I/O. 
Высокие показатели I/O wait говорят о том, что диск может быть узким 
местом, и недогруженным CPU. 
Однако с IO wait нужно быть осторожным. 
22
Дисковое IO (3) 
• iostat; 
• iotop; 
• smartctl; 
• blkid; 
• blockdev; 
• sar -d; 
• pidstat -d; 
• blktrace – трассировка блочного I/O устройства; 
• MegaCli – статистика и настройка LSI RAID контроллера. 
23
Сеть (1) 
• Round-Trip Time; 
• First-Byte Latency; 
• пропускная способность относительно общей полосы пропускания в 
байтах и пакетах. 
24
Сеть (2) 
• netstat -s – много общесистемной статистики; 
• netstat -i – показывает ошибки на интерфейсах; 
• ifconfig – ошибки на интерфейсах, дропы и т.д.; 
• iftop; 
• ip link; 
• sar 
◦ -n DEV – статистика интерфейса; 
◦ -n EDEV – ошибки на интерфейсе; 
• ping; 
• traceroute; mtr. 
25
Анализаторы пакетов 
• tcpdump; 
• tshark / wireshark; 
• dumpcap; 
• airodump-ng. 
26
Отладка и профилирование 
• gdb; 
• valgrind; 
• oprofile; 
• perf; 
• ... 
27
Трассировка 
• strace; 
• ltrace; 
• SystemTap; 
• LTTng. 
28
Мониторинг 
• sar; 
• Nagios/Icinga; 
• Zabbix; 
• …; 
• функциональный. 
29
Менеджеры пакетов 
• rpm; 
• dpkg; 
• … 
30
Управление версиями 
• git; 
• svn. 
31
Автоматизация 
• Пакетирование; 
• Puppet; 
• Salt Stack; 
• Ansible; 
• Chef; 
• CFEngine; 
• … 
32
Контроль целостности 
• tripwire; 
• aide. 
33
Методы резервного копирования 
• Полное; 
• инкрементальное; 
• дифференциальное; 
• непрерывное. 
34
Резервное копирование 
• tar; 
• rsync/rdiff/duplicity; 
• моментальные снимки (lvm snapshots, btrfs snapshots, NetApp, etc); 
• pg_dump/mysqldump; 
• Amanda; 
• Bacula; 
• ... 
35

Contenu connexe

Tendances

Лекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и системЛекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и систем
pianist2317
 
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Ontico
 
процессоры
процессорыпроцессоры
процессоры
ttku
 
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими рукамиАндрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
IBS
 
процессоры и куллеры
процессоры и куллерыпроцессоры и куллеры
процессоры и куллеры
KozinskaIS
 
процессоры и кулеры
процессоры и кулерыпроцессоры и кулеры
процессоры и кулеры
KozinskaIS
 
ногинов Aoe Stripped
ногинов Aoe Strippedногинов Aoe Stripped
ногинов Aoe Stripped
Liudmila Li
 
"YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс.
"YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс. "YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс.
"YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс.
Yandex
 
Tarantool Silverbox, Юрий Востриков
Tarantool Silverbox, Юрий ВостриковTarantool Silverbox, Юрий Востриков
Tarantool Silverbox, Юрий Востриков
Fuenteovejuna
 
Распределенное хранилище Ceph. Обзор и практические способы использования
Распределенное хранилище Ceph. Обзор и практические способы использованияРаспределенное хранилище Ceph. Обзор и практические способы использования
Распределенное хранилище Ceph. Обзор и практические способы использования
DevDay
 

Tendances (16)

Лекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и системЛекция №6 Организация ЭВМ и систем
Лекция №6 Организация ЭВМ и систем
 
08 server mgmt_ru
08 server mgmt_ru08 server mgmt_ru
08 server mgmt_ru
 
Инфраструктура хранения для KADME Whereoil
Инфраструктура хранения для KADME WhereoilИнфраструктура хранения для KADME Whereoil
Инфраструктура хранения для KADME Whereoil
 
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
Практика использования NoSQL в высоконагруженном проекте (Дмитрий Ананьев)
 
процессоры
процессорыпроцессоры
процессоры
 
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими рукамиАндрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
 
Кирилл Науменко. "Выжать максимум". IT-пятница, сентябрь 2018.
Кирилл Науменко. "Выжать максимум". IT-пятница, сентябрь 2018.Кирилл Науменко. "Выжать максимум". IT-пятница, сентябрь 2018.
Кирилл Науменко. "Выжать максимум". IT-пятница, сентябрь 2018.
 
процессоры и куллеры
процессоры и куллерыпроцессоры и куллеры
процессоры и куллеры
 
процессоры и кулеры
процессоры и кулерыпроцессоры и кулеры
процессоры и кулеры
 
Владимир Бородин: Как спать спокойно - 2015.10.14 PostgreSQLRussia.org meetu...
Владимир Бородин: Как спать спокойно - 2015.10.14 PostgreSQLRussia.org meetu...Владимир Бородин: Как спать спокойно - 2015.10.14 PostgreSQLRussia.org meetu...
Владимир Бородин: Как спать спокойно - 2015.10.14 PostgreSQLRussia.org meetu...
 
ногинов Aoe Stripped
ногинов Aoe Strippedногинов Aoe Stripped
ногинов Aoe Stripped
 
Совместимы ли понятия SDS и производительность?
Совместимы ли понятия SDS и производительность?Совместимы ли понятия SDS и производительность?
Совместимы ли понятия SDS и производительность?
 
"YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс.
"YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс. "YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс.
"YT — новая платформа распределённых вычислений". Максим Бабенко, Яндекс.
 
Tarantool Silverbox, Юрий Востриков
Tarantool Silverbox, Юрий ВостриковTarantool Silverbox, Юрий Востриков
Tarantool Silverbox, Юрий Востриков
 
Распределенное хранилище Ceph. Обзор и практические способы использования
Распределенное хранилище Ceph. Обзор и практические способы использованияРаспределенное хранилище Ceph. Обзор и практические способы использования
Распределенное хранилище Ceph. Обзор и практические способы использования
 
Alex Shavtsov - Arch linux installing on Macbook Air.
Alex Shavtsov - Arch linux installing on Macbook Air. Alex Shavtsov - Arch linux installing on Macbook Air.
Alex Shavtsov - Arch linux installing on Macbook Air.
 

En vedette

En vedette (9)

Беглый обзор "внутренностей" Python
Беглый обзор "внутренностей" PythonБеглый обзор "внутренностей" Python
Беглый обзор "внутренностей" Python
 
Введение в Python и Django
Введение в Python и DjangoВведение в Python и Django
Введение в Python и Django
 
Введение в язык программирования Питон (Python)
Введение в язык программирования Питон (Python)Введение в язык программирования Питон (Python)
Введение в язык программирования Питон (Python)
 
Лекция 2. Всё, что вы хотели знать о функциях в Python.
Лекция 2. Всё, что вы хотели знать о функциях в Python.Лекция 2. Всё, что вы хотели знать о функциях в Python.
Лекция 2. Всё, что вы хотели знать о функциях в Python.
 
Shell scripting
Shell scriptingShell scripting
Shell scripting
 
Intro to Linux Shell Scripting
Intro to Linux Shell ScriptingIntro to Linux Shell Scripting
Intro to Linux Shell Scripting
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similaire à Вячеслав Бирюков - Linux инструменты системного администратора

Операционные системы
Операционные системыОперационные системы
Операционные системы
yaevents
 
Java Platform Performance BoF
Java Platform Performance BoFJava Platform Performance BoF
Java Platform Performance BoF
Dmitry Buzdin
 
HighLoad весна 2014 лекция 5
HighLoad весна 2014 лекция 5HighLoad весна 2014 лекция 5
HighLoad весна 2014 лекция 5
Technopark
 
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels
Nikolay Samokhvalov
 
Лекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системЛекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и систем
pianist2317
 
Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting   Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting
Yandex
 
тест архитектура эвм 16.10.2010
тест архитектура эвм 16.10.2010тест архитектура эвм 16.10.2010
тест архитектура эвм 16.10.2010
JIuc
 
033
033033
033
JIuc
 

Similaire à Вячеслав Бирюков - Linux инструменты системного администратора (20)

TMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: GenodeTMPA-2013 Sartakov: Genode
TMPA-2013 Sartakov: Genode
 
Операционные системы
Операционные системыОперационные системы
Операционные системы
 
Solaris OS
Solaris OSSolaris OS
Solaris OS
 
Презентация 5
Презентация 5Презентация 5
Презентация 5
 
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
Performance optimization of virtual network infrastructure (RUS, OpenStack Me...
 
Опыт внедрения OpenStack
Опыт внедрения OpenStackОпыт внедрения OpenStack
Опыт внедрения OpenStack
 
Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)
Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)
Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)
 
Theme 07
Theme 07Theme 07
Theme 07
 
CUDA Course 2010 at MSU
CUDA Course 2010 at MSUCUDA Course 2010 at MSU
CUDA Course 2010 at MSU
 
Java Platform Performance BoF
Java Platform Performance BoFJava Platform Performance BoF
Java Platform Performance BoF
 
HighLoad весна 2014 лекция 5
HighLoad весна 2014 лекция 5HighLoad весна 2014 лекция 5
HighLoad весна 2014 лекция 5
 
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels
 
Устройство персонального компьютера
Устройство персонального компьютераУстройство персонального компьютера
Устройство персонального компьютера
 
Лекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и системЛекция №3 Организация ЭВМ и систем
Лекция №3 Организация ЭВМ и систем
 
Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting   Сергей Еланцев - Troubleshooting
Сергей Еланцев - Troubleshooting
 
Prez osob mikroproc
Prez osob mikroprocPrez osob mikroproc
Prez osob mikroproc
 
тест архитектура эвм 16.10.2010
тест архитектура эвм 16.10.2010тест архитектура эвм 16.10.2010
тест архитектура эвм 16.10.2010
 
033
033033
033
 
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
Лекция 5. Основы параллельного программирования (Speedup, Amdahl's law, Paral...
 
Процессор
ПроцессорПроцессор
Процессор
 

Plus de Yandex

Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Yandex
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Yandex
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Yandex
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Yandex
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Yandex
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Yandex
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Yandex
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Yandex
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Yandex
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Yandex
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Yandex
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Yandex
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Yandex
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Yandex
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Yandex
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Yandex
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Yandex
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Yandex
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Yandex
 

Plus de Yandex (20)

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of Tanks
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
 

Вячеслав Бирюков - Linux инструменты системного администратора

  • 1.
  • 3. Современный сервис Сервис – система состоящая из N узлов. Система может быть распределённая. Узкие места могут быть как у узла, так и у системы в целов. Узел: • процессор; • память; • диск. Система: • сеть. 3
  • 4. Роль системного администратора • Планировать ёмкость системы и строить архитектуру сервиса и инфраструктуру; • производить деплой и обновление программ; • поиск узких мест и оптимизация как приложения так и ОС; • реагирование на возникающие инциденты (активное и реактивное). 4
  • 5. Документация – главный инструмент Документация: • man <command> • info / pinfo • /usr/share/doc/ ! А если её нет? • Код – хорошая документация (git, svn); • инструменты отладки: ldd, strace, ltrace, gdb, objdump и т.п. 5
  • 6. Shell оболочка • bash; • zsh; • dash – Debian Almquist shell; • ash – Almquist shell. 6
  • 7. Внешние команды • *utils; • grep; • sed; • awk; • ... тысячи их. 7
  • 8. Эмулятор терминала • *term; • screen; • tmux. 8
  • 9. Текстовый редактор • nano; • vi[m]; • emacs; • … 9
  • 10. 10 Подсистемы и инструменты by Brendan Gregg
  • 11. Класификация инструментов Общесистемные vmstat iostat sar tcpdump systemtap Счётчики Трассировка ps top strace gdb На каждый процесс
  • 12. Типы инструментов • Счётчики; • трассировка; • профилирование – серия снимков (snapshot) системы целиком или процесса. 12
  • 13. Счётчики Бесплатные – не добавляют накладных расходов, как при сборе так и при использовании. Как правило, целочисленные беззнаковые (unsigned integers), которые увеличиваются при наступлении события. К примеру, счётчики количества принятых сетевых пакетов, сколько было произведено дисковых операций и системных вызовов. Общесистемные К примеру vmstat, iostat, netstat, sar. На основе счётчики из /proc, /sys. На каждый процесс ps, top … Как правило читают из /proc. 13
  • 14. Трассировка Трассировка – сбор данных событий для дальнейшего анализа. Трассировка, как правило не включена по умолчанию, так как добавляет накладные расходы на процессор и может потребовать значительного места для сохранения данных. Логи могут быть названы инструментами трассировки в каком-то приближении, включенными по умолчанию в большинстве приложений. Общесистемные tcpdump, blktrace, SystemTap, perf. Собирают данные при помощи: libpcap, tracepoints, kprobes, ftrace… На каждый процесс strace, gdb. 14
  • 15. Профилирование Профилирование, как правило, производится при помощи: • oprofile; • perf; • SystemTap. 15
  • 16. CPU (1) Нагрузка на процессор измеряется в процентах от времени, когда он был занят выполнением работы за интервал. Она также может быть измерена как время, когда процессор не выполнял поток ядра называемый idle, а был занят выполнением приложений, других потоков ядра или обслуживанием прерываний. CPU делят на User-Time/Kernel-Time. 16
  • 17. CPU (2) • uptime – показывает среднюю нагрузку (load average) для понимания характера нагрузки на процессор и систему (растёт/падает); • vmstat – запустив утилиту с интервалов в 1 секунду, можно, к примеру, увидеть сколько запаса по процессору осталось; • top – показывает какой процесс и пользователь потребляет больше всех процессорного времени. • pidstat – показывает как именно используется процессор в разрезе user и system time. • sar -q – показывает величину очереди на выполнение (run-queue). 17
  • 18. Память (1) • Виртуальная; • физическая; • Page Cache. 18
  • 19. Память (2) • vmstat – выводит общесистемную статистику использования виртуальной и физической памяти; • sar: ◦ -B – статистика paging; ◦ -H: – статистика huge pages; ◦ -r: – использование памяти. • ps; • top; • free; • valgrind. 19
  • 20. Память (3) Cчётчики: • /proc/meminfo – общесистемные счётчики памяти; • /proc/zoneinfo – статистика по зонам памяти (NUMA ноды). 20
  • 21. Дисковое IO (1) Дисковое I/O может приводить к значительному уменьшению времени отклика приложения и теоритически важнейшая цель анализа производительности системы. Под высокой нагрузкой диски становятся узким местом, оставляя процессор простаивать в ожидании окончания операций ввода- вывода. Нагрузка на дисковую подсистему может быть рассчитана как время, когда диск был нагружен выполнением работы, за интервал. Диск используется на 0%, т.е. простаивает, и на 100% – непрерывно выполняет операции ввода-вывода и другие команды. Диск в 100% использовании источник проблем с производительностью. Однако любой показатель использования диска может быть причиной плохой производительности приложения хотя бы потому, что он самый медленный элемент в системе. 21
  • 22. Дисковое IO (2) ! I/O wait – метрика каждого CPU, которая показывает время проведённое в статусе idle в ожидании дисковой операции. I/O wait делит время CPU idle на время, когда нечего было делать, и время, когда процессор был заблокирован на дисковом I/O. Высокие показатели I/O wait говорят о том, что диск может быть узким местом, и недогруженным CPU. Однако с IO wait нужно быть осторожным. 22
  • 23. Дисковое IO (3) • iostat; • iotop; • smartctl; • blkid; • blockdev; • sar -d; • pidstat -d; • blktrace – трассировка блочного I/O устройства; • MegaCli – статистика и настройка LSI RAID контроллера. 23
  • 24. Сеть (1) • Round-Trip Time; • First-Byte Latency; • пропускная способность относительно общей полосы пропускания в байтах и пакетах. 24
  • 25. Сеть (2) • netstat -s – много общесистемной статистики; • netstat -i – показывает ошибки на интерфейсах; • ifconfig – ошибки на интерфейсах, дропы и т.д.; • iftop; • ip link; • sar ◦ -n DEV – статистика интерфейса; ◦ -n EDEV – ошибки на интерфейсе; • ping; • traceroute; mtr. 25
  • 26. Анализаторы пакетов • tcpdump; • tshark / wireshark; • dumpcap; • airodump-ng. 26
  • 27. Отладка и профилирование • gdb; • valgrind; • oprofile; • perf; • ... 27
  • 28. Трассировка • strace; • ltrace; • SystemTap; • LTTng. 28
  • 29. Мониторинг • sar; • Nagios/Icinga; • Zabbix; • …; • функциональный. 29
  • 30. Менеджеры пакетов • rpm; • dpkg; • … 30
  • 32. Автоматизация • Пакетирование; • Puppet; • Salt Stack; • Ansible; • Chef; • CFEngine; • … 32
  • 34. Методы резервного копирования • Полное; • инкрементальное; • дифференциальное; • непрерывное. 34
  • 35. Резервное копирование • tar; • rsync/rdiff/duplicity; • моментальные снимки (lvm snapshots, btrfs snapshots, NetApp, etc); • pg_dump/mysqldump; • Amanda; • Bacula; • ... 35