Saeshnikov / Linux-monitoring-utility

MIT License
2 stars 0 forks source link

Интеграция новых скриптов #120

Open sonix14 opened 3 months ago

sonix14 commented 3 months ago

Общие задачи

Задачи по собираемым метрикам

Пункт мониторинга bpftrace-скрипт Собираемые данные Установление связей
Сокеты socket.bt - тип syscall (accept/connect)
- протокол (UNIX, INET, INET6)
- полный путь исполняемого файла
- файловый дескриптор сокета
Определение взаимодействующих процессов будет производится на основе соотношения типа syscall (accept/connect) и файлового дескриптора сокета.
Именованные каналы (SystemV/Posix) namedpipes.bt - полный путь исполняемого файла
- файловый дескриптор канала
- имя канала
Взаимодействие определяется двумя способами:
1. Соотнести по имени канала в результирующем файле текущего скрипта.
2. Соотнести полный путь исполняемого файла с файлом в который он пишtнт/читает по результатам работы скрипта fsorw.bt.
Семафоры (SystemV) semaphores.bt - полный путь исполняемого файла
- ключ семафора
- id семафоров
Здесь взаимодействие определяется не между файлами, а различных файлов с одном и тем же семафором, сделать это возможно через соотношение одинаковых id и полных путей файлов.
Общая память (SystemV/Posix) sharedMem.bt - полный путь исполняемого файла
- id участка шареной памяти
- тип (SystemV/Posix)
Аналогично предыдущему варианту, рассматривается взаимодействие "одного ко многим".
Чтение/запись одного файла в другой fsorw.bt - полный путь исполняемого файла
- файловый дескриптор открываемого им файла
- полный путь к открываемому файлу
- кол-во считанных байт
- кол-во записанных байт
Результат работы этого скрипта может быть использован для установление взаимосвязи между процессами.
sonix14 commented 3 months ago

Пример вывода скрипта socket.bt:

Attaching 5 probes...

/snapshot/usr/bin/VBoxClient C UNIX 7
/snapshot/usr/bin/VBoxClient C UNIX 7
/snapshot/usr/bin/VBoxClient C UNIX 7
/snapshot/usr/bin/VBoxClient C UNIX 7
/snapshot/usr/bin/VBoxClient C UNIX 7
/snapshot/usr/bin/VBoxClient C UNIX 7
/snapshot/usr/bin/VBoxClient C UNIX 7
/snapshot/usr/bin/VBoxClient C UNIX 7
/snapshot/usr/bin/VBoxClient C UNIX 7
/snapshot/usr/bin/VBoxClient C UNIX 7
/snapshot/usr/lib/snapd/snapd C UNIX 3
/snapshot/usr/bin/VBoxClient C UNIX 7
/snapshot/usr/bin/VBoxClient C UNIX 7
/snapshot/usr/bin/VBoxClient C UNIX 7
/snapshot/usr/bin/VBoxClient C UNIX 7
/home/anna/Desktop/bpftrace/socket/socket_server A INET 3
/home/anna/Desktop/bpftrace/socket/socket_client C INET 3
/snapshot/usr/bin/VBoxClient C UNIX 7
/snapshot/usr/bin/VBoxClient/c C UNIX 8

Пример вывода скрипта namedpipes.bt:

Attaching 12 probes...

/home/anna/Desktop/bpftrace/pipe/fifoserver.out 3 MYFIFO
/home/anna/Desktop/bpftrace/pipe/fifoserver.out 4 MYFIFO
/home/anna/Desktop/bpftrace/pipe/fifoserver.out 5 MYFIFO
/home/anna/Desktop/bpftrace/pipe/fifoserver.out 6 MYFIFO
/home/anna/Desktop/bpftrace/pipe/fifoserver.out 7 MYFIFO
/home/anna/Desktop/bpftrace/pipe/fifo1.out 3 myfifo2
/home/anna/Desktop/bpftrace/pipe/fifo2.out 3 myfifo2
/home/anna/Desktop/bpftrace/pipe/fifo2.out 3 myfifo2
/home/anna/Desktop/bpftrace/pipe/fifo1.out 3 myfifo2
/home/anna/Desktop/bpftrace/pipe/fifo1.out 3 myfifo2
/home/anna/Desktop/bpftrace/pipe/fifo2.out 3 myfifo2
/home/anna/Desktop/bpftrace/pipe/fifo2.out 3 myfifo2
/home/anna/Desktop/bpftrace/pipe/fifo1.out 3 myfifo2
/home/anna/Desktop/bpftrace/pipe/fifo1.out 3 myfifo2
/home/anna/Desktop/bpftrace/pipe/fifo2.out 3 myfifo2
/home/anna/Desktop/bpftrace/pipe/fifo2.out 3 myfifo2
/home/anna/Desktop/bpftrace/pipe/fifo1.out 3 myfifo2
/home/anna/Desktop/bpftrace/pipe/fifo1.out 3 myfifo2

