Установка Sysdig на Debian 13, 12, 11: полное руководство

Sysdig — это мощный инструмент для мониторинга и отладки системы на уровне ядра. Он перехватывает системные вызовы и позволяет в реальном времени анализировать, какие процессы что делают: какие файлы открывают, с какими сетевыми адресами общаются, сколько потребляют ресурсов.

Sysdig включает в себя как консольную утилиту sysdig (аналог tcpdump, но для системных вызовов), так и интерактивный интерфейс csysdig (напоминает htop, но с гораздо большей детализацией).

В этом руководстве я покажу, как установить Sysdig на Debian из официального репозитория Sysdig, чтобы получить свежую версию 0.41.x, которая работает на Debian 13, 12 и 11.


Оглавление

Предварительные требования

Перед установкой убедитесь, что:

  • У вас есть доступ к интернету
  • Вы имеете права sudo (администратора)

⚠️ ВАЖНО: Проверьте права sudo перед установкой

Если вы не уверены, есть ли у вашего пользователя права администратора, выполните в терминале:

sudo whoami

Что делает: sudo — выполняет команду от имени суперпользователя; whoami — показывает имя текущего пользователя.

Ожидаемый вывод в терминале:

root

❌ Если выводит is not in the sudoers file — сначала пройдите наше руководство по настройке sudo.


Установка Sysdig

Шаг 1: Обновите систему

sudo apt update && sudo apt upgrade -y

Шаг 2: Установите зависимости

sudo apt install -y ca-certificates curl gpg ncurses-term dkms

Что делает:

  • ca-certificates — для проверки SSL-сертификатов
  • curl — для скачивания GPG-ключа
  • gpg — для работы с ключами
  • ncurses-term — для правильного отображения csysdig (исправляет ошибки терминала)
  • dkms — для автоматической пересборки модуля ядра при обновлении ядра

Шаг 3: Импортируйте GPG-ключ Sysdig

curl -fsSL https://download.sysdig.com/DRAIOS-GPG-KEY.public | sudo gpg --dearmor -o /usr/share/keyrings/sysdig.gpg

Что делает:

  • curl -fsSL — скачивает открытый ключ Sysdig
  • | sudo gpg --dearmor — преобразует в бинарный формат (требуется APT)
  • -o /usr/share/keyrings/sysdig.gpg — сохраняет ключ в системную директорию

Шаг 4: Добавьте репозиторий Sysdig

printf '%s\n' \
  'Types: deb' \
  'URIs: https://download.sysdig.com/stable/deb' \
  "Suites: stable-$(dpkg --print-architecture)/" \
  'Signed-By: /usr/share/keyrings/sysdig.gpg' \
  | sudo tee /etc/apt/sources.list.d/sysdig.sources > /dev/null

Что делает: Создаёт файл репозитория в современном формате DEB822.
Важно: У Sysdig нет поддиректорий main, поэтому Suites: заканчивается на / и включает архитектуру.

Шаг 5: Обновите список пакетов

sudo apt update

Ожидаемый вывод (должны быть строки с download.sysdig.com):

Get:1 https://download.sysdig.com/stable/deb stable-amd64/ InRelease [1,390 B]
Get:2 https://download.sysdig.com/stable/deb stable-amd64/ Packages [52.5 kB]

Шаг 6: Проверьте, что репозиторий активен

apt-cache policy sysdig

Ожидаемый вывод:

sysdig:
  Installed: (none)
  Candidate: 0.41.x
  Version table:
     0.41.x 500
        500 https://download.sysdig.com/stable/deb stable-amd64/ Packages

Шаг 7: Установите Sysdig и заголовки ядра

sudo apt install -y linux-headers-$(uname -r) sysdig

Что делает: Устанавливает заголовки вашего текущего ядра и сам Sysdig.

Важно: Во время установки DKMS автоматически соберёт модуль scap.ko. Если вы когда-нибудь обновите ядро, DKMS пересоберёт модуль автоматически.

Ожидаемый вывод (частично):

Setting up sysdig (0.41.4) ...
Loading new scap-8.1.0+driver DKMS files...
Building initial module for 6.x.x-amd64
Done.

scap.ko:
 - Installation
   - Installing to /lib/modules/6.x.x-amd64/updates/dkms/

Проверка установки

sysdig --version
command -v csysdig

Ожидаемый вывод:

sysdig version 0.41.4
/usr/bin/csysdig

Основы работы с Sysdig

Просмотр доступных полей для фильтрации

Sysdig умеет фильтровать события по тысячам параметров. Чтобы увидеть все доступные поля:

sysdig -l

Пример полей: proc.name (имя процесса), fd.name (имя файла), evt.type (тип события: read, write, open), container.name (имя контейнера Docker).

Мониторинг процессов в реальном времени

Показать процессы, потребляющие больше всего CPU (chisel topprocs_cpu):

sudo sysdig -c topprocs_cpu

Что делает: Запускает встроенный скрипт (chisel), который отображает процессы в реальном времени, отсортированные по использованию CPU.

Фильтрация событий по имени процесса

sudo sysdig proc.name=nginx

Что делает: Показывает все системные вызовы процесса с именем nginx. Это мощный способ отладки конкретного приложения.

Список всех доступных chisels

sysdig -cl

Что делает: Выводит все встроенные скрипты анализа (chisels), сгруппированные по категориям: CPU, память, сеть, ошибки, безопасность.


Использование csysdig (интерактивный интерфейс)

csysdig — это интерактивная версия Sysdig с интерфейсом, похожим на htop.

Запуск csysdig

sudo csysdig

Что делает: Запускает интерактивный режим с видом «Processes» по умолчанию.

Навигация по csysdig

  • F2 или : (двоеточие) — переключение между видами (processes, connections, errors, containers)
  • F4 или l — применить фильтр
  • F5 или s — сортировка по столбцу
  • F6 или a — добавить/убрать столбцы
  • F1 или h — справка
  • Esc или q — выход

Пример создания пользовательского вида

  1. Нажмите F2 → выберите «Add view»
  2. Введите имя вида (например, «My Nginx View»)
  3. Выберите столбцы: PID, CPU%, Command
  4. Добавьте фильтр: proc.name=nginx
  5. Сохраните.

Решение типичных проблем

8.1 Ошибка: kernel module не загружается

Симптом: При запуске Sysdig появляется ошибка, что модуль не может загрузиться.

Причина: Отсутствуют заголовки ядра или модуль не собрался.

Пошаговое решение:

Шаг 1: Убедитесь, что заголовки ядра установлены:

sudo apt install -y linux-headers-$(uname -r)

Шаг 2: Попробуйте загрузить модуль вручную:

sudo modprobe scap

(отсутствие вывода = успех)

Шаг 3: Если модуль всё ещё не загружается, используйте eBPF-режим (требуется ядро 5.8+):

sudo sysdig --modern-bpf -cl

Что делает: Использует встроенную в ядро поддержку eBPF вместо отдельного модуля.


8.2 Ошибка: csysdig показывает кракозябры или ошибки терминала

Симптом: При запуске sudo csysdig появляются ошибки о терминале xterm-256color.

Причина: Не установлен пакет ncurses-term.

Пошаговое решение:

Шаг 1: Установите пакет:

sudo apt install -y ncurses-term

Шаг 2: Перезапустите csysdig.


8.3 Ошибка: Permission denied (не хватает прав)

Симптом: Команда sysdig возвращает ошибку о недостаточных правах.

Причина: Для захвата системных вызовов нужны права root.

Пошаговое решение:

Всегда запускайте sysdig и csysdig с sudo:

sudo sysdig proc.name=nginx
sudo csysdig

8.4 Sysdig не видит контейнеры Docker

Симптом: sysdig container.name=... не находит контейнеры.

Причина: Sysdig не может получить список контейнеров из Docker.

Пошаговое решение:

Шаг 1: Убедитесь, что Docker установлен и запущен:

sudo systemctl status docker

Шаг 2: Запустите Sysdig с sudo — этого достаточно, контейнеры должны определиться автоматически.

Шаг 3: Проверьте список контейнеров через csysdig в виде «Containers».


8.5 Утечка памяти или высокая нагрузка от модуля scap

Симптом: После длительной работы Sysdig система начинает тормозить, растёт потребление памяти.

Причина: Модуль scap может не выгружаться при завершении sysdig.

Пошаговое решение:

Шаг 1: Выгрузите модуль вручную:

sudo modprobe -r scap

Шаг 2: Используйте eBPF-режим вместо модуля:

sudo sysdig --modern-bpf -c topprocs_cpu

Чек-лист: что проверить после установки

  • [ ] Sysdig установлен: sysdig --version показывает версию 0.41.x
  • [ ] Модуль scap загружается при запуске: `sudo sysdig -c topprocs_cpu` работает
  • [ ] csysdig установлен: command -v csysdig возвращает /usr/bin/csysdig
  • [ ] Можно делать захват: sudo sysdig -c topprocs_cpu показывает процессы
  • [ ] Фильтрация работает: sudo sysdig proc.name=systemd не выдаёт ошибок
  • [ ] csysdig запускается: sudo csysdig открывает интерактивный интерфейс

Обновление Sysdig

sudo apt update && sudo apt install --only-upgrade sysdig -y

Что делает: Обновляет только Sysdig, если он уже установлен.


Удаление Sysdig

Шаг 1: Удалите пакет

sudo apt remove sysdig -y

Шаг 2: Удалите репозиторий и ключ

sudo rm -f /etc/apt/sources.list.d/sysdig.sources
sudo rm -f /usr/share/keyrings/sysdig.gpg
sudo apt update

Шаг 3: Проверьте, что пакет удалён

apt-cache policy sysdig

Ожидаемый вывод: Installed: (none) и Candidate: (none) (на Debian 12 может показывать Candidate: 0.29.3-1+b1 — это из стандартного репозитория).


Поддержка в разных версиях Debian

РелизСтатусПримечание
Debian 13 (Trixie)✅ Поддерживается
(репозиторий Sysdig)
В стандартных репозиториях
Debian 13 нет Sysdig
Debian 12 (Bookworm)✅ Поддерживается
(репозиторий Sysdig)
В стандартных репозиториях
— устаревшая версия 0.29.x
Debian 11 (Bullseye)✅ Поддерживается
(репозиторий Sysdig)
В стандартных репозиториях
— нет Sysdig

Часто задаваемые вопросы (FAQ)

Вопрос: Чем Sysdig отличается от strace и htop?
Ответ: strace показывает системные вызовы одного процесса, htop — общую нагрузку. Sysdig делает и то, и другое сразу, плюс умеет фильтровать по контейнерам, файлам, сетевым адресам и имеет встроенные скрипты анализа.

Вопрос: Что такое chisels?
Ответ: Chisels — это встроенные Lua-скрипты, которые превращают сырой поток системных вызовов в удобные отчёты. Например, topprocs_cpu показывает процессы по CPU, netstat — активные соединения.

Вопрос: Нужно ли перезагружать сервер после установки Sysdig?
Ответ: Нет, модуль ядра загружается сразу.

Вопрос: Ядро 5.10 и новее — нужно ли использовать --modern-bpf?
Ответ: Нет, --modern-bpf — это альтернативный способ захвата, но стандартный модуль scap работает стабильнее. Используйте eBPF, если модуль не собирается.

Вопрос: Есть ли графический интерфейс у Sysdig?
Ответ: Нет. Только консоль (sysdig) и текстовый интерфейс (csysdig).


Заключение

Теперь Sysdig установлен на вашем Debian. Вы можете:

  • Отслеживать системные вызовы в реальном времени
  • Использовать csysdig как мощную альтернативу htop
  • Анализировать поведение контейнеров и приложений

Что дальше?