CSYSDIG(8) راهنمای مدیر سیستم CSYSDIG(8)

csysdig - رابط کاربری تعاملی ncurses برای sysdig

csysdig [گزینه]... [فیلتر]

دستور csysdig قابلیت‌های sysdig را از طریق یک رابط کاربری ساده، شهودی و قدرتمند مبتنی بر ncurses ارائه می‌دهد.

ابزار csysdig برای شبیه‌سازی و کارکردی مشابه با ابزارهایی مانند top و htop طراحی شده است، اما امکانات و قابلیت‌های غنی‌تری ارائه می‌دهد، از جمله:

  • پشتیبانی از هر دو حالت تحلیل زنده سیستم و فایل‌های ردگیری (trace files) ابزار sysdig. فایل‌های ردگیری می‌توانند مربوط به همان ماشین یا ماشینی دیگر باشند.
  • دیده‌پذیری و نظارت بر طیف گسترده‌ای از معیارها، از جمله پردازنده (CPU)، حافظه، ورودی/خروجی (I/O) دیسک و ورودی/خروجی شبکه.
  • قابلیت مشاهده فعالیت‌های ورودی/خروجی برای فرآیندها، فایل‌ها، اتصالات شبکه و موارد دیگر.
  • قابلیت کاوش دقیق‌تر (drill down) در فرآیندها، فایل‌ها، اتصالات شبکه و موارد دیگر جهت بررسی و تحلیل عمیق‌تر رفتار آن‌ها.
  • پشتیبانی کامل از شخصی‌سازی و سفارشی‌سازی.
  • پشتیبانی از زبان قدرتمند فیلترسازی sysdig.
  • پشتیبانی ذاتی و ساختاری از کانتینرها.

ابزار csysdig روی هر ترمینالی اجرا می‌شود و از رنگ‌ها و ورودی ماوس پشتیبانی می‌کند.

نماها (Views)

ابزار csysdig بر پایه مفهوم «نماها» (Views) بنا شده است؛ اسکریپت‌های کوچک به زبان Lua که نحوه جمع‌آوری، پردازش و نمایش معیارها را بر روی صفحه تعیین می‌کنند. افزودن یک مصورسازی جدید به csysdig نیازی به به‌روزرسانی یا کامپایل مجدد برنامه ندارد و تنها با افزودن یک نمای جدید انجام می‌شود. نماها به موتور پردازشی sysdig متکی هستند و این بدان معناست که می‌توانند شامل هر فیلد فیلتر دلخواه در sysdig باشند. نماها در مسیر دایرکتوری chiselهای sysdig قرار دارند، که معمولاً /usr/share/sysdig/chisels و ~/.chisels است.

در اینجا چند نکته اساسی برای شروع کار با csysdig آمده است:

1.
اگر csysdig را بدون آرگومان اجرا کنید، داده‌های زنده سیستم را نمایش می‌دهد و هر ۲ ثانیه یک‌بار به‌روزرسانی می‌شود. برای تحلیل یک فایل ردگیری، از گزینه خط فرمان -r استفاده کنید.
2.
می‌توانید با استفاده از کلید F2 به یک نمای دیگر جابه‌جا شوید.
3.
می‌توانید با فشردن کلید Enter به درون یک مورد انتخابی به کاوش دقیق‌تر بپردازید (drill down). می‌توانید با فشردن کلید Backspace به نمای قبلی بازگردید.
4.
می‌توانید با فشردن کلید F5 ورودی/خروجی مربوط به موجودیت انتخاب‌شده فعلی را مشاهده کنید.
5.
می‌توانید با فشردن کلید F6 رویدادهای sysdig را برای موجودیت انتخاب‌شده فعلی مشاهده کنید.

شما با انتخاب یک عنصر در یک نما و سپس فشردن کلید Enter به کاوش دقیق‌تر می‌پردازید. پس از ورود به یک مورد انتخابی، می‌توانید به نمای دیگری بروید و نمای جدید در زمینه (context) همان مورد انتخاب‌شده اعمال خواهد شد. برای مثال، اگر به درون فرآیندی به نام foo کاوش کنید و سپس به نمای Connections بروید، خروجی تنها شامل اتصالاتی خواهد بود که توسط foo ایجاد شده یا دریافت شده‌اند.

