Чат codeby в telegram перезагрузка

Обсуждаем вопросы информационной безопасности, методы защиты информации, программирование. Задавайте свои вопросы и комментируйте чужие.  Подробнее ...

Сразу замечу, что sysdig доступен и для других платформ (например, для Windows), но не все версии обладают полной функциональностью. В данном уроке рассмотрено применение на Linux, на других ОС может быть своя специфика.

Что первое, приходящее на ум, когда вам нужно проследить системные запросы, сделанные и полученные процессом? Возможно вы подумаете о strace, и вы правы. Какой инструмент вы бы стали использовать для мониторинга сырого сетевого трафика из командной строки? Если вы подумали о tcpdump, вы снова сделали превосходный выбор. А если вы когда-либо столкнётесь с необходимостью отслеживать все открытые файлы (в Unix смысле этого слова: все является файлами), скорее всего, вы будете использовать lsof.

strace, tcpdump и lsof действительно отличные утилиты, которые должны быть частью набора инструментов каждого сисадмина, и это именно та причина, по которой вы полюбите sysdig, мощный инструмент с открытым кодом для исследования и решения проблем на уровне системы, представлен его создателями как «strace + tcpdump + lsof + потрясающие соус с маленькой Луа вишенкой наверху.» Юмор в сторону, одноа из великолепных функций sysdig заключается в возможности не только анализировать «живое» состояние системы Linux, но и также сохранять состояние в дамп файле для автономного контроля. А ещё вы можете настраивать поведение sysdig или даже усовершенствовать её возможности, используя встроенные (или написанные вами) маленькие скрипты, называемые чизелзы (chisels — долото, зубило). Индивидуальные чизелзы используются для анализа захваченных sysdig’ом потоков событий в различных специфичных для скрипта ситуациях.

В этом уроке мы раскроем установку и базовое использование sysdig для выполнения системного мониторинга и решения проблем на Linux.

Установка Sysdig

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

Выполните следующую команду под рутом для установки sysdig из официального репозитория apt/yum:

15334678580_8673d072a4_o

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

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

для просмотра списка доступных чизелей.

15334678610_92acc0cc94_o

Следующие категории доступны по умолчанию, каждая из них наполнена многими чизелзами.

  • CPU Usage (использование процессора)
  • Errors (Ошибки)
  • I/O (Ввод/вывод)
  • Logs (Логи)
  • Misc (Разное)
  • Net (Сеть)
  • Performance (Производительность)
  • Security (Безопасность)
  • System State (Состояние системы)

Для отображения информации (включая детальное использование в командной строке) по конкретному чизелю, выполните:

Например, мы можем проверить информацию по чизелю spy_port в категории «Net» запустив:

15521424095_118d54de7e_o

Чизели могут быть совмещены с фильтрами (которые могут быть применены как к живым данным, так и трассировке файла) для получения более полезного вывода.

Фильтры следуют структуре «class.field» (класс.поле). Например:

  • fd.cip: клиентский IP адрес.
  • evt.dir: направление события может быть как ‘>’ для ввода событий или ‘<‘ для выхода событий.

Полный список фильтров может быть отображён с:

В оставшейся части урока я продемонстрирую несколько случаев использования sysdig.

Примеры Sysdig: Решение проблем с производительностью сервера

Предположим ваш сервер испытывает проблемы с производительностью (например, отсутствие реакции или заметные задержки в ответах). Вы можете использовать чизел bottlenecks для отображения списка из десяти самых медленных системных вызовов в данный момент.


Наш канал в telegram канал codeby

Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде !  Подробнее ...

Используйте следующую команду для проверки живого сервера в реальном времени. Флаг «-c», за которым следует название чизеля, говорит sysdig’у выполнить специфичный чизел.

Как вариант, вы можете осуществить оффлайн анализ производительности сервера. В этом случае вы можете сохранить полный след sysdig’а в файл, и запустить чизел bottlenecks на этот след как показано:

Во-первых, сохраните след sysdig (используйте Ctrl+c для остановки сбора):

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

15334678670_931b92e525_o

Вам нужно обратить внимание на столбцы #2, #3 и #4 ,которые показывают, соответственно, время исполнения, имя процесса и PID.

Пример Sysdig: Мониторинг интерактивной активности пользователей

Предположим вы, как сисадмин, хотите проверить интерактивную активность пользователей в системе (например, какие команды пользователь напечатал из командной строки и в какие каталоги пользователь заходил). Для этого нам в помощь спешит чизел spy_user.

Давайте сначала соберём след sysdig’а с парой дополнительный опций.

  • «-s 4096» говорит sysdig’у захватить до 4096 байтов каждого события.
  • «-z» (используется с «-w») задействует сжатие файла следа.
  • «-w <файл-следа>» сохраняет след sysdig с специфичный файл.

Выше мы настроили имя сжатого файла следа так, что оно (имя) основывалось на хосте. Помните, что вы можете прервать выполнение sysdig в любой момент нажав Ctrl + c.

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

15518254291_bbe71aa31e_o

Первая колонка выше выводит индикатор PID процесса, ассоциированного с заданной пользовательской активностью.

А что если вы хотите нацелиться на специфичного пользователя и мониторить только его пользовательскую активность? Вы можете отфильтровать результаты чизеля spy_users по юзернейму:

15498248556_bc9459534f_o

Пример Sysdig: Мониторинг файловых операций ввода/вывода

Мы можем настроить выводной формат следа sysdig с флагом «-p» и указать желаемые поля (например, имя пользователя, имя процесса и имя файла и сокета), закрытыми внутри двойных кавычек. В этом примере мы создадим файл следа, которые будет содержать только события записи в домашние директории (которые мы можем проинспектировать позднее с «sysdig -r writetrace.scap.gz»).

15498248586_c1b9c9c470_o

Пример Sysdig: Мониторинг сетевых операций ввода/вывода

Как часть решение серверных проблем, вам может понадобится подглядывать за сетевым трафиком, что обычно делается с tcpdump. С sysdig сниффинг трафика может быть выполнен также просто, на в более дружелюбной к пользователю манере.

Например, вы можете проверить данные (в ASCII), которые были обменены с определённым IP адресом, выполненным определённым процессом (например apache2):

Если вместо этого вы хотите мониторить обмен сырыми данными (в двоичном виде), замените «-A» на «-X»:

Ещё больше информации, примеров и практических примеров вы сможете найти на сайте проекта. Поверьте мне, возможности безграничны. Но не принимайте это только на слово. Устанавливайте sysdig и начинайте рыть уже сегодня!


Наш канал в telegram канал codeby

Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде !  Подробнее ...

Похожие темы

Установка и настройка Apache, PHP, MySQL, phpMyAdm... Если вас интересует, как установить сервер на Windows, то вам сюда "Установка Apache, PHP, MySQL, phpMyAdmin на Windows". Сразу скажу, это будет очен...
Безопасность сайтов в Tor. Атаки на скрытые сервис... В прошлой статье, мы кратко поговорили о том, насколько легко проводить атаки на Tor Hidden Service, что в общем-то, не делает сайты в Tor более без...
Установка справочно-правовой системы КонсультантПл... Данная статья устарела, рекомендуется к прочтению новая статья "Установка КонсультантПлюс на Linux: оболочка и подробная инструкция". ...
Как установить AMD APP SDK в Kali Linux?... Эта инструкция из серии о том, Как установить GLRX, AMD APP SDK, CAL++ и Pyrit в Kali Linux. Идея в том, чтобы установить корректные драйвера в Kali...
Какая хорошая бесплатная контрольная панель для VP... Управление сервером на декстопной машине и управления точно таким же сервером на «безголовой машине», например на VPS — это, как г...