Установка и базовое использование Sysdig на Debian 11

Что такое Sysdig и для кого он полезен
Sysdig — это кроссплатформенный инструмент для мониторинга, захвата и анализа событий в операционной системе. Он полезен системным администраторам, инженерам SRE, разработчикам и всем, кто отлаживает приложения на Linux или проверяет поведение контейнеров. Sysdig собирает подробные события ядра, системные вызовы и сетевую активность, а также умеет визуализировать и фильтровать данные в реальном времени.
Краткое определение: Sysdig — демонстрационный и отладочный инструмент для наблюдения за процессами, сетью и диском в реальном времени.
Важно: для работы многих команд Sysdig требуется root или sudo.
Основные преимущества
- Глубокий уровень видимости: системные вызовы, сетевые соединения, дисковые операции.
- Фильтры на уровне событий — можно искать отдельные процессы, порты, UID и многое другое.
- Захват сессий в файл (.scap) для последующего анализа.
- Гибкие «chisels» (скрипты-аналитики) и визуализация через csysdig.
Компетенции и требования
- Нужен SSH-доступ к серверу.
- Права root или sudo.
- Debian 11 (в статье) — процесс можно адаптировать под другие дистрибутивы.
Подготовка и обновление системы
Перед установкой рекомендуется обновить пакеты:
sudo apt-get update && sudo apt-get upgrade -yУстановите зависимости: libc6 — стандартная библиотека C, curl — загрузчик по HTTP/HTTPS, gnupg — для работы с ключами, software-properties-common — удобство для репозиториев.
sudo apt install libc6 libcurl3 gnupg -ysudo apt install software-properties-common curl -yСовет: если curl отсутствует, можно использовать wget, но в инструкциях ниже используется curl.
Установка Sysdig на Debian 11
Для быстрой установки можно воспользоваться официальным инсталлятором от проекта: он загружает нужные пакеты и добавляет репозиторий.
sudo curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bashПроцесс зависит от скорости сети и мощности сервера — подождите до завершения.
Пример вывода процесса установки:

После установки проверьте версию:
sysdig --versionИли получите краткую справку по командам:
sysdig -h
Быстрый старт: csysdig — интерактивный интерфейс
Для интерактивного текстового интерфейса используйте csysdig. Он похож на htop, но для событий системы.
sudo csysdig
При запуске csysdig обновляет данные каждые 2 секунды по умолчанию (параметр refresh_rate). Вы увидите колонки PID, Name, CPU, Comm и другие. Короткое описание колонок:
- PID — идентификатор процесса, сгенерировавшего событие.
- PPID — идентификатор родительского процесса.
- %CPU — доля CPU, используемая процессом.
- USER — пользователь, запустивший процесс.
- RES — объем резидентной (не swap-овой) памяти.
- Command — командная строка, запустившая процесс.
Нажмите Ctrl+C, чтобы остановить захват и вернуться к командной строке.
Фильтры: как быстро находить нужные события
Фильтрация — ключевая сила Sysdig. Синтаксис похож на tcpdump: логические выражения, конъюнкции, дизъюнкции и отрицания.
Посмотреть полный список доступных полей и фильтров:
sysdig -lПримеры часто используемых фильтров:
- По имени процесса:
sudo sysdig proc.name=nano- Комбинация с логикой OR:
sudo sysdig proc.name=cat or proc.name=vi- Сетевые события (аналог netstat):
sudo sysdig -c netstat- Самые ресурсоёмкие процессы по CPU:
sudo sysdig -c topprocs_cpuСписок графических или текстовых «cдышец» (chisels) можно найти в репозиторных подсказках или списке команд csysdig.

