Поиск по сайту:

Как установить Sysdig на Debian 11


На этой странице

  1. Предпосылки
  2. Обновление системы
  3. Установка Syndig в Debian 11
  4. Использование Sysdig
  5. Заключение

Sysdig — это кроссплатформенный инструмент для мониторинга и устранения неполадок системы с открытым исходным кодом. Это полезно для опытных системных администраторов, а также для тех, кто впервые знакомится с командной строкой Linux. Это может дать нам массу информации о том, что на самом деле происходит на наших серверах, контейнерах или рабочих столах во время нормальной работы.

Sysdig поставляется с интерфейсом командной строки, но также имеет веб-интерфейс для тех, кто больше склонен к графическому интерфейсу.

Sysdig собирает системные данные и позволяет пользователю фильтровать и отслеживать эти данные разными способами. Вы можете перехватывать трафик в/из контейнера или виртуальной машины, использовать фильтры, чтобы система показывала вам только важные события, например, если процесс X прослушивает порт Y, и вы можете объединять события вместе в графическое представление долгосрочных тенденций.

Величайшая сила Sysdig заключается в ее глубоком понимании. Sysdig может сообщить вам, где происходят все операции чтения с вашего диска, сколько пакетов отправляет/получает каждый контейнер или не работает ли какой-либо из ваших веб-серверов. Он даже делает все возможное и подкрепляет эту информацию соответствующими двоичными данными (если они записаны).

Большую часть времени мы как системные администраторы тратим на устранение неполадок, которые трудно воспроизвести или идентифицировать. Причина, по которой эти проблемы так трудно отлаживать, заключается в том, что для продолжения недостаточно информации.

Sysdig может дать нам достаточно информации для решения этих проблем. Когда у нас есть эта информация, устранение неполадок становится намного проще — часто кажется, что у нас есть сверхспособность.

Sysdig работает с большинством основных дистрибутивов, включая CentOS, Ubuntu, Debian, Fedora Core, Arch Linux, Gentoo и даже OSX. Установка достаточно проста; он не требует компиляции исходного кода (ура!), и есть даже официальная страница GitHub с инструкциями по установке для каждого официально поддерживаемого Sysdig дистрибутива.

В этой статье мы установим Sysdig на сервер Debian 11. Этот процесс достаточно прост и не требует глубоких знаний о Linux для начала работы.

Предпосылки

Для того, чтобы установить sysdig, нам нужно:

  • SSH-подключение к нашему удаленному серверу.
  • Доступ с правами root или sudo.

Обновление системы

Это хорошая идея, чтобы обновить систему, прежде чем мы продолжим. Мы можем сделать это, запустив:

sudo apt-get update && sudo apt-get upgrade -y

После завершения обновлений выполните следующие команды, чтобы установить необходимые зависимости. libc6 — это стандартная библиотека C, используемая Sysdig для выполнения большей части своей тяжелой работы. curl — это инструмент, который извлекает файлы по протоколу HTTP или HTTPS, и именно его мы будем использовать для загрузки sysdig. libcurl3 — это зависимость для curl.

sudo apt install libc6 libcurl3 gnupg -y
sudo apt install software-properties-common curl -y

Установка Syndig на Debian 11

Теперь, когда система обновлена, давайте загрузим и установим Sysdig. Выполните следующую команду, чтобы загрузить и установить sysdig.

sudo curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash

В зависимости от характеристик ваших серверов это может занять некоторое время. Поэтому, пожалуйста, будьте терпеливы, пока эта загрузка и установка не будут завершены.

Пример вывода:

После завершения установки мы можем проверить, правильно ли установлен Sysdig, выполнив приведенную ниже команду.

sysdig --version

Если установка прошла успешно, эта команда вернет сведения о версии sysdig, как показано ниже.

Вы также можете проверить различные возможности sysdig, выполнив следующую команду.

sysdig -h

Использование Sysdig

Теперь, когда мы установили Sysdig, давайте рассмотрим некоторые основные команды Sysdig.

Первое, что нам нужно сделать, это запустить приведенную ниже команду, чтобы начать захват системной активности. Мы используем команду sysdig для мониторинга системы. Мы запускаем команду sysdig с префиксом sudo, который необходим, поскольку для работы csysdig требуется доступ root или sudo.

