BPF для мониторинга Linux

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Виртуальная машина BPF — один из важнейших компонентов ядра Linux. Ее грамотное применение позволит системным инженерам находить сбои и решать даже самые сложные проблемы. Вы научитесь создавать программы, отслеживающие и модифицирующие поведение ядра, сможете безопасно внедрять код для наблюдения событий в ядре и многое другое. Дэвид Калавера и Лоренцо Фонтана помогут вам раскрыть возможности BPF. Расширьте свои знания об оптимизации производительности, сетях, безопасности.

Author(s): Дэвид Калавера, Лоренцо Фонтана
Series: Бестселлеры O’Reilly
Edition: 1
Publisher: Питер
Year: 2021

Language: Russian
Commentary: Vector PDF
Pages: 208
City: СПб.
Tags: Linux; Security; Linux Kernel; Networking; Packet Filtering; Performance Analysis; Berkeley Packet Filter; Express Data Path

Вступление
Предисловие
Условные обозначения
Использование примеров кода
Благодарности
От издательства
Глава 1. Введение
История BPF
Архитектура
Резюме
Глава 2. Запуск программ BPF
Написание программ BPF
Типы программ BPF
Программы сокетной фильтрации
Программы Kprobe
Программы трассировки
Программы XDP
Программы Perf Event
Программы для сокетов контрольных групп
Программы Cgroup Open Socket
Дополнительные программы для сокетов
Программы карт в сокете
Программы для устройств контрольных групп
Программы доставки сообщений через сокет
Программы для отслеживания сырых точек
Адресные программы сокетов контрольных групп
Сокетные программы повторного использования портов
Программы рассечения потока
Другие программы BPF
Верификатор BPF
Формат типа BPF
Оконечные вызовы BPF
Резюме
Глава 3. Карты BPF
Создание карт BPF
Соглашения ELF для создания карт BPF
Работа с картами BPF
Обновление элементов в карте BPF
Считывание элементов с карты BPF
Удаление элемента из карты BPF
Перебор элементов в карте BPF
Поиск и удаление элементов
Конкурентный доступ к элементам карты
Типы карт BPF
Карты хеш-таблиц
Карты массивов
Карты программных массивов
Карты массивов событий производительности
Хеш-карты для каждого процессора
Карты массивов для каждого процессора
Карты трассировки стека
Карты массива контрольной группы
Хеш-карты LRU и хеш-карты отдельных процессоров
Карты LPM Trie
Массив карт и хеш-карт
Карты карт устройств
Карты карт процессора
Карты открытого сокета
Карты массива и хеша сокета
Карты сохранения сgroup и сохранения по ЦПУ
Карты переиспользования сокетного порта
Карты очередей
Карты стека
Виртуальная файловая система BPF
Резюме
Глава 4. Трассировка с помощью BPF
Зонды
Зонды ядра
Точки трассировки
Зонды пользовательского пространства
Статические точки трассировки пользовательского пространства
Визуализация данных трассировки
Флейм-графы
Гистограммы
События Perf
Резюме
Глава 5. Утилиты BPF
BPFTool
Установка
Вывод функциональных возможностей
Инспекция программ BPF
Инспекция карт BPF
Инспекция программ, подключенных к определенным интерфейсам
Загрузка команд в пакетном режиме
Отображение информации BTF
BPFTrace
Установка
Справочник по языку
Фильтрация
Динамическое отображение
kubectl-trace
Установка
Инспекция узлов Kubernetes
eBPF Exporter
Установка
Экспорт метрик из BPF
Резюме
Глава 6. Сетевое взаимодействие в Linux и BPF
BPF и фильтрация пакетов
Выражения tcpdump и BPF
Фильтрация пакетов для сырых сокетов
Классификатор управления трафиком на основе BPF
Терминология
Программа классификатора управления трафиком с использованием cls_bpf
Различия между управлением трафиком и XDP
Резюме
Глава 7. Express Data Path
Обзор программ XDP
Режимы работы
Пакетный процессор
XDP и iproute2 в качестве загрузчика
XDP и BCC
Тестирование программ XDP
XDP-тестирование с использованием фреймворка Python для тестирования модулей
Варианты использования XDP
Мониторинг
Миграция DDoS
Балансировка нагрузки
Брандмауэры
Резюме
Глава 8. Безопасность ядра Linux, его возможности и Seccomp
Возможности
Seccomp
Ошибки Seccomp
Пример фильтра BPF Seccomp
Ловушки BPF LSM
Резюме
Глава 9. Реальные способы применения
Режим God Mode от Sysdig eBPF
Flowmill
Об авторах
Об обложке