Анонсирован (http://draios.com/announcing-sysdig/) первый выпуск sysdig (http://www.sysdig.org/), нового инструмента для диагностики проблем и изучения особенностей работы системы. Sysdig позволяет сохранить дамп активности системы за определённый промежуток времени, а затем на основании этого дампа детально проанализировать активность в системе, включая данные о системных вызовах, сетевых соединения, открытых файлах и т.п. Код проекта написан на языках Си и Си++ и распространяется (https://github.com/draios/sysdig) под лицензией GPLv2.
Работа с программой напоминает расширенное использование инструментов strace, tcpdump и lsof, позволяющее связать данные о трафике, процессах, системных вызовах, файлах и пользователях. Для сбора данных о событиях в системе используется специальный модуль для ядра Linux, а также библиотеки libsinsp и libscap. Поддерживается задание гибких фильтров для отсеивания лишних данных и возможность создавать достаточно сложные правила выборки. Для определения расширенной логики выборки данных предоставляются средства для подключения скриптов на языке Lua.Из примеров типовых сценариев (https://github.com/draios/sysdig/wiki/Sysdig%20Examples) использования sysdig можно отметить вывод деталей о входящих сетевых соединениях и связанных с ними процессах, определение работа с какими файлами приводит к наибольшей нагрузке на систему ввода/вывода, отображение деталей о трафике в привязке к процессу, отслеживание открытия файлов в указанной директории, просмотр списка файлов и директорий к которым обращался пользователь, изучение активности процесса, вывод системных вызовов/файлов/сетевых соединений, работа с которыми завершилась ошибкой и т.п.
Для реализации на базе sysdig более сложных сценариев доступна большая коллекция (https://github.com/draios/sysdig/tree/master/userspace/sysdi...) вспомогательных Lua-скриптов, в которой можно найти от реализаций систем монторинга трафика и отслеживания действий пользователя до скриптов для выявления конкретных проблем и специализированных генераторов отчётов в стиле утилиты top.
<font color="#461b7e">
sysdig -ctopprocs_netBytes Process
------------------------------
3.59KB wget
2.50KB httpd
1.94KB dropbox
<font color="#461b7e">
URL: http://draios.com/announcing-sysdig/
Новость: http://www.opennet.me/opennews/art.shtml?num=39492
Интересная штука, посмотрим как она себя покажет
==== Building LuaJIT 2.0.2 ====
HOSTCC host/minilua.o
...Маньяки!
--- мазафака
ld: lj_err_dyn.o: relocation R_X86_64_TPOFF32 against `static_uex' can not be used
when making a shared object; recompile with -fPIC
lj_err_dyn.o: could not read symbols: Bad value---
А чёй-то я не вкурил, F_GETLK64 - это 12-й fcntl, 17-й - это F_GETOWNER_UIDS
./flags_table.c: {"F_GETLK64", 17},
./ppm_events_public.h:#define PPM_FCNTL_F_GETLK64 17
./ppm_fillers.c: case F_GETLK64:
./ppm_fillers.c: return PPM_FCNTL_F_GETLK64;
Короча, под 32-бита вся софтина заточена.
diff --git a/driver/ppm_fillers.c b/driver/ppm_fillers.c
index 8717786..2220032 100644
--- a/driver/ppm_fillers.c
+++ b/driver/ppm_fillers.c
@@ -3085,12 +3085,14 @@ static inline u8 fcntl_cmd_to_scap(unsigned long cmd)
return PPM_FCNTL_F_SETSIG;
case F_GETSIG:
return PPM_FCNTL_F_GETSIG;
+#ifndef CONFIG_64BIT
case F_GETLK64:
return PPM_FCNTL_F_GETLK64;
case F_SETLK64:
return PPM_FCNTL_F_SETLK64;
case F_SETLKW64:
return PPM_FCNTL_F_SETLKW64;
+#endif
case F_SETOWN_EX:
return PPM_FCNTL_F_SETOWN_EX;
case F_GETOWN_EX:Ой, извиняйте, там же Фидорас,... обидел юродивого.
Короча, очередная ху...ета по перехвату syscall и парсинга всего этого дела.
Ах да, без CONFIG_TRACEPOINTS не работает!!! А трассировка сискалов на сервере,
где эта приблуда нужна,... ну да, наверно это круто :)
Проект только родился, подождите лет 5 хотя бы.
...а там либо ишак сдохнет, либ.. wait, oh shi--
> подождите лет 5 хотя бы.Спокуха, разгребли... Чувак грамотный, сам нашёл ядрёный хедер и проверил :)
Всем делать git pull !!!
W00t, спасибо тебе каркуша, наконец то ты чем-то полезным занялся. Это ж ты чувака пнул? :)
Не пнёшь - не покатится!
Он был уверен, что все работает и везде проверил, а тут пришёл я и насрал в карму. :)
> Не пнёшь - не покатится!Спасибо за то что есть и пинаешься! :)
> и насpaл в карму. :)
Все правильно сделал! :)
> Ах да, без CONFIG_TRACEPOINTS не работает!!! А трассировка сискалов на сервере,
> где эта приблуда нужна,... ну да, наверно это круто :)Погоди, ты хотел делать трассировку без поддержки трассировки? Здорово придумано :).
Я за юзерспейсные методы слежения, через LD_PRELOAD например иль песочницу.
Если делать полноценную систему контроля и аудита это назовут Kaspersky Security.
А какой оверхед от каспера знают все.На девелоперской машине (мож на не нагруженных воркстейшонах) хоть пошаговая отладка,
а на боевых серверах стрёмно, - ядро с трейспоинтами иль ftrace ... брррр.
> Я за юзерспейсные методы слежения, через LD_PRELOAD например иль песочницу.Ну да, упомянутая конструкция забуксует при нужде например отследить нечто на шареде или впске, что иногда тоже было бы кстати.
> Если делать полноценную систему контроля и аудита это назовут Kaspersky Security.
> А какой оверхед от каспера знают все.Что-то не помню чтобы каспер "продвинутый трассир с сборщиком статистики" выпускал. Его секурити - что угодно, только не...
> а на боевых серверах стрёмно, - ядро с трейспоинтами иль ftrace ... брррр.
Эта штука для случаев когда тебя уже настолько задолбала какая-то проблема, что лучше так чем как-то еще :).
>а на боевых серверах стрёмноА это смотря как делать. С DTrace на Solaris почему-то никому не было никогда стремно.
> С DTrace на Solaris почему-то никому не было никогда стремно.Так они и ФС без fsck не боялись юзать. И зависимости от 1 вендора не боялись. А потом пришел оракл и прихлопнул весь этот блошатник своим тапком.
Дело совсем не в отчаянности пользователей Соляриса, как вы это пытаетесь представить.>In the past seven years, I’ve used DTrace in production thousands of times, on hundreds of different systems. It’s running continuously, in production, to monitor every system in the new Joyent datacenters. It can also be configured to run continuously to monitor Oracle’s ZFS Storage Appliance. I’ve never known it to cause system crashes or hangs.
>DTrace’s safety record was a product of the kernel engineering culture at Sun Microsystems, and of Bryan Cantrill: father of Dynamic Tracing and DTrace. Bryan wrote about DTrace Safety in 2005, explaining the risks and principle of production safety very clearly:
> DTrace must not be able to accidentally induce system failure. It is our strict adherence to this principle that allows DTrace to be used with confidence on production systems.
а че это я...
/fixed
О, наконец от интересный системный тул, а не очередной высep от бидонистов и прочих скрипткидисов.
Там и интересней есть примеры, типа
See the files where apache spent most timesysdig -c topfiles_time proc.name=httpd
Show the directories that the user "root" visits
sysdig -p"%evt.arg.path" "evt.type=chdir and user.name=root"
Интересная штука.
Будет классно, если ей можно будет заменить strace+lsof+/proc.P.S. радует рекомендуемый способ установки
curl -s https://s3.amazonaws.com/download.draios.com/stable/install-... | sudo bash
Кого радует, а кого печалит.
> Будет классно, если ей можно будет заменить strace+lsof+/proc.Ей много чего можно заменить. Как минимум top + netstat + lsof + что-нибудь еще.
> P.S. радует рекомендуемый способ установки
Ага, замечательно. Пакетные менеджеры? Не, не слышали!
>> Будет классно, если ей можно будет заменить strace+lsof+/proc.
> Ей много чего можно заменить. Как минимум top + netstat + lsof
> + что-нибудь еще.
>> P.S. радует рекомендуемый способ установки
> Ага, замечательно. Пакетные менеджеры? Не, не слышали!Загляни-ка во внутрь скрипта.
> Загляни-ка во внутрь скрипта.Тут пробегал очень простой способ распространения бекдора веб сервером.
В кроне раз в N минут стоит скрипт, который меняет index файл на файл с бекдором.
А потом быстро возвращает исходный файл.
Вот поломают этих ребят и положат по этому пути файл с echo 'rm -rf /*'...
echo '...' | sudo bash
Ну вы поняли.Просто ещё предлагают не сохранить на диск, а сразу выполнить.
Что именно было по тому url'у в тот момент...
Может быть весело, если там просто 40х, 50х ошибка с кучей стилей.
В ubuntu есть штука "отправлять дополнительные сведения" в canonical.
Я Canonical доверяю, поэтому отправляю. Им нужны статистики, железо, отзывы.
А вот MS не доверяю, поэтому им ничего не отправляю.
> В ubuntu есть штука "отправлять дополнительные сведения" в canonical.Круто, но упомянутую утилю это не заменяет. Да и отправлять потенциально чувствительные сведения хзкому тоже затея на любителя.
Что за фигня? При сборке luajit случается какая-то форкбомба прямо, 5000 процессов - это лихо. Что за шит с luajit?
> Что за фигня? При сборке luajit случается какая-то форкбомба прямо, 5000 процессов
> - это лихо. Что за шит с luajit?Понятно, cmakes strikes back - система сборки настолько горбатая, что шаг в сторону от RTFMника - и все ломается КЕМ. Люблю cmake - всегда с ним какое-нибудь гэ случается.
так там ещё и цмак? ясно, эту дрянь использовать не надо, авторы в глухом неадеквате.