Linux Tools: различия между версиями
Материал из noname.com.ua
Перейти к навигацииПерейти к поискуSirmax (обсуждение | вклад) (→ioping) |
Sirmax (обсуждение | вклад) |
||
(не показано 10 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
+ | [[Категория:Linux]] |
||
+ | [[Категория:Полезное]] |
||
+ | [[Категория:Tools]] |
||
+ | [[Категория:Utils]] |
||
=Linux Tools= |
=Linux Tools= |
||
Заметка про разные утилиты про которые часто забываю |
Заметка про разные утилиты про которые часто забываю |
||
Строка 17: | Строка 21: | ||
4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=10 time=2.98 ms |
4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=10 time=2.98 ms |
||
</PRE> |
</PRE> |
||
+ | |||
+ | |||
+ | =<code>nethogs</code>= |
||
+ | Показывает наиболее активные сетевые соединения (примерно как <code>top</code>) |
||
+ | <PRE> |
||
+ | apt install nethogs |
||
+ | </PRE> |
||
+ | |||
+ | =<code>whowatch</code>= |
||
+ | Смотреть дерево процессов по пользователям |
||
+ | |||
+ | =<code>sysdig</code>= |
||
+ | Смотреть что происходит в системе - как <code>strace</code> |
||
+ | <PRE> |
||
+ | # modprobe sysdig-probe |
||
+ | </PRE> |
||
+ | Запуск без параметров - все процессы |
||
+ | <PRE> |
||
+ | 7 14:31:16.643191041 0 sysdig (12362) > switch next=0 pgft_maj=0 pgft_min=1258 vm_size=58812 vm_rss=19932 vm_swap=0 |
||
+ | 8 14:31:16.643824272 0 <NA> (0) > switch next=12362(sysdig) pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0 |
||
+ | 24 14:31:16.644003834 0 sysdig (12362) > switch next=12363(less) pgft_maj=0 pgft_min=1262 vm_size=58812 vm_rss=19932 vm_swap=0 |
||
+ | 25 14:31:16.644010385 0 less (12363) < read res=117 data=7 14:31:16.643191041 0 sysdig (12362) > switch next=0 pgft_maj=0 pgft_min=1258 v |
||
+ | 26 14:31:16.644038715 0 less (12363) > write fd=1(<f>/dev/pts/5) size=117 |
||
+ | 27 14:31:16.644055333 0 less (12363) > switch next=10430 pgft_maj=3 pgft_min=206 vm_size=6576 vm_rss=2348 vm_swap=0 |
||
+ | 28 14:31:16.644065687 0 <NA> (10430) > switch next=9032(mc) pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0 |
||
+ | 29 14:31:16.644075709 0 mc (9032) < pselect6 |
||
+ | 30 14:31:16.644081373 0 mc (9032) > read fd=6(<f>/dev/ptmx) size=128 |
||
+ | </PRE> |
||
+ | |||
+ | * evt.num — номер события; |
||
+ | * evt.time — время события; |
||
+ | * evt.cpu — номер процессора; |
||
+ | * proc.name — имя процесса; |
||
+ | * thread.tid — номер потока; |
||
+ | * evt.dir — направление события (< входящие, > исходящие процессы); |
||
+ | * evt.type — тип события; |
||
+ | * evt.args — аргументы события. |
||
+ | |||
+ | У однопотоковых процессов номер потока (thread.tid) будет такой же как и номер процесса (proc.name). Неотфильтрованный вывод запущенной в работу утилиты имеет следующий формат: |
||
+ | <PRE> |
||
+ | %evt.num %evt.time %evt.cpu %proc.name (%thread.tid) %evt.dir %evt.type %evt.args |
||
+ | </PRE> |
||
+ | |||
+ | Можно фильтровать |
||
+ | <PRE> |
||
+ | sysdig proc.name = nginx and evt.cpu = 0 |
||
+ | </PRE> |
||
+ | Список фильтров: |
||
+ | <PRE> |
||
+ | sysdig -l |
||
+ | </PRE> |
||
+ | фильт по процессу и типу события |
||
+ | <PRE> |
||
+ | sysdig proc.name = nginx and evt.type = write |
||
+ | </pre> |
||
+ | выводить только клиентский IP |
||
+ | <PRE> |
||
+ | sysdig proc.name = nginx -p %fd.cip |
||
+ | 127.0.0.1 |
||
+ | </PRE> |
||
+ | == chisels== |
||
+ | Это готовые скрипты, например |
||
+ | <PRE> |
||
+ | sysdig -c spy_users |
||
+ | 1684 14:40:02 root) ls --color=auto |
||
+ | </PRE> |
||
+ | или |
||
+ | <PRE> |
||
+ | sysdig -c topconns |
||
+ | Bytes Proto Conn |
||
+ | -------------------------------------------------------------------------------- |
||
+ | 304B tcp 192.168.22.253:62068->10.90.1.104:22 |
||
+ | </PRE> |
||
+ | Полный список <code>sysdig -cl</code> |
||
+ | |||
+ | ==<code> csysdig </code>== |
||
+ | <code>csysdig</code> - визуализация в стиле htop |
||
+ | |||
+ | |||
+ | =ip_compact= |
||
+ | Что бы руками не считать сети - https://github.com/x-way/ip_compact |
||
+ | |||
+ | =совместная работа в терминале= |
||
+ | * ttyd |
||
+ | * gotty |
||
+ | * tmate (https://github.com/tmate-io) |
||
+ | |||
+ | =Поиск скрытых процессов и руткитов= |
||
+ | * unhide |
||
+ | * prochunter (git clone https://gitlab.com/nowayout/prochunter.git; make) -- https://sysadmin.pm/prochunter/ |
Текущая версия на 10:35, 18 марта 2024
Linux Tools
Заметка про разные утилиты про которые часто забываю
ioping
ioping /test/vdb/ -c 10 4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=1 time=2.16 ms (warmup) 4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=2 time=3.39 ms 4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=3 time=2.13 ms 4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=4 time=2.48 ms 4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=5 time=1.75 ms 4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=6 time=1.97 ms 4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=7 time=1.76 ms (fast) 4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=8 time=1.79 ms (fast) 4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=9 time=1.97 ms 4 KiB <<< /test/vdb/ (xfs /dev/vdb 25.0 GiB): request=10 time=2.98 ms
nethogs
Показывает наиболее активные сетевые соединения (примерно как top
)
apt install nethogs
whowatch
Смотреть дерево процессов по пользователям
sysdig
Смотреть что происходит в системе - как strace
# modprobe sysdig-probe
Запуск без параметров - все процессы
7 14:31:16.643191041 0 sysdig (12362) > switch next=0 pgft_maj=0 pgft_min=1258 vm_size=58812 vm_rss=19932 vm_swap=0 8 14:31:16.643824272 0 <NA> (0) > switch next=12362(sysdig) pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0 24 14:31:16.644003834 0 sysdig (12362) > switch next=12363(less) pgft_maj=0 pgft_min=1262 vm_size=58812 vm_rss=19932 vm_swap=0 25 14:31:16.644010385 0 less (12363) < read res=117 data=7 14:31:16.643191041 0 sysdig (12362) > switch next=0 pgft_maj=0 pgft_min=1258 v 26 14:31:16.644038715 0 less (12363) > write fd=1(<f>/dev/pts/5) size=117 27 14:31:16.644055333 0 less (12363) > switch next=10430 pgft_maj=3 pgft_min=206 vm_size=6576 vm_rss=2348 vm_swap=0 28 14:31:16.644065687 0 <NA> (10430) > switch next=9032(mc) pgft_maj=0 pgft_min=0 vm_size=0 vm_rss=0 vm_swap=0 29 14:31:16.644075709 0 mc (9032) < pselect6 30 14:31:16.644081373 0 mc (9032) > read fd=6(<f>/dev/ptmx) size=128
- evt.num — номер события;
- evt.time — время события;
- evt.cpu — номер процессора;
- proc.name — имя процесса;
- thread.tid — номер потока;
- evt.dir — направление события (< входящие, > исходящие процессы);
- evt.type — тип события;
- evt.args — аргументы события.
У однопотоковых процессов номер потока (thread.tid) будет такой же как и номер процесса (proc.name). Неотфильтрованный вывод запущенной в работу утилиты имеет следующий формат:
%evt.num %evt.time %evt.cpu %proc.name (%thread.tid) %evt.dir %evt.type %evt.args
Можно фильтровать
sysdig proc.name = nginx and evt.cpu = 0
Список фильтров:
sysdig -l
фильт по процессу и типу события
sysdig proc.name = nginx and evt.type = write
выводить только клиентский IP
sysdig proc.name = nginx -p %fd.cip 127.0.0.1
chisels
Это готовые скрипты, например
sysdig -c spy_users 1684 14:40:02 root) ls --color=auto
или
sysdig -c topconns Bytes Proto Conn -------------------------------------------------------------------------------- 304B tcp 192.168.22.253:62068->10.90.1.104:22
Полный список sysdig -cl
csysdig
csysdig
- визуализация в стиле htop
ip_compact
Что бы руками не считать сети - https://github.com/x-way/ip_compact
совместная работа в терминале
- ttyd
- gotty
- tmate (https://github.com/tmate-io)
Поиск скрытых процессов и руткитов
- unhide
- prochunter (git clone https://gitlab.com/nowayout/prochunter.git; make) -- https://sysadmin.pm/prochunter/