Введение в KernelShark

Системное администрирование

Доклад принят в программу конференции

DevOps/Network Engineer

Тезисы

Видео

1 Введение в Kernelshark.
1.1 Рассказ про ftrace, ptrace, ebpf.
1.2 Установка Kernelshark, trace простой функции в ядре.
2 Сравнение с Wireshark.
2.1 Отличия и сходства для более быстрого знакомства с Kernelshark.
2.2 Как создать свой tcpdump с помощью trace bcc в одну строку.
2.3 Как отслеживать проблемы в сетевом стеке с помощью Kernelshark.
3 Kernelshark как инструмент для траблшутинга.
3.1 Пример с обнаружением проблем ARP-запроса.
Часто у нас есть счётчики и логи для анализа поведения системы. Но что, если у нас нет под рукой нужной статистики или мы не знаем, где смотреть? Kernelshark поможет разобраться в проблеме.
4 Kernelshark как инструмент для анализа производительности.
4.1 Пример со сравнением времени работы при использовании файлового кэша при обращениях приложения к файловой системе. Рассмотрим, как сильно влияет файловый кэш, как его можно сбросить, какие функции в ядре работают в каждом случае.
4.2 Пример с замерами времени исполнения функции шифрования в сетевом модуле ядра.
Иногда нам нужно добавить какое-либо поведение в код, но не всегда понятно, какой вклад в latency будет привнесён изменениями при работе в контексте ядра. С Kernelshark можно будет заглянуть в прерывания и сравнить время выполнения. Особенно с -p function_graph!

Обзор полезных ссылок.

Подготовительное задание
Установить Kernelshark на совместимую операционную систему.