برای کاوش‌های متوالی چندمرحله‌ای، کلید Enter را مکرراً فشار دهید. برای نمونه، می‌توانید در نمای Containers روی یک کانتینر کلیک کنید تا فرآیندهای در حال اجرا درون آن را مشاهده کنید، و سپس روی یکی از آن فرآیندها کلیک کنید تا رشته‌های (threads) مربوط به آن را ببینید.

هر نما دارای فهرستی از خطوط فرمان است که می‌توان آن‌ها را در زمینه مورد انتخاب‌شده فعلی با فشردن «کلیدهای میانبر» اجرا کرد. برای مثال، فشردن 'k' در نمای فرآیندها (Processes) فرآیند انتخاب‌شده را خاتمه می‌دهد (kill می‌کند) و فشردن 'b' در نمای کانتینرها (Containers) یک پوسته تعاملی bash را درون کانتینر انتخاب‌شده باز می‌کند.

هر نما از اقدامات متفاوتی پشتیبانی می‌کند. می‌توانید با فشردن کلید F8 مشاهده کنید که یک نما از چه اقداماتی پشتیبانی می‌کند. می‌توانید با ویرایش فایل Lua مربوط به هر نما، اقدامات آن نما را سفارشی‌سازی کنید.

راه‌اندازی csysdig با سوییچ خط فرمان -pc موجب می‌شود بسیاری از نماها اطلاعات کانتینری تکمیلی را شامل شوند. برای مثال، نمای Processes شامل ستونی خواهد بود که نشان می‌دهد فرآیند به کدام کانتینر تعلق دارد. به طور مشابه، نمای Connections نشان می‌دهد که هر اتصال متعلق به کدام کانتینر است.

Arrows, PgUP, PgDn, Home, End

تغییر مورد انتخابی و پیمایش محتوای نما، به دو صورت عمودی و افقی.

Enter

کاوش دقیق‌تر در مورد هایلایت‌شده فعلی.

Backspace

بازگشت به نمای قبلی.

F2

نمایش پنجره انتخاب نما (View picker). این پنجره امکان جابه‌جایی به نمایی دیگر را برای شما فراهم می‌کند.

CTRL+F /

جستجوی تدریجی در فهرست موارد موجود در نما.

F4

فیلتر کردن تدریجی موارد نما.

F5, e

دستور 'echo FDs' برای مورد انتخابی؛ یعنی مشاهده ورودی/خروجی توصیف‌کننده فایل (FD) برای مورد هایلایت‌شده فعلی.

F6, d

دستور 'dig' در مورد انتخابی؛ یعنی مشاهده رویدادهای sysdig برای مورد هایلایت‌شده فعلی. برای آشنایی با نحوه تفسیر محتوای این پنجره، به صفحه راهنمای sysdig مراجعه کنید.

F7

نمایش صفحه راهنما برای نمای در حال نمایش.

F8

باز کردن پنل اقدامات نما.

F9, >

باز کردن پنل مرتب‌سازی ستون‌ها.

F10, q

خروج از برنامه.

DEL, c

برای نماهایی که عناصر را بدون تجمیع بر اساس کلید فهرست می‌کنند (که با سرستون‌های زرد رنگ مشخص می‌شوند)، این دستور محتوای نما را پاک می‌کند.

p

توقف موقت به‌روزرسانی‌های صفحه نمایش.

<shift> <1-9>

مرتب‌سازی بر اساس ستون <n>.

F1, h, ?

نمایش صفحه راهنما.

Arrows, PgUP, PgDn, Home, End

پیمایش محتوای صفحه.

Backspace

بازگشت به نمای قبلی.

CTRL+F /

جستجو در محتوای پنجره.

F3

یافتن مورد بعدی (Find Next).

F2

انتخاب قالب رندر خروجی. گزینه‌ها عبارتند از 'Dotted ASCII' (بایت‌های باینری غیرقابل چاپ به صورت نقطه نمایش داده می‌شوند)، 'Printable ASCII' (بایت‌های باینری غیرقابل چاپ گنجانده نمی‌شوند و انتهای خطوط به دقت نمایش داده می‌شوند) و 'Hex' (نمایش اسکی نقطه‌دار همراه با نمایش هگزادسیمال بافرها گنجانده می‌شود).

DEL, c

پاک کردن محتوای صفحه نمایش.

p

توقف موقت به‌روزرسانی‌های صفحه نمایش.

CTRL+G

رفتن به سطر مشخص.

F2

