SlideShare ist ein Scribd-Unternehmen logo
1 von 51
Downloaden Sie, um offline zu lesen
Troubleshooting 
для системных администраторов 
Сергей Еланцев, группа обеспечения стабильности 
Поиска, разработчик
• Введение 
• Мониторинг 
• Проблемы в сети 
• Процессы на сервере 
• Диски 
• Что с этим делать? 
3 
Содержание
4 
toolbox
Введение 
Поехали!
Почему нужно уметь разбираться с проблемами сервисов? 
! 
• Одна из основных задач системных администраторов 
• Улучшить понимание работы ОС и сервиса 
• Получить идеи оптимизации сервиса 
• Безысходность 
6 
Мотивация
Почему эта часть работы не должна существовать? 
! 
• Тесты 
• Не существует проблем в сети 
• Не существует проблем с ресурсами 
• Идеальный код 
7 
Демотивация
• Знать свой shell 
• Освоить командные утилиты для обработки текста (grep, awk) 
• Иметь представление о принципах работы ОС и сетей 
• Знать скриптовый язык программирования (python, perl) 
8 
Полезные умения
• Работающий мониторинг 
• Знание принципов работы сервисов 
• Знание парка машин 
9 
Всегда готов - стандартные ситуации
• Бэкапы логов 
• Быстрый откат к предыдущей(-им) конфигурации(-ям) 
• Возможность оставить несколько инстансов в проблемном 
состоянии для исследования 
10 
Всегда готов - пожар
Мониторинг 
Наше всё
• Информация о состоянии сервиса в реальном времени 
• Дать понимание состояния сервиса в целом (запросы, неудачи, 
время ответа и т.п.) 
• Дать понимание состояния конкретных машин (потребление 
CPU, памяти, сетевая и дисковая активности) 
• Дать понимание работы сети на машинах, в роутерах и т.п. 
• Исторические данные - тренды 
• Количественный и качественный мониторинг 
12 
Задачи мониторинга
• Nagios 
• Zabbix 
• Cacti 
• Ganglia 
• Своё 
13 
Системы мониторинга
14
• Процентили - 50, 90, 95. 
• Максимальные и минимальные значения 
• Выбросы 
• И всё это уметь соотносить со временем релиза (CI) 
15 
Объекты мониторинга
16 
Объекты мониторинга
17 
Мониторинг и хосты
18
19 
Мониторинг и хосты - окончание
• Быстрое понимание того, что произошло что-то нехорошее 
• Быстрое понимание того, где произошло что-то нехорошее 
• Возможность отличить общесистемную проблему от проблемы 
на ограниченном подмножестве серверов 
20 
Что даёт мониторинг
• Причину поломки 
• Всеохватность 
21 
Что мониторинг НЕ даёт
Проблемы в сети
• Потеря связности 
• Перегрузка каналов 
• Проблемы в приложениях 
23 
Виды проблем
• Браузер / wget / curl / telnet / nc 
• ping, ping6 (-s) 
• traceoute, traceroute6 
• iptables -L 
• dig / nslookup 
24 
Грубые инструменты
25 
Ping - пример
26 
traceroute
• Всё ещё не говорят, что сломалось 
• Могут навести на неправильные мысли. Например, при 
поломке DNS будет казаться, что потерялась связность 
• ICMP может быть заблокирован правилами firewall (или опять 
обманывать про связность) 
27 
Грубые инструменты - недостатки
• netstat -i - список интерфейсов 
• netstat -r - таблица маршрутизации 
• netstat -b <interval> - in/out пакеты на интерфейсе 
• netstat -d <interval> - drop пакетов 
• netstat -Latn - listen queue для слушающих tcp сокетов 
• netstat -qI eth0 - статистика очередей на интерфейсе 
28 
netstat
Программа tcpdump - это швейцарский нож, который покажет все 
проблемы с сетью. 
Синтаксис: 
tcpdump -i <interface> [options] <expression> 
expression - выражение, фильтрующее пакеты 
29 
Швейцарский нож - tcpdump
• tcpdump -i eth0 tcp port 80 
• tcpdump -i eth0 -n tcp port 80 
• tcpdump -i en1 tcp port 443 and host ssllabs.com 
• tcpdump -i eth0 ‘host ssllabs.com and (tcp port 80 or tcp port 443)’ 
• А также UDP, (R)ARP, ICMP и тысячи других 
30 
tcpdump - примеры
Кроме собственно tcpdump есть вспомогательные программы 
• wireshark - GUI над tcpdump. Другой синтаксис фильтров 
(tcp.port == 80 против tcp port 80). 
• tshark - пакетная обработка pcap-файла 
31 
wireshark tcpdump
• Общение - удаётся ли переходить между состояниями tcp 
• Потери пакетов (ретрансмиты) 
• Время, затрачиваемое каждым из участников общения 
• Какими порциями происходит передача данных 
• Опции tcp: maximum segment size и прочие 
• Сопоставлять с логами сервиса 
• Различия восприятия передачи клиентом и сервером 
32 
На что смотреть
Процессы на сервере
• ps - %CPU, %MEM, VSS, RSS, SHR 
• top (htop) - на машине, realtime 
• uptime 
• /proc/meminfo 
• /proc/cpuinfo 
34 
Смотрим процессы ОС
• Стандартные места - /var/log/ 
• Сервис-специфичные места (/usr/local/www/logs) 
• Системные - dmesg, /var/log/messages 
• lsof - потому что все врут 
• /proc/<pid> 
35 
Логи и где их искать
• Факт записи coredump’а можно поискать в dmesg’е 
• ulimit -c 
• sysctl kernel.core_pattern 
%p - pid 
%s - номер сигнала 
%t - timestamp 
%e - название программы 
%h - hostname 
36 
Coredump
• gdb <program> <coredump> 
• bt 
• fr 
• print 
37 
gdb
38 
gdb - пример
39 
ltrace
40 
strace
• -tt - timestamp 
• -c - count time 
• -f - follow fork 
• -o - outfile 
• -ff - multiple files 
• -p - pid 
• -e - filter 
41 
strace - флаги
Диски
• df, du 
• hdparm 
• swapon/swapoff 
43 
Простейшие инструменты
Показывает утилизацию система ввода-вывода, процессора и 
памяти. 
hint: печатайте ещё и текущее время 
perl -ne «print scalar localtime(), ‘ ‘, $_;» | vmstat 1 
44 
vmstat
45 
vmstat пример
• procs: r - в state: running, b - заблокировнные 
• memory: free, buff, cache 
• swap: si - swap in, so - swap out 
• io: bi - block in, bo - block out 
• system:in - interrupts, cs - context switches 
• cpu: us - user, sy - system, id - idle, wa - waiting on io 
46 
Расшифровка
47 
iostat, iotop
Что с этим делать?
• Без паники 
• Итеративно 
• Оперативно 
49 
Как разбираться?
• Разобраться 
• Устранить 
• Добавить в мониторинг 
• Добавить в тесты 
50 
Что делать?
Вопросы?

