шесть-р < filename >
-c < chiselname > < chiselargs >
Указывает формат, используемый при печати событий.
-p < output_format>, --print=< output_format>,
Используйте формат -pc или -pcontainer, удобный для контейнеров.
Используйте формат -pk или -pkubernetes k8s, через сколько секунд нужно прекратить сбор.
-M < num_seconds >
Перечисляет поля, доступные для фильтрации и вывода.
-L, --list
Захват обмена данными для данного порта
spy_port
Захват обмена данными для данного IP
spy_ip
Вывод данных чтения и записи файла. Вы можете указать имя файла в качестве параметра.
spy_file
Список сетевых подключений
netsata
Выходной процесс считывает и записывает данные
echo_fds
fdcount_by сортирует процессы по установленному списку подключений
fdcount_by сортирует процессы по установленному списку подключений
Сортировка процессов по использованию сети
topprocs_net
Вывод отсортирован по использованию процессора
topprocs_cpu
Вывод всех http-запросов
httplog
иллюстрировать
Параметры мероприятия. Если это системный вызов, параметры, соответствующие системному вызову
evt.args
Имя события, например open, stat и т. д., обычно это системный вызов.
evt.type
evt.dir
thread.tid идентификатор потока, одиночный поток — это идентификатор процесса
thread.tid идентификатор потока, одиночный поток — это идентификатор процесса
Имя процесса, сгенерировавшего событие
proc.name
evt.num Увеличение количества событий
evt.cpu Процессор, на котором было зафиксировано событие.
evt.cpu Процессор, на котором было зафиксировано событие.
evt.time Время, когда произошло событие
evt.time Время, когда произошло событие
событие иллюстрировать
событие иллюстрировать
событие иллюстрировать
evt.num Увеличение количества событий
evt.num Увеличение количества событий
В этой краткой справочной шпаргалке SYSDIG показан список часто используемых команд и конфигураций.
Примечание. Эта команда должна опираться на kernel-devel, и лучше всего использовать большую версию, поставляемую с системой, например contso7 3.10.x, в противном случае вам придется компилировать и обрабатывать зависимости самостоятельно.
1. Импортируйте ключ официального исходного кода yum и загрузите официальный исходный код draios.
sudo rpm --import https://download.sysdig.com/DRAIOS-GPG-KEY.public
sudo curl -s -o /etc/yum.repos.d/draios.repo https://download.sysdig.com/stable/rpm/draios.repo
2. Целью настройки источника epel является установка пакета зависимостей dkms, а затем установка sysdig.
sudo yum install epel-release -y
sudo yum -y install sysdig
3. Загрузите его в ядро. Если загрузка прошла успешно, вы сможете просмотреть модуль драйвера scap.
sudo scap-driver-loader
параметр | иллюстрировать |
---|---|
-L, --list | Перечисляет поля, доступные для фильтрации и вывода. |
-M < num_seconds > | Через сколько секунд прекратить сбор. |
-p < output_format>, --print=< output_format>, Используйте формат -pc или -pcontainer, удобный для контейнеров. Используйте -pk или -pkubernetes удобный формат k8s | Указывает формат, используемый при печати событий. |
-c < chiselname > < chiselargs > | Укажите встроенные инструменты для непосредственного выполнения конкретной работы по агрегированию и анализу данных. |
-C 5 | Каждый файл не должен превышать 5M. |
-W 10 | Храните не более 10 файлов |
-G 60 | Каждый файл сохраняет только одну минуту активности системы. |
-w dump.pcap || -w < filename > | Сохраните в файл определенного формата, его нужно открыть с помощью sysdig. |
-e 1000 | Только 1000 событий в файле |
-z | параметр Сжать сохраненный контент |
-A --print-ascii | Распечатайте данные в буфере в формате ASCII для удобства чтения. |
-x --print-hex | Распечатайте данные из буфера в шестнадцатеричном формате. |
-X --printhex-ascii | Распечатайте данные из буфера одновременно в формате ASCII и шестнадцатеричном формате. |
-s 1024 | Размер данных буфера захвата, по умолчанию 80, если установлен слишком большой, файл будет очень большим. |
-N | Нет необходимости преобразовывать номер порта в читаемое имя. |
-r < filename > | прочитать из файла |
событие | иллюстрировать |
---|---|
evt.num | Увеличение количества событий |
evt.time | время возникновения |
evt.cpu | ЦП, на котором было зафиксировано событие |
proc.name | Имя процесса, сгенерировавшего событие |
thread.tid | Идентификатор потока, если одиночный поток является идентификатором процесса |
evt.dir | событиенаправление(direction), > Представители участвуют в мероприятии, < Представлять выходное событие |
evt.type | Имя события, например open, stat и т. д., обычно это системный вызов. |
evt.args | Параметры мероприятия. Если это системный вызов, параметры, соответствующие системному вызову |
событие | иллюстрировать |
---|---|
httplog | Вывод всех http-запросов |
topprocs_cpu | Вывод отсортирован по использованию процессора |
topprocs_net | Сортировка процессов по использованию сети |
fdcount_by | Сортировка процессов по созданию книги подключений |
echo_fds | Выходной процесс считывает и записывает данные |
netsata | Список сетевых подключений |
spy_file | Вывод данных чтения и записи файла. Вы можете указать имя файла в качестве параметра. |
spy_ip | Захват обмена данными для данного IP |
spy_port | Захват обмена данными для данного порта |
sysdig -l #событиетип
sysdig -cl #chiselsТипы инструментов
#Просмотр процесса с наибольшим количеством ошибок ввода-вывода
$ sysdig -c topprocs_errors
Просмотр файлов с наибольшим количеством ошибок ввода-вывода
$ sysdig -c topfiles_errors
#Просмотр неудачных вызовов disk io
$ sysdig fd.type=file and evt.failed=true
#Просмотр файлов, которые httpd не удалось открыть
$ sysdig "proc.name=httpd and evt.type=open and evt.failed=true"
#Просмотр наиболее трудоемких системных вызовов
sysdig -c topscalls_time
#Просмотр системных вызовов, которые возвращают наибольшее количество неудачных системных вызовов
sysdig -c topscalls "evt.failed=true"
#Вызовы файлового ввода-вывода с задержкой более 1 мс
sysdig -c fileslower 1
#Просмотр процесса, который использует наибольшую пропускную способность жесткого диска
sysdig -c topprocs_file
#Составьте список большого количества процессов, используя файловые дескрипторы
sysdig -c fdcount_by proc.name "fd.type=file"
#Просматриваем файлы с наибольшим количеством прочитанных и записанных байтов
sysdig -c topfiles_bytes
#Печать файлов, прочитанных и записанных nginxпроцессом
sysdig -c topfiles_bytes proc.name=nginx
#Просмотреть активное Оглавление с наибольшим количеством операций чтения и записи
sysdig -c fdbytes_by fd.directory "fd.type=file"
#Просмотр наиболее читаемых и записываемых файлов в Оглавление/tmp active
sysdig -c fdbytes_by fd.filename "fd.directory=/tmp/"
#Просмотр всех действий ввода-вывода с именем файла passwd
sysdig -A -c echo_fds "fd.filename=passwd"
#Показать активный ввод-вывод типа FD
sysdig -c fdbytes_by fd.type
#grabkubernetes pod IP-адрес клиента — 172.119.110.17, содержимое запроса — порт 3000.
$ sudo sysdig -A -c echo_fds k8s.pod.name contains piller-datacenter-web-dev and fd.port=3000 and evt.type=read and fd.cip=172.119.110.17 fd.proto=UDP
#Просмотр процесса, который занимает больше всего пропускной способности сети
sysdig -c topprocs_net
#Отображение данных передачи хоста 192.168.0.1
as binary:
sysdig -s2000 -X -c echo_fds fd.cip=192.168.0.1
as ASCII:
sysdig -s2000 -A -c echo_fds fd.cip=192.168.0.1
#Просмотр наиболее подключенных портов сервера
in terms of established connections:
sysdig -c fdcount_by fd.sport "evt.type=accept"
in terms of total bytes:
sysdig -c fdbytes_by fd.sport
#Просмотр IP-адреса с наибольшим количеством клиентских подключений
in terms of established connections
sysdig -c fdcount_by fd.cip "evt.type=accept"
in terms of total bytes
sysdig -c fdbytes_by fd.cip
#Перечислить все соединения доступа, которые не обращаются к службе Apache
sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"
#показывать wordpress1 Контейнер в порту 80 Данные отправлены и получены:
sysdig -A -cecho_fds container.name=wordpress1 and fd.port=80
#realtimeprint mysql Все новые соединения, полученные контейнером
sysdig -p"%fd.name" container.name=mysql and evt.type=accept
#Проверьте, какие файлы требуют больше времени
sysdig -c topfiles_time
#Посмотрите, какие файлы httpdпроцесс занимает больше всего времени
sysdig -c topfiles_time proc.name=httpd
#Просмотр процесса с наибольшим количеством ошибок ввода-вывода
sysdig -c topprocs_errors
#Просмотр файлов с наибольшим количеством ошибок ввода-вывода
sysdig -c topfiles_errors
#Просмотр неудачных вызовов disk io
sysdig fd.type=file and evt.failed=true
#Просмотр файлов, которые httpd не удалось открыть
sysdig "proc.name=httpd and evt.type=open and evt.failed=true"
#Просмотр наиболее трудоемких системных вызовов
sysdig -c topscalls_time
#Просмотр системных вызовов, которые возвращают наибольшее количество неудачных системных вызовов
sysdig -c topscalls "evt.failed=true"
#Проверяем отсутствие открытия файла
sysdig -p "%12user.name %6proc.pid %12proc.name %3fd.num %fd.typechar %fd.name" evt.type=open and evt.failed=true
#Вызовы файлового ввода-вывода с задержкой более 1 мс
sysdig -c fileslower 1
Пример сбора данных:
59509 23:59:19.023099531 0 kubelet (1738) < epoll_ctl
Формат сбора данных:
%evt.num %evt.outputtime %evt.cpu %proc.name (%thread.tid) %evt.dir %evt.type %evt.info
Полеиллюстрировать:
evt.num: Увеличение количества событий.
evt.time: время возникновения。
evt.cpu: где это событие было заснято CPU, то есть место, где находится системный вызов CPU казнен.
proc.name: Имя процесса, сгенерировавшего событие。
thread.tid: идентификатор потока, если это однопоточная программа, это также идентификатор процесса.
evt.dir: событие的направление(direction),> Представители участвуют в мероприятии,< Представляет выходное событие.
evt.type: Название события, например open, stat и т. д. обычно являются системными вызовами.
evt.args: параметр события. Если это системный вызов, они соответствуют параметрам системного вызова.
65611 05:29:20.772919597 1 sshd (22944.22944) > write fd=3(<4t>192.168.130.1:58986->192.168.130.147:22) size=4148
Столбец один (65611): номер события, записанный начиная с 1.
Второй столбец (05:29:20.772919597): время.
Третий столбец (1): номер процессора, на котором в данный момент работает процесс, начиная с 0.
Четвертый столбец (sshd): имя процесса.
Пятая колонна (22944.22944): Идентификатор потока указан в скобках. Если два значения совпадают, существует один поток.
Шестой столбец ( > ): Входитьсобытие,<Представляет выходное событие.
Нет.Семь Список(write):событиеимя。
Нет.восемь Список:событиеинформация,fd=3 Это означает, что дескриптор открытого файла равен 3, и здесь установлено TCP-соединение.
sysdig -M 1 -p "%evt.num,%evt.cpu"
Часто используемые цели фильтрации для sysdig:
fd: фильтр на основе дескриптора файла, например метки fd (fd.num), имени fd (fd.name).
процесс: фильтр на основе информации о процессе, такой как идентификатор процесса (proc.id), имя процесса (proc.name).
evt: фильтрация на основе информации о событии, такой как номер события, название события.
пользователь: фильтрация на основе информации о пользователе, такой как идентификатор пользователя, имя пользователя, домашний каталог пользователя.
syslog: фильтрация на основе системных журналов, таких как серьезность журнала и его содержимое.
контейнер: фильтр на основе информации о контейнере, такой как идентификатор контейнера, имя контейнера, образ контейнера.
Поддерживаемые арифметические операторы:
=、!=、>=、>、<、<=、contains、in 、exists、and、or、not
sysdig proc.name=kubelet
sysdig proc.name=nginx
Во время трехстороннего рукопожатия TCP появляется знак принятия.
sysdig evt.type=accept
sysdig fd.name=/etc
sysdig fd.name contains /etc
Chisels — это практичный набор инструментов, набор предопределенных функций для анализа конкретных сценариев.
sysdig –cl перечисляет все долота, наиболее часто используемые из них следующие:
topprocs_cpu: выводит список процессов, отсортированный по использованию ЦП.
topprocs_net: процесс вывода использует сеть TOP.
topprocs_file: процесс читает и записывает файл TOP на диск.
topfiles_bytes: чтение и запись дисковых файлов TOP
netstat: список сетевых подключений.
sysdig -c topprocs_net Посмотреть процессTOP через сеть
sysdig -c fdcount_by fd.sport “evt.type=accept” -M 10 Посмотреть порт, на котором установлено соединение
sysdig -c fdbytes_by fd.sport Посмотреть порт, на котором установлено соединение
sysdig -c fdcount_by fd.cip “evt.type=accept” -M 10 Посмотреть IP-адрес подключения к
sysdig -c fdbytes_by fd.cip Посмотреть IP-адрес подключения к
sysdig -c topprocs_file Просмотр процесса ввода-вывода, чтение и запись
sysdig -c fdcount_by proc.name “fd.type=file” -M 10 Просмотр количества открытых файловых дескрипторов в процессе
sysdig -c topfiles_bytes||sysdig -c topfiles_bytes proc.name=etcd Просмотр файлов чтения и записи на диске
sysdig -c fdbytes_by fd.filename “fd.directory=/tmp/” Просмотр /tmpОглавление чтение и запись файлов активности диска.
sysdig -c topprocs_cpu Посмотреть ТОП использования ЦП
sysdig -pc -c topprocs_cpu container.name=web Посмотреть использование ЦП контейнером TOP
sysdig -pc -c topprocs_cpu container.id=web Посмотреть использование ЦП контейнером TOP
csysdig –vcontainers Проверьте список контейнеров и использование ресурсов на компьютере.
sysdig -c topcontainers_cpu/topcontainers_net/topcontainers_file Посмотреть использование ресурсов контейнера TOP
1. Проверьте процесс с максимальной загрузкой ЦП в текущей системе.
sysdig -c topprocs_cpu
2. Проверьте сеть.
sysdig -c topprocs_net
3. Проверьте, какие процессы читают и записывают на диск.
sysdig -c topprocs_file
4. Проверьте, какие файлы читаются и записываются на диск.
sysdig -c topfiles_bytes
5. Проверьте количество связанных портов.
sysdig -c fdcount_by fd.sport