نمایش پنجره انتخاب نما. این پنجره امکان جابه‌جایی به نمایی دیگر را برای شما فراهم می‌کند.

p

توقف موقت یا ازسرگیری مصورسازی.

Backspace

بازگشت به نمای قبلی.

  • کلیک روی سرستون‌ها امکان مرتب‌سازی جدول را به شما می‌دهد.
  • دوبار کلیک روی ردیف‌ها عملیات کاوش دقیق‌تر (drill down) را انجام می‌دهد.
  • کلیک روی رشته فیلتر در بالای صفحه (متن بعد از 'Filter:') به شما امکان می‌دهد فیلتر sysdig را تغییر داده و محتوای نما را شخصی‌سازی کنید.
  • می‌توانید با کلیک ماوس روی گزینه‌های منو در پایین صفحه، اقدامات مربوط به هر یک را اجرا کنید.

-d period, --delay=period

تنظیم فاصله زمانی میان به‌روزرسانی‌ها به میلی‌ثانیه (مقدار پیش‌فرض = ۲۰۰۰). عملکرد این گزینه مشابه با گزینه -d در ابزار top است.

-E, --exclude-users

هنگام آغاز به کار sysdig، از ایجاد جداول کاربر/گروه با استعلام از سیستم‌عامل خودداری می‌کند. این همچنین به این معناست که هیچ اطلاعات کاربر یا گروهی با فلگ -w در فایل ردگیری ذخیره نخواهد شد. جداول کاربر/گروه برای استفاده از فیلدهای فیلترسازی مانند user.name یا group.name لازم هستند. با این وجود، ایجاد این جداول ممکن است زمان راه‌اندازی اولیه sysdig را افزایش دهد.

--force-term-compat

تلاش برای اعمال تنظیمات ساده ترمینال (xterm-1002) که با نرم‌افزارهایی مانند PuTTY سازگاری بهتری دارند. اگر با مشکلات ترمینال از جمله عدم کارکرد صحیح ماوس مواجه شدید، از این فلگ استفاده کنید.

-h, --help

چاپ این صفحه راهنما.

-k, --k8s-api

فعال‌سازی پشتیبانی از کوبرنتیز (Kubernetes) از طریق اتصال به سرور API که به عنوان آرگومان مشخص شده است. به عنوان مثال: "http://admin:password@127.0.0.1:8080". همچنین می‌توان سرور API را از طریق متغیر محیطی SYSDIG_K8S_API مشخص کرد.