sudo csysdig

Пример вывода:

Когда sysdig начнет захватывать события, sysdig начнет заполнять интерфейс информацией. После выполнения вышеуказанной команды системные данные обновлялись каждые две секунды. Это контролируется переменной refresh_rate, которая по умолчанию равна 2 секундам. Это можно настроить с помощью файла конфигурации sysdigs.

В приведенном выше выводе вы увидите такие столбцы, как PID, Name, CPU и Comm. Это описания столбцов, и их можно увидеть, наведя на них указатель мыши. Синтаксис имен столбцов: [имя поля]-[дескриптор поля].

Поля, о которых мы больше всего заботимся, обычно включают:

  • PID — PID процесса, сгенерировавшего событие.
  • PPID — PID родительского процесса для данного процесса.
  • %CPU — сколько процессорного времени использует процесс.
  • USER – имя пользователя, ответственного за процесс.
  • RES – объем неподкачиваемой памяти, используемой процессом.
  • Команда — командная строка, запустившая процесс.

Конечно, есть множество других столбцов, которые вы можете использовать для более глубокого изучения активности системы. И Sysdig можно настроить в соответствии с вашими потребностями.

Поскольку системные данные постоянно обновляются, может быть трудно понять, что происходит. Мы можем остановить запуск sysdig, нажав CTRL + C. После очистки интерфейса мы можем запустить команду sysdig с параметрами и фильтрами, чтобы получить нужные нам данные.

Система — sysdig [опции] [фильтры].

Механизм фильтрации Sysdig очень мощный, и его можно использовать для поиска именно того, что вы ищете. Фильтры, как и tcpdump, состоят из цепочки из одного или нескольких примитивных выражений, связанных союзами («и», «или») и необязательно заканчивающимися дизъюнкцией («не»). Чтобы показать все фильтры, которые мы можем использовать с sysdig, выполните следующую команду.

sysdig -l

Вы получите список с большим количеством фильтров с кратким описанием каждого, как показано ниже.

Поскольку невозможно охватить их все, рассмотрим некоторые часто используемые фильтры.

Мы начнем с фильтра — proc.name=, который позволяет нам отфильтровывать определенные имена процессов.

Например, чтобы найти все события для процесса с именем \nano\, мы можем запустить следующую команду.

sudo sysdig proc.name=nano

Пример вывода:

Вы также можете использовать такие операторы, как \или и \и, чтобы получить более конкретные данные. Например, вы можете получить все события для \nano\ или \vi\.

sudo sysdig proc.name=cat or proc.name=vi

Запустите команду ниже, чтобы увидеть события, связанные с сетью. Вы можете видеть, к каким портам подключены, MAC-адреса и многое другое в режиме реального времени.

sudo sysdig -c netstat 

Пример вывода:

Выполните приведенную ниже команду, чтобы получить процессы, потребляющие больше всего ресурсов ЦП.

sudo sysdig -c topprocs_cpu

Пример вывода:

Чтобы зафиксировать активность системы и сохранить ее для последующего анализа, используйте параметр -w, за которым следует имя файла. В приведенном ниже примере мы записываем все выходные данные sysdig в файл с именем \sysdig-output.scap.

sudo sysdig -w sysdig-output.scap

Эта команда сообщает sysdig о непрерывном выводе данных, пока он не будет остановлен нажатием CTRL+C. Со временем файл будет увеличиваться в размере. Вы можете использовать параметр -C, чтобы записывать действия системы в файл с максимальным размером в указанное количество МБ.

Например, приведенная ниже команда будет создавать новый файл каждые 1 МБ и сохранять в нем системную активность.

sudo sysdig -C 1 -w sysdig-output.scap

Запустите команду ls -l, чтобы увидеть только что созданный файл с именем \sysdig-output.scap, как показано ниже.

ls -l

Результат выглядит следующим образом:

Заключение

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

В этой статье мы рассмотрели некоторые основные команды для начала работы с sysdig. Чтобы узнать больше о sysdig и его вариантах использования, посетите страницу документации.