Sysdig: инструмент для мониторинга системы Linux

{title}

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

При управлении средами Linux у нас есть практичный и простой инструмент, который помогает нам анализировать систему, и это Sysdig.

В этом случае Solvetic проанализирует, как установить и использовать Sysdig на сервере Ubuntu 17.04, но это приложение будет очень полезно для использования любым дистрибутивом Linux.

Что такое sysdig

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

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

  • Tcpdump: мониторинг сетевого трафика.
  • Netstat: мониторинг сетевого соединения.
  • Htop: мониторинг процесса в режиме реального времени.
  • Lftop: мониторинг пропускной способности сети в режиме реального времени.
  • Lsof: позволяет визуализировать, какие файлы открываются каким процессом.

С sysdig у нас будут все эти инструменты и многие другие интегрированные, предлагающие простую программу и с поддержкой контейнеров.

Особенности Sysdig

Некоторые из наиболее выдающихся особенностей Sysdig:

  • Он быстрый, стабильный и простой в использовании с обширной документацией.
  • Включает встроенную поддержку контейнерных технологий, включая Docker, LXC и многое другое.
  • Это программируется в Lua; предлагает долота (легкие сценарии Lua) для обработки захваченных системных событий.
  • Поддерживает фильтрацию вывода.
  • Поддерживает отслеживание систем и приложений.
  • Он может быть интегрирован с Ansible, Pupe и Logstash.
  • Включите расширенный анализ журнала.
  • Он имеет функции анализа атак на Linux (криминалистические) серверы для этических хакеров и многое другое.

1. Установите Sysdig в Linux

Шаг 1
Чтобы установить Sysdig на сервере Ubuntu 17.04, мы выполним одну из следующих команд, которая проверит все требования; Если все правильно, вы загрузите и установите пакет из репозитория Draios APT / YUM:

 curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | bash curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | судо баш 

{title}

Шаг 2
После завершения процесса установки мы увидим следующее:

{title}

2. Используйте Sysdig в Linux

Шаг 1
После его установки вам нужно запустить sysdig от имени пользователя root, так как он требует доступа к критическим областям, таким как файловая система / dev / sysdig *, и вам нужно будет автоматически загрузить модуль ядра sysdig-probe, мы выполним следующее:

 sudo sysdig 

{title}

Шаг 2
Там мы можем увидеть серию небольших сложных данных, если мы хотим получить намного более простое представление, мы должны использовать интерфейс csysdig. Мы выполняем следующее:

 sudo csysdig 

Шаг 3
Результат будет следующим. Мы можем увидеть данные гораздо более организованно. Важно уточнить, что целью является использование команды sysdig для получения истинного потенциала инструмента.

{title}

3. Понимать фильтры и параметры Sysdig в Linux


На первый взгляд мы видим, что данные, сгенерированные sudo sysdig, сложны и трудны для понимания, но сами по себе они являются минимальными сценариями Lua для изучения потока событий sysdig и, таким образом, выполняют полезные действия для решения системных проблем в целом.,

Шаг 1
При выполнении следующей команды мы видим доступные фильтры:

 sudo sysdig -cl 

{title}

$config[ads_text6] not found

Шаг 2
Там мы можем видеть различные категории, доступные с их соответствующими опциями. Если вы хотите получить больше информации о конкретном фильтре, мы будем использовать индикатор -i :

 sudo sysdig -i topprocs_cpu 

{title}

Шаг 3
Фильтры Sysdig добавляют больше деталей к типу вывода, который мы можем получить из потоков событий, что позволяет вам настраивать вывод. Простой и общий фильтр - это базовая проверка "class.field = value". Чтобы увидеть список доступных классов полей, полей и их описания, мы выполним следующее:

 sudo sysdig -l 

{title}

4. Создайте файл мониторинга системы Linux

Шаг 1
Чтобы выгрузить выходные данные sysdig в файл для последующего анализа, мы должны использовать параметр -w, и можно будет прочитать файл дампа отслеживания с параметром -r.

$config[ads_text5] not found

Опция -s используется для указания количества байтов данных, которые будут получены для каждого системного события. В этом случае мы фильтруем события для процесса mongod.

Шаг 2
Например, мы можем выполнить следующее:

 sudo sysdig -s 10 -w trace.scap 

Шаг 3
Для вашего анализа мы выполним следующее:

 sudo sysdig -r trace.scap proc.name = mongod 

5. Контролировать процессы Linux


Если мы хотим перечислить все системные процессы, мы выполним следующее:
 sudo sysdig -c ps 

{title}

Мы можем увидеть полную сводку с указанием PID, пользователя, использования памяти и т. Д.

$config[ads_text5] not found

6. Мониторинг процессов для использования процессора в Linux


С помощью Sysdig можно отслеживать процессы по проценту загрузки процессора, для этого мы выполняем следующее:
 sudo sysdig -c topprocs_cpu 

{title}

7. Мониторинг сетевых подключений и устройств ввода-вывода в Linux

Шаг 1
С помощью Sysdig мы можем отслеживать все сетевые подключения, выполняя следующее:

 sudo sysdig -c netstat 

{title}

Шаг 2
Мы можем видеть все адреса, используемый протокол, статус и PID. Следующая команда позволяет нам развернуть превосходящие сетевые соединения для определенного количества байтов:

 sudo sysdig -c topconns 

$config[ads_text6] not found

Шаг 3
Мы также можем перечислить основные процессы по сетевому I / OS с помощью следующей команды:

 sudo sysdig -c topprocs_net 

8. Мониторинг файловых систем ввода / вывода в Linux

Шаг 1
Будет возможно выдать данные, прочитанные и записанные процессами в системе, используя следующую строку:

 sudo sysdig -c echo_fds 

{title}

Шаг 2
Чтобы перечислить основные процессы по дисковым байтам (чтение и запись), мы будем использовать следующую строку:

 sudo sysdig -c topprocs_file 

{title}

9. Решение проблем с производительностью в Linux


Sysdig предлагает нам возможность отслеживать ошибки в системных вызовах (узкие места) с помощью следующей команды:
 sudo sysdig -c узкие места 

$config[ads_text5] not found

{title}

примечание

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

Ctrl + C

10. Откройте для себя медленные сети в Linux


С помощью следующей команды можно будет проанализировать, какое устройство сетевого ввода-вывода работает медленно в системе:
 sudo sysdig -c netlower 

11. Мониторинг HTTP-запросов в Linux

Шаг 1
Если в системе есть HTTP-сервер, такой как Apache или Nginx, мы можем выполнить поиск в журнале запросов сервера с помощью следующей команды:

 sudo sysdig -c httplog 

Шаг 2
Или, если мы хотим просмотреть запросы, мы выполним:

 sudo sysdig -c httptop 

12. Развертывание оболочек и взаимодействие с пользователем в Linux

Шаг 1
Следующая команда позволит нам увидеть все идентификаторы оболочки входа в систему:

 sudo sysdig -c list_login_shells 

$config[ads_text5] not found

Шаг 2
Чтобы увидеть активность пользователей, мы выполним следующее:

 sudo sysdig -c spy_users 

13. Помощь sysdig на Linux на Linux


Наконец, мы можем получить доступ к справке sysdig, выполнив любую из следующих команд:
 человек sysdig человек csysdig 

{title}

Таким образом, sysdig становится функциональной альтернативой, когда речь идет об администрировании, контроле и поддержании гораздо более точного контроля над различными аспектами системы.