-K btfile | certfile:keyfile[#password][:cacertfile], --k8s-api-cert=btfile | certfile:keyfile[#password][:cacertfile]

استفاده از نام فایل‌های ارائه‌شده برای احراز هویت کاربر و (به صورت اختیاری) تأیید هویت سرور API کوبرنتیز. هر مدخل باید مسیر کامل (مطلق، یا نسبی نسبت به دایرکتوری جاری) به فایل مربوطه را مشخص کند. رمز عبور کلید خصوصی اختیاری است (تنها در صورتی که کلید با رمز محافظت شده باشد لازم است). گواهی CA اختیاری است. برای تمام فایل‌ها، تنها قالب فایل PEM پشتیبانی می‌شود. مشخص کردن گواهی CA به تنهایی منسوخ شده است - اگر یک ورودی منفرد برای این گزینه داده شود، به عنوان نام فایل حاوی توکن حامل (bearer token) تفسیر خواهد شد. توجه داشته باشید که قالب این گزینه خط فرمان، استفاده از نام فایل‌هایی را که شامل نویسه‌های ':' یا '#' باشند ممنوع می‌سازد. این گزینه را می‌توان از طریق متغیر محیطی SYSDIG_K8S_API_CERT نیز مشخص نمود.

-l, --list

فهرست کردن تمام فیلدهایی که امکان استفاده از آن‌ها در نماها وجود دارد.

--logfile file

ذخیره و چاپ گزارش‌های لاگ برنامه در فایل مشخص‌شده.

-m url[,marathon-url], --mesos-api=url[,marathon-url]

فعال‌سازی پشتیبانی از Mesos از طریق اتصال به سرور API ارائه‌شده به عنوان آرگومان (مانند http://admin:password@127.0.0.1:5050). آدرس URL مربوط به Mesos الزامی است. آدرس Marathon اختیاری است و به طور پیش‌فرض روی دنبال کردن خودکار (auto-follow) تنظیم است - اگر سرور API مربوط به Marathon مشخص نشود، csysdig سعی می‌کند نشانی سرور API ماراتن را از سرور مستر Mesos استعلام کند (و در صورت جابه‌جایی، متعاقباً آن را دنبال کند). توجه داشته باشید که با فعال بودن auto-follow، ابزار csysdig به احتمال زیاد آدرس IP داخلی کلاستر را برای سرور API ماراتن دریافت می‌کند، بنابراین اجرای csysdig با قابلیت auto-follow ماراتن از گرهی که عضوی از کلاستر Mesos نیست ممکن است به درستی کار نکند. علاوه بر این، اجرای csysdig با پشتیبانی Mesos روی گرهی که فاقد هرگونه کانتینر مدیریت‌شده با Mesos است فایده چندانی ندارد، زیرا اگرچه متادیتای کلاستر گردآوری می‌شود، اما امکان فیلترسازی بر اساس Mesos/Marathon در دسترس نخواهد بود. سرورهای API را می‌توان از طریق متغیر محیطی SYSDIG_MESOS_API نیز تعیین کرد.

-n num, --numevents=num

توقف ضبط رویدادها پس از ثبت num رویداد.

--page-faults

ثبت نقص‌های صفحه (page faults) عمده و جزئی در فضای کاربری و هسته.

-pc, -pcontainers

دستور به csysdig برای به‌کارگیری قالبی سازگار با کانتینرها در نماهای خود. این امر موجب می‌شود چندین نما شامل ستون‌های تکمیلی مرتبط با کانتینر شوند.

-R, --resolve-ports

تبدیل شماره درگاه‌ها (پورت‌ها) به نام خدمات متناظر.

-r readfile, --read=readfile

خواندن رویدادها از فایل readfile.

-s len, --snaplen=len

ضبط اولین len بایت از هر بافر ورودی/خروجی (I/O). به طور پیش‌فرض، ۸۰ بایت نخست ضبط می‌شود. از این گزینه با احتیاط استفاده کنید، زیرا می‌تواند فایل‌های ردگیری بسیار حجیمی تولید کند.

-T, --force-tracers-capture

دستور به درایور جهت اطمینان از ضبط بافرهای کامل از مسیر dev/null/، به منظور اطمینان از ثبت کامل ردیاب‌ها (tracers). توجه داشته باشید که sysdig پس از تشخیص اینکه ردیاب‌ها در آن مسیر نوشته می‌شوند، قابلیت ضبط گسترش‌یافته dev/null/ را خودبه‌خود فعال می‌کند، اما این امر ممکن است سبب بریده شدن (truncation) برخی ردیاب‌ها در ابتدای عملیات ضبط شود. این گزینه مانع از بروز این مشکل می‌شود.

-v view_id, --views=view_id

اجرای نمای دارای شناسه (ID) داده‌شده هنگام شروع برنامه csysdig. شناسه‌های نماها را می‌توان در صفحات مستندات نما در csysdig یافت. ترکیب این گزینه با یک فیلتر خط فرمان، امکان شخصی‌سازی کامل خروجی را فراهم می‌سازد.

--version

چاپ شماره نسخه برنامه.

مشابه کاری که با sysdig انجام می‌دهید، می‌توانید فیلتری را در خط فرمان مشخص کنید تا رویدادهایی که csysdig پردازش می‌کند محدود شوند. جهت ویرایش فیلتر در حین اجرای برنامه یا افزودن فیلتر در زمان اجرا، با ماوس روی متن فیلتر در رابط کاربری کلیک کنید.

ابزار csysdig کاملاً قابل تنظیم و شخصی‌سازی است. این بدان معناست که می‌توانید هر یک از نماهای csysdig را تغییر داده و حتی نماهای اختصاصی خود را بسازید. مشابه چیسل‌های sysdig، نماهای csysdig اسکریپت‌های Lua هستند. اطلاعات تکمیلی را می‌توانید در صفحه ویکی گیت‌هاب زیر بیابید: https://github.com/draios/sysdig/wiki/csysdig-View-Format-Reference.

/usr/share/sysdig/chisels

دایرکتوری سراسری نماها در سیستم.

~/.chisels

دایرکتوری شخصی کاربر برای نماها.

Draios Inc. (dba Sysdig) info@sysdig.com

sysdig(8), strace(8), tcpdump(8), lsof(8)

sysdig