Пример вывода скрипта semaphores.bt:

Attaching 5 probes...

/home/anna/Desktop/bpftrace/IPC/semtest 18446744073709551615 2 
/home/anna/Desktop/bpftrace/IPC/semtest 18446744073709551615 2 
/home/anna/Desktop/bpftrace/IPC/semtest 18446744073709551615 2 
/home/anna/Desktop/bpftrace/IPC/semtest 18446744073709551615 2 
/home/anna/Desktop/bpftrace/IPC/semtest 18446744073709551615 2 
/home/anna/Desktop/bpftrace/IPC/semtest 18446744073709551615 2 
/home/anna/Desktop/bpftrace/IPC/semtest 18446744073709551615 2 
/home/anna/Desktop/bpftrace/IPC/semtest 18446744073709551615 2 
/home/anna/Desktop/bpftrace/IPC/semtest 18446744073709551615 2 
/home/anna/Desktop/bpftrace/IPC/semtest 18446744073709551615 2 
/home/anna/Desktop/bpftrace/IPC/semtest 18446744073709551615 2 
/home/anna/Desktop/bpftrace/IPC/semtest 18446744073709551615 2 
/home/anna/Desktop/bpftrace/IPC/semtest 18446744073709551615 2 
/home/anna/Desktop/bpftrace/IPC/semtest 18446744073709551615 2 
/home/anna/Desktop/bpftrace/IPC/semtest 18446744073709551615 2 
/home/anna/Desktop/bpftrace/IPC/semtest 18446744073709551615 2 
/home/anna/Desktop/bpftrace/IPC/semtest 18446744073709551615 2

Пример вывода скрипта sharedMem.bt:

Attaching 7 probes...

/home/anna/Desktop/bpftrace/IPC/shmwrite ffffffff 3080239 systemV
/home/anna/Desktop/bpftrace/IPC/shmread ffffffff 3080239 systemV
/home/anna/Desktop/bpftrace/IPC/producer 3 posix 
/home/anna/Desktop/bpftrace/shm_open/producer 3 posix 
/snapshot/usr/bin/X 61 posix 
/home/anna/Desktop/bpftrace/shm_open/producer 3 posix 
/home/anna/Desktop/bpftrace/shm_open/producer 3 posix 
/home/anna/Desktop/bpftrace/IPC/producer 3 posix 
/snapshot/usr/bin/X 61 posix

Пример вывода скрипта fsorw.bt:

Attaching 51 probes...

/snapshot/usr/bin/bpftrace 102 720
/kernel/debug/tracing/events/syscalls/sys_exit_readv/id 4 0
/snapshot/usr/bin/bpftrace 104 716
/kernel/debug/tracing/events/syscalls/sys_exit_preadv/id 4 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/snapshot/usr/bin/bpftrace 106 726
/kernel/debug/tracing/events/syscalls/sys_exit_write/id 4 0
/snapshot/usr/bin/plasmashell -1 / 0 8
/snapshot/usr/bin/bpftrace 108 718
/kernel/debug/tracing/events/syscalls/sys_exit_writev/id 4 0
/snapshot/usr/bin/bpftrace 110 712
/kernel/debug/tracing/events/syscalls/sys_exit_pwritev/id 4 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/snapshot/usr/bin/plasmashell -1 /usr/share/icons/breeze/apps/32/l10n 0 8
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/home/anna/Desktop/bpftrace/pipe/fifoserver.out 3 /lib64/libc.so.6 832 0
/snapshot/usr/bin/plasmashell -1 / 8 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/home/anna/Desktop/bpftrace/pipe/fifoclient.out 3 /lib64/libc.so.6 832 0
/home/anna/Desktop/bpftrace/pipe/fifoclient.out 3 MYFIFO 0 14
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/home/anna/Desktop/bpftrace/pipe/fifoserver.out 3 MYFIFO 4 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/snapshot/usr/bin/plasmashell -1 / 8 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/home/anna/Desktop/bpftrace/pipe/fifoserver.out 4 MYFIFO 3 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/home/anna/Desktop/bpftrace/pipe/fifoserver.out 5 MYFIFO 3 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/snapshot/usr/bin/plasmashell -1 / 8 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/home/anna/Desktop/bpftrace/IPC/shmcreate 3 /lib64/libc.so.6 832 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/snapshot/usr/bin/bash 3  0 5
/home/anna/Desktop/bpftrace/IPC/shmwrite 3 /lib64/libc.so.6 832 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/snapshot/usr/bin/VBoxClient 8 /run/user/1000/xauth_BkPaXD 111 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/home/anna/Desktop/bpftrace/IPC/shmread 3 /lib64/libc.so.6 832 0
/snapshot/usr/bin/X 64 /usr/bin/VBoxClient 31 0
/snapshot/usr/bin/bash 3  0 3
/home/anna/Desktop/bpftrace/IPC/shmrmid 3 /lib64/libc.so.6 832 0