Weitere ähnliche Inhalte

Was ist angesagt?

Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
Ontico
 
Отладка и устранение проблем в PostgreSQL Streaming Replication.
Отладка и устранение проблем в PostgreSQL Streaming Replication.Отладка и устранение проблем в PostgreSQL Streaming Replication.
Отладка и устранение проблем в PostgreSQL Streaming Replication.
Alexey Lesovsky
 
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Ontico
 
Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
 Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo) Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
Ontico
 
"Отказоустойчивый standby PostgreSQL (HAProxy + PgBouncer)" Виктор Ягофаров (...
"Отказоустойчивый standby PostgreSQL (HAProxy + PgBouncer)" Виктор Ягофаров (..."Отказоустойчивый standby PostgreSQL (HAProxy + PgBouncer)" Виктор Ягофаров (...
"Отказоустойчивый standby PostgreSQL (HAProxy + PgBouncer)" Виктор Ягофаров (...
AvitoTech
 
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)
Ontico
 
JavaScript. Event Loop and Timers (in russian)
JavaScript. Event Loop and Timers (in russian)JavaScript. Event Loop and Timers (in russian)
JavaScript. Event Loop and Timers (in russian)
Mikhail Davydov
 

Was ist angesagt? (20)

Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
Девять кругов ада или PostgreSQL Vacuum / Алексей Лесовский (PostgreSQL-Consu...
 
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
Очереди и блокировки. Теория и практика / Александр Календарев (ad1.ru)
 
Отладка и устранение проблем в PostgreSQL Streaming Replication.
Отладка и устранение проблем в PostgreSQL Streaming Replication.Отладка и устранение проблем в PostgreSQL Streaming Replication.
Отладка и устранение проблем в PostgreSQL Streaming Replication.
 
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
Практика совместного использования Lua и C в opensource спам-фильтре Rspamd /...
 
Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
 Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo) Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
Отладка производительности приложения на Erlang / Максим Лапшин (Erlyvideo)
 
Streaming replication in practice
Streaming replication in practiceStreaming replication in practice
Streaming replication in practice
 
"Отказоустойчивый standby PostgreSQL (HAProxy + PgBouncer)" Виктор Ягофаров (...
"Отказоустойчивый standby PostgreSQL (HAProxy + PgBouncer)" Виктор Ягофаров (..."Отказоустойчивый standby PostgreSQL (HAProxy + PgBouncer)" Виктор Ягофаров (...
"Отказоустойчивый standby PostgreSQL (HAProxy + PgBouncer)" Виктор Ягофаров (...
 
Java black box profiling
Java black box profilingJava black box profiling
Java black box profiling
 
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)Что нового в nginx? / Максим Дунин (Nginx, Inc.)
Что нового в nginx? / Максим Дунин (Nginx, Inc.)
 
Другая виртуализация
Другая виртуализацияДругая виртуализация
Другая виртуализация
 
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
Как сделать ваш JavaScript быстрее / Роман Дворнов (Авито)
 
Алексей Федоров
Алексей ФедоровАлексей Федоров
Алексей Федоров
 
PostgreSQL Streaming Replication
PostgreSQL Streaming ReplicationPostgreSQL Streaming Replication
PostgreSQL Streaming Replication
 
2014.09.24 история небольшого успеха с PostgreSQL (Yandex)
2014.09.24 история небольшого успеха с PostgreSQL (Yandex)2014.09.24 история небольшого успеха с PostgreSQL (Yandex)
2014.09.24 история небольшого успеха с PostgreSQL (Yandex)
 
Call of Postgres: Advanced Operations (part 1)
Call of Postgres: Advanced Operations (part 1)Call of Postgres: Advanced Operations (part 1)
Call of Postgres: Advanced Operations (part 1)
 
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)
DNS в условиях хостинг-провайдера / Константин Новаковский (Selectel)
 
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
 
Инкапсуляция сетевой топологии при помощи ПКС
Инкапсуляция сетевой топологии при помощи ПКСИнкапсуляция сетевой топологии при помощи ПКС
Инкапсуляция сетевой топологии при помощи ПКС
 
Тестирование QoS на экспериментальном стенде
Тестирование QoS на экспериментальном стендеТестирование QoS на экспериментальном стенде
Тестирование QoS на экспериментальном стенде
 
JavaScript. Event Loop and Timers (in russian)
JavaScript. Event Loop and Timers (in russian)JavaScript. Event Loop and Timers (in russian)
JavaScript. Event Loop and Timers (in russian)
 

Andere mochten auch

Жидков Игорь - Elliptics
Жидков Игорь - Elliptics   Жидков Игорь - Elliptics
Жидков Игорь - Elliptics
Yandex
 
Симаков Алексей - Системы управления кластерами
 Симаков Алексей - Системы управления кластерами   Симаков Алексей - Системы управления кластерами
Симаков Алексей - Системы управления кластерами
Yandex
 
Андрей Соболевский - Вокруг Базельской задачи: Бернулли, Эйлер, Риман
Андрей Соболевский - Вокруг Базельской задачи: Бернулли, Эйлер, РиманАндрей Соболевский - Вокруг Базельской задачи: Бернулли, Эйлер, Риман
Андрей Соболевский - Вокруг Базельской задачи: Бернулли, Эйлер, Риман
Yandex
 
Антон Качалов - Популярно об IPMI и UEFI
Антон Качалов - Популярно об IPMI и UEFI Антон Качалов - Популярно об IPMI и UEFI
Антон Качалов - Популярно об IPMI и UEFI
Yandex
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Yandex
 
Дмитрий Васильев - Задачи ассиметричной криптографии
Дмитрий Васильев - Задачи ассиметричной криптографииДмитрий Васильев - Задачи ассиметричной криптографии
Дмитрий Васильев - Задачи ассиметричной криптографии
Yandex
 

Andere mochten auch (20)

Apache Hadoop YARN, NameNode HA, HDFS Federation
Apache Hadoop YARN, NameNode HA, HDFS FederationApache Hadoop YARN, NameNode HA, HDFS Federation
Apache Hadoop YARN, NameNode HA, HDFS Federation
 
вера сивакова
вера сиваковавера сивакова
вера сивакова
 
Жидков Игорь - Elliptics
Жидков Игорь - Elliptics   Жидков Игорь - Elliptics
Жидков Игорь - Elliptics
 
Коллективная разработка документации: от индивидуального авторства к командн...
 Коллективная разработка документации: от индивидуального авторства к командн... Коллективная разработка документации: от индивидуального авторства к командн...
Коллективная разработка документации: от индивидуального авторства к командн...
 
Где прячутся мобильные вирусы — Григорий Земсков
Где прячутся мобильные вирусы — Григорий ЗемсковГде прячутся мобильные вирусы — Григорий Земсков
Где прячутся мобильные вирусы — Григорий Земсков
 
Мобильная Яндекс.Почта — Дмитрий Александров
Мобильная Яндекс.Почта — Дмитрий АлександровМобильная Яндекс.Почта — Дмитрий Александров
Мобильная Яндекс.Почта — Дмитрий Александров
 
Константин Горский - Дизайн
Константин Горский - ДизайнКонстантин Горский - Дизайн
Константин Горский - Дизайн
 
Симаков Алексей - Системы управления кластерами
 Симаков Алексей - Системы управления кластерами   Симаков Алексей - Системы управления кластерами
Симаков Алексей - Системы управления кластерами
 
алексей тихонов
алексей тихоновалексей тихонов
алексей тихонов
 
Андрей Соболевский - Вокруг Базельской задачи: Бернулли, Эйлер, Риман
Андрей Соболевский - Вокруг Базельской задачи: Бернулли, Эйлер, РиманАндрей Соболевский - Вокруг Базельской задачи: Бернулли, Эйлер, Риман
Андрей Соболевский - Вокруг Базельской задачи: Бернулли, Эйлер, Риман
 
Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ...
 Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ... Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ...
Использование C++ для низкоуровневой платформозависимой разработки — Кирилл ...
 
Большие данные в физике элементарных частиц на примере LHCb - Guy Wilkinson, ...
Большие данные в физике элементарных частиц на примере LHCb - Guy Wilkinson, ...Большие данные в физике элементарных частиц на примере LHCb - Guy Wilkinson, ...
Большие данные в физике элементарных частиц на примере LHCb - Guy Wilkinson, ...
 
Как делается Яндекс.Браузер — Михаил Лопаткин
Как делается Яндекс.Браузер — Михаил ЛопаткинКак делается Яндекс.Браузер — Михаил Лопаткин
Как делается Яндекс.Браузер — Михаил Лопаткин
 
Тропинка через минное поле — Леонычев Юрий
Тропинка через минное поле — Леонычев ЮрийТропинка через минное поле — Леонычев Юрий
Тропинка через минное поле — Леонычев Юрий
 
Антон Качалов - Популярно об IPMI и UEFI
Антон Качалов - Популярно об IPMI и UEFI Антон Качалов - Популярно об IPMI и UEFI
Антон Качалов - Популярно об IPMI и UEFI
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
 
Дмитрий Васильев - Задачи ассиметричной криптографии
Дмитрий Васильев - Задачи ассиметричной криптографииДмитрий Васильев - Задачи ассиметричной криптографии
Дмитрий Васильев - Задачи ассиметричной криптографии
 
Михаил Трошев — Инструменты веб-разработки
Михаил Трошев — Инструменты веб-разработкиМихаил Трошев — Инструменты веб-разработки
Михаил Трошев — Инструменты веб-разработки
 
Руководство по стилю документации: зачем и как, Татьяна Грачёва
Руководство по стилю документации: зачем и как, Татьяна ГрачёваРуководство по стилю документации: зачем и как, Татьяна Грачёва
Руководство по стилю документации: зачем и как, Татьяна Грачёва
 
Некоторые паттерны реализации полиморфного поведения в C++ – Дмитрий Леванов,...
Некоторые паттерны реализации полиморфного поведения в C++ – Дмитрий Леванов,...Некоторые паттерны реализации полиморфного поведения в C++ – Дмитрий Леванов,...
Некоторые паттерны реализации полиморфного поведения в C++ – Дмитрий Леванов,...
 

Ähnlich wie Сергей Еланцев - Troubleshooting

Командная строка Unix
Командная строка UnixКомандная строка Unix
Командная строка Unix
Yandex
 
Основы и применение статического анализа кода при разработке лекция 1
Основы и применение статического анализа кода при разработке лекция 1Основы и применение статического анализа кода при разработке лекция 1
Основы и применение статического анализа кода при разработке лекция 1
m2rus
 
еще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийеще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложений
snowytoxa
 
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels
Nikolay Samokhvalov
 
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Ontico
 
Вячеслав Бирюков - Linux инструменты системного администратора
Вячеслав Бирюков - Linux инструменты системного администратора Вячеслав Бирюков - Linux инструменты системного администратора
Вячеслав Бирюков - Linux инструменты системного администратора
Yandex
 
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/LinuxSECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON
 
Java Platform Performance BoF
Java Platform Performance BoFJava Platform Performance BoF
Java Platform Performance BoF
Dmitry Buzdin
 
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Yandex
 
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Yandex
 

Ähnlich wie Сергей Еланцев - Troubleshooting (20)

Командная строка Unix
Командная строка UnixКомандная строка Unix
Командная строка Unix
 
Основы и применение статического анализа кода при разработке лекция 1
Основы и применение статического анализа кода при разработке лекция 1Основы и применение статического анализа кода при разработке лекция 1
Основы и применение статического анализа кода при разработке лекция 1
 
еще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложенийеще один недостаток современных клиент серверных приложений
еще один недостаток современных клиент серверных приложений
 
Вебинар: Основы распараллеливания С++ программ при помощи OpenMP
Вебинар: Основы распараллеливания С++ программ при помощи OpenMPВебинар: Основы распараллеливания С++ программ при помощи OpenMP
Вебинар: Основы распараллеливания С++ программ при помощи OpenMP
 
Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...
Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...
Филипп Торчинский «Анализ производительности и отладка приложений с помощью D...
 
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels
 
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
Monitoring driven эксплуатация / Николай Сивко (HeadHunter)
 
Monitoring-driven эксплуатация (rootconf2015)
Monitoring-driven эксплуатация (rootconf2015)Monitoring-driven эксплуатация (rootconf2015)
Monitoring-driven эксплуатация (rootconf2015)
 
Мастер-класс про организацию службы эксплуатации
Мастер-класс про организацию службы эксплуатацииМастер-класс про организацию службы эксплуатации
Мастер-класс про организацию службы эксплуатации
 
Ldv slides
Ldv slidesLdv slides
Ldv slides
 
Вячеслав Бирюков - Linux инструменты системного администратора
Вячеслав Бирюков - Linux инструменты системного администратора Вячеслав Бирюков - Linux инструменты системного администратора
Вячеслав Бирюков - Linux инструменты системного администратора
 
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
Жизнь проекта на production советы по эксплуатации / Николай Сивко (okmeter.io)
 
Жизнь проекта на production
Жизнь проекта на productionЖизнь проекта на production
Жизнь проекта на production
 
Лекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMPЛекция 6. Стандарт OpenMP
Лекция 6. Стандарт OpenMP
 
Контроль качества и сопровождение программ в реальном времени
Контроль качества и сопровождение программ в реальном времениКонтроль качества и сопровождение программ в реальном времени
Контроль качества и сопровождение программ в реальном времени
 
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/LinuxSECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
SECON'2017, Клементьев Михаил, Обнаружение руткитов в GNU/Linux
 
Java Platform Performance BoF
Java Platform Performance BoFJava Platform Performance BoF
Java Platform Performance BoF
 
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
Дмитрий Куликовский, Алексей Лавренюк - Построение кластеров, нагрузочное тес...
 
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
Дмитрий Куликовский - Построение кластеров, нагрузочное тестирование, capacit...
 
История небольшого успеха с PostgreSQL – Владимир Бородин
История небольшого успеха с PostgreSQL – Владимир БородинИстория небольшого успеха с PostgreSQL – Владимир Бородин
История небольшого успеха с PostgreSQL – Владимир Бородин
 

Mehr von 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
 

Mehr von Yandex (20)

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

Сергей Еланцев - Troubleshooting

  • 1.
  • 2. Troubleshooting для системных администраторов Сергей Еланцев, группа обеспечения стабильности Поиска, разработчик
  • 3. • Введение • Мониторинг • Проблемы в сети • Процессы на сервере • Диски • Что с этим делать? 3 Содержание
  • 6. Почему нужно уметь разбираться с проблемами сервисов? ! • Одна из основных задач системных администраторов • Улучшить понимание работы ОС и сервиса • Получить идеи оптимизации сервиса • Безысходность 6 Мотивация
  • 7. Почему эта часть работы не должна существовать? ! • Тесты • Не существует проблем в сети • Не существует проблем с ресурсами • Идеальный код 7 Демотивация
  • 8. • Знать свой shell • Освоить командные утилиты для обработки текста (grep, awk) • Иметь представление о принципах работы ОС и сетей • Знать скриптовый язык программирования (python, perl) 8 Полезные умения
  • 9. • Работающий мониторинг • Знание принципов работы сервисов • Знание парка машин 9 Всегда готов - стандартные ситуации
  • 10. • Бэкапы логов • Быстрый откат к предыдущей(-им) конфигурации(-ям) • Возможность оставить несколько инстансов в проблемном состоянии для исследования 10 Всегда готов - пожар
  • 12. • Информация о состоянии сервиса в реальном времени • Дать понимание состояния сервиса в целом (запросы, неудачи, время ответа и т.п.) • Дать понимание состояния конкретных машин (потребление CPU, памяти, сетевая и дисковая активности) • Дать понимание работы сети на машинах, в роутерах и т.п. • Исторические данные - тренды • Количественный и качественный мониторинг 12 Задачи мониторинга
  • 13. • Nagios • Zabbix • Cacti • Ganglia • Своё 13 Системы мониторинга
  • 14. 14
  • 15. • Процентили - 50, 90, 95. • Максимальные и минимальные значения • Выбросы • И всё это уметь соотносить со временем релиза (CI) 15 Объекты мониторинга
  • 18. 18
  • 19. 19 Мониторинг и хосты - окончание
  • 20. • Быстрое понимание того, что произошло что-то нехорошее • Быстрое понимание того, где произошло что-то нехорошее • Возможность отличить общесистемную проблему от проблемы на ограниченном подмножестве серверов 20 Что даёт мониторинг
  • 21. • Причину поломки • Всеохватность 21 Что мониторинг НЕ даёт
  • 23. • Потеря связности • Перегрузка каналов • Проблемы в приложениях 23 Виды проблем
  • 24. • Браузер / wget / curl / telnet / nc • ping, ping6 (-s) • traceoute, traceroute6 • iptables -L • dig / nslookup 24 Грубые инструменты
  • 25. 25 Ping - пример
  • 27. • Всё ещё не говорят, что сломалось • Могут навести на неправильные мысли. Например, при поломке DNS будет казаться, что потерялась связность • ICMP может быть заблокирован правилами firewall (или опять обманывать про связность) 27 Грубые инструменты - недостатки
  • 28. • netstat -i - список интерфейсов • netstat -r - таблица маршрутизации • netstat -b <interval> - in/out пакеты на интерфейсе • netstat -d <interval> - drop пакетов • netstat -Latn - listen queue для слушающих tcp сокетов • netstat -qI eth0 - статистика очередей на интерфейсе 28 netstat
  • 29. Программа tcpdump - это швейцарский нож, который покажет все проблемы с сетью. Синтаксис: tcpdump -i <interface> [options] <expression> expression - выражение, фильтрующее пакеты 29 Швейцарский нож - tcpdump
  • 30. • tcpdump -i eth0 tcp port 80 • tcpdump -i eth0 -n tcp port 80 • tcpdump -i en1 tcp port 443 and host ssllabs.com • tcpdump -i eth0 ‘host ssllabs.com and (tcp port 80 or tcp port 443)’ • А также UDP, (R)ARP, ICMP и тысячи других 30 tcpdump - примеры
  • 31. Кроме собственно tcpdump есть вспомогательные программы • wireshark - GUI над tcpdump. Другой синтаксис фильтров (tcp.port == 80 против tcp port 80). • tshark - пакетная обработка pcap-файла 31 wireshark tcpdump
  • 32. • Общение - удаётся ли переходить между состояниями tcp • Потери пакетов (ретрансмиты) • Время, затрачиваемое каждым из участников общения • Какими порциями происходит передача данных • Опции tcp: maximum segment size и прочие • Сопоставлять с логами сервиса • Различия восприятия передачи клиентом и сервером 32 На что смотреть
  • 34. • ps - %CPU, %MEM, VSS, RSS, SHR • top (htop) - на машине, realtime • uptime • /proc/meminfo • /proc/cpuinfo 34 Смотрим процессы ОС
  • 35. • Стандартные места - /var/log/ • Сервис-специфичные места (/usr/local/www/logs) • Системные - dmesg, /var/log/messages • lsof - потому что все врут • /proc/<pid> 35 Логи и где их искать
  • 36. • Факт записи coredump’а можно поискать в dmesg’е • ulimit -c • sysctl kernel.core_pattern %p - pid %s - номер сигнала %t - timestamp %e - название программы %h - hostname 36 Coredump
  • 37. • gdb <program> <coredump> • bt • fr • print 37 gdb
  • 38. 38 gdb - пример
  • 41. • -tt - timestamp • -c - count time • -f - follow fork • -o - outfile • -ff - multiple files • -p - pid • -e - filter 41 strace - флаги
  • 43. • df, du • hdparm • swapon/swapoff 43 Простейшие инструменты
  • 44. Показывает утилизацию система ввода-вывода, процессора и памяти. hint: печатайте ещё и текущее время perl -ne «print scalar localtime(), ‘ ‘, $_;» | vmstat 1 44 vmstat
  • 46. • procs: r - в state: running, b - заблокировнные • memory: free, buff, cache • swap: si - swap in, so - swap out • io: bi - block in, bo - block out • system:in - interrupts, cs - context switches • cpu: us - user, sy - system, id - idle, wa - waiting on io 46 Расшифровка
  • 48. Что с этим делать?
  • 49. • Без паники • Итеративно • Оперативно 49 Как разбираться?
  • 50. • Разобраться • Устранить • Добавить в мониторинг • Добавить в тесты 50 Что делать?