Захват и хранение сессий
Чтобы записать происходящее для позднего анализа, используйте опцию -w и укажите файл .scap:
sudo sysdig -w sysdig-output.scapКоманда ведёт запись до прерывания Ctrl+C. Чтобы ограничивать размер файлов и делать ротацию, используйте опцию -C (размер в мегабайтах):
sudo sysdig -C 1 -w sysdig-output.scapЭто создаст новые файлы по мере заполнения каждые 1 МБ: sysdig-output.scap, sysdig-output.scap.1, sysdig-output.scap.2 и т. д.
Проверьте файлы:
ls -lФайлы .scap можно анализировать локально или переносить на машину аналитики.
Примеры использования и паттерны поиска
- Диагностика высокого I/O: фильтровать дисковые операции по процессу и по файлу.
- Проверка сетевых соединений контейнера: отфильтровать по PID контейнера или по cgroup.
- Поиск утечек сокетов: смотреть длительные несомкнутые соединения в netstat-выходе.
Пример поиска всех операций чтения/записи, связанных с конкретным исполняемым файлом:
sudo sysdig evt.type=read or evt.type=write and proc.name=mysvcПодсказка: комбинируйте фильтры по uid, proc.pid, fd.name и evt.type.
Методика отладки с Sysdig (мини-SOP)
- Зафиксировать проблему: собрать временную метку и симптомы (ошибки, время, нагрузка).
- Захватить короткую сессию sysdig -w в момент проявления.
- Просмотреть csysdig для визуальной проверки и топов.
- Применить узко направленные фильтры (proc.name, fd.name, evt.type).
- Экспортировать секцию в .scap и поделиться с коллегами.
- По результатам — настроить мониторинг/алерты или исправления.
Критерии приёмки: после анализа вы должны иметь четкий набор событий, подтверждающих причину инцидента, и рекомендуемые шаги по устранению.
Чек-лист для ролей
Системный администратор:
- Проверить установку sysdig –version
- Запустить csysdig для мгновенной диагностики
- Настроить ротацию файлов .scap
SRE / инженер по надежности:
- Собрать .scap при инциденте
- Построить дашборды по topprocs_cpu и netstat
- Автоматизировать захват при аномалиях (скрипты)
Разработчик:
- Сузить фильтры на свой процесс (proc.name)
- Просмотреть аргументы запуска в Command
- Имитировать поведение в тестовой среде и сравнить с рабочей
Cheatsheet: часто используемые команды
| Цель | Команда |
|---|
|Установить Sysdig (инсталлятор)| sudo curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash | |Проверить версию| sysdig –version | |Интерактивный интерфейс| sudo csysdig | |Показать список фильтров| sysdig -l | |Поймать события процесса nano| sudo sysdig proc.name=nano | |Сохранить захват в файл| sudo sysdig -w sysdig-output.scap | |Разбить файлы по 1 МБ| sudo sysdig -C 1 -w sysdig-output.scap | |Сетевые соединения| sudo sysdig -c netstat | |Топ по CPU| sudo sysdig -c topprocs_cpu |
Также полезны пользовательские chisels — поищите в репозиториях готовые наборы аналитик.
Когда Sysdig не подойдёт (ограничения)
- В системах с минималистичным ядром без поддержки трапперов ядра Sysdig может быть ограничен.
- На хостах с жёсткими политиками безопасности (например, неполный доступ к /proc или SELinux в строгом режиме) часть данных может быть недоступна.
- Для глубокой трассировки приложений на уровне языка (например, трассировка вызовов внутри JVM с детальными аргументами) лучше использовать профайлеры уровня приложения.
Альтернативы и их сильные стороны
- strace — низкоуровневая трассировка системных вызовов для конкретного процесса; проще и легче, но не так удобно для широкого мониторинга.
- bpftrace / eBPF-инструменты — мощные и низкоуровневые, часто более эффективны по нагрузке и гибки, но требуют знания BPF.
- tcpdump — ориентирован на сеть, не собирает системные вызовы и события процессов.
Отладочный сценарий: найти странный рост CPU за 5 минут
- Зафиксируйте время аномалии.
- Запустите краткий захват: sudo sysdig -w cpu-incident.scap
- Остановите через 2–5 минут.
- Откройте csysdig или проанализируйте: sudo sysdig -r cpu-incident.scap -c topprocs_cpu
- Если процесс найден, примените фильтр proc.name=имя и изучите сетевые/файловые операции.
Безопасность и разрешения
Sysdig требует привилегий для доступа к сырым событиям ядра. На продакшне следите за регламентом доступа: давайте sudo лишь уполномоченным инженерам и храните .scap в защищённом месте.
Полезные практики при эксплуатации
- Автоматическая ротация .scap и удаление старых файлов.
- Интеграция захвата в инцидентные триггеры (скрипт запускает sysdig при превышении SLI).
- Хранение коротких срезов при изменениях конфигурации для сравнения.
Mermaid: простая логика решения, запускать ли захват
flowchart TD
A[Произошла аномалия?] -->|нет| B[Наблюдать]
A -->|да| C[Есть критичность?]
C -->|высокая| D[Запустить sysdig -w и оповестить команду]
C -->|низкая| E[Запустить короткий захват 1-2 мин]
D --> F[Анализ .scap и действия]
E --> FЧасто задаваемые вопросы
Q: Можно ли запускать Sysdig в контейнере?
A: Да, но нужно дать контейнеру доступ к необходимым возможностям ядра (привилегии, монтирование /dev и /proc). В prod это требует осторожности.
Q: Сильно ли влияет Sysdig на производительность?
A: Sysdig написан с учётом производительности, но длительные захваты в интенсивных системах могут создавать нагрузку и быстро заполнять диск. Используйте короткие захваты и ротацию.
Q: Как поделиться .scap с коллегой?
A: Перед передачей убедитесь, что в файле нет секретов. Сжимайте файл и отправляйте по защищённому каналу.
Резюме
Sysdig — универсальный инструмент для наблюдения и отладки Linux-систем и контейнеров. Он комбинирует гибкую фильтрацию событий, интерактивный интерфейс csysdig и возможность записывать сессии для последующего анализа. Для быстрого старта на Debian 11 следуйте инструкции установки, изучите базовые фильтры и сохраните типовые команды в виде шаблона для вашей команды.
Полезные ссылки: загляните в официальную документацию Sysdig для chisels, готовых шаблонов и подробных руководств.
Похожие материалы
Steam Family View — настройка и советы
Как создать групповой чат iMessage на iPhone
Как отключить авто‑улучшение фото на iPhone
Как сделать изогнутый текст в Photoshop
Блокируется шифрованный DNS на iPhone — что делать