سيسديج هو أداة مراقبة وتشخيص النظام مفتوحة المصدر وعابرة المنصات وقوية ومرنة لنظام Linux. كما أنها تعمل على نظامي التشغيل Windows و Mac OSX ولكن بوظائف محدودة يمكن استخدامها لتحليل النظام وتفتيشه وتصحيح الأخطاء.
عادة ما تستخدم مزيجًا من مختلف أدوات مراقبة وتشخيص أداء Linux بما فيها تلك المدرجة أدناه لأداء مهام مراقبة وتصحيح أخطاء Linux:
- strace – اكتشاف مكالمات النظام والإشارات إلى عملية.
- tcpdump – مراقبة حركة المرور الشبكية الخام.
- netstat – مراقبة اتصالات الشبكة.
- htop – مراقبة العمليات في الوقت الحقيقي.
- iftop – مراقبة عرض النطاق الترددي في الوقت الحقيقي.
- lsof – عرض الملفات التي تم فتحها بواسطة أي عملية.
ومع ذلك، يدمج سيسديغ كل الأدوات أعلاه والعديد من غيرها في برنامج واحد وبسيط، كما يدعم دعمًا مذهلاً للحاويات. يمكنك التقاط، وحفظ، وتصفية، واستكشاف السلوك الحقيقي (تيار الأحداث) لأنظمة Linux وكذلك الحاويات.
يأتي مع واجهة سطر أوامر وواجهة مستخدم تفاعلية قوية (سيسديغ) تتيح لك مراقبة نشاط النظام في الوقت الحقيقي، أو إجراء تفريغ للتتبع وحفظه للتحليل لاحقًا. يمكنك مشاهدة كيفية عمل سيسديغ من الفيديو أدناه.
ميزات سيسديغ:
- سريع ومستقر وسهل الاستخدام مع وثائق شاملة.
- يأتي مع دعم أصلي لتقنيات الحاويات، بما في ذلك Docker و LXC.
- يمكن تنفيذ البرنامج بلغة البرمجة لوا؛ يوفر مطارق (نصوص خفيفة الوزن بلغة لوا) لمعالجة الأحداث الملتقطة.
- يدعم تصفية مخرجات مفيدة.
- دعم لتتبع النظام والتطبيقات.
- يمكن دمجه مع Ansible و Puppet و Logstash.
- يمكن تمكين تحليل سجلات متقدم.
- يوفر أيضًا ميزات تحليل هجمات خوادم Linux (التحليل الجنائي) للهاكرز الأخلاقيين والمزيد من الميزات.
في هذا المقال، سنريك كيفية تثبيت سيسديغ على نظام Linux واستخدامه مع أمثلة أساسية لتحليل النظام ومراقبته وحل المشاكل.
كيفية تثبيت سيسديغ في Linux
تثبيت حزمة sysdig سهل كتشغيل الأمر أدناه، الذي سيتحقق من جميع المتطلبات؛ إذا كان كل شيء في مكانه، سيقوم بتنزيل وتثبيت الحزمة من مستودع Draios APT/YUM.
# curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | bash OR $ curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash
بعد تثبيته، تحتاج إلى تشغيل sysdig كمستخدم root لأنه يتطلب الوصول إلى المناطق الحرجة مثل نظام الملفات /proc، أجهزة /dev/sysdig* ويحتاج إلى تحميل تلقائي لوحدة النواة sysdig-probe (في حالة عدم وجودها)؛ وإلا استخدم الأمر sudo.
أبسط مثال هو تشغيله بدون أي وسيطات، وهذا سيمكنك من عرض تيار الأحداث في نظام Linux الخاص بك بشكل محدث في الوقت الحقيقي:
$ sudo sysdig

الإخراج أعلاه (البيانات الخام) قد لا يكون منطقيًا بالنسبة لك، للحصول على إخراج أكثر فائدة قم بتشغيل csysdig:
$ sudo csysdig

ملاحظة: للحصول على تجربة حقيقية لهذه الأداة، تحتاج إلى استخدام sysdig الذي ينتج البيانات الخام كما رأينا من قبل، من نظام Linux الجاري: وهذا يتطلب منك فهم كيفية استخدام المرشحات والأدوات.
ولكن إذا كنت بحاجة إلى وسيلة بدون ألم لاستخدام sysdig – استمر مع csysdig.
فهم أدوات Sysdig Chisels والمرشحات
أدوات Sysdig Chisels هي نصوص Lua البسيطة لفحص تيار الأحداث sysdig لتنفيذ إجراءات تحليل النظام المفيدة وأكثر. الأمر أدناه سيساعدك في عرض جميع الأدوات المتاحة:
$ sudo sysdig -cl
يُظهر لقطة الشاشة قائمة عينية للمناشير تحت فئات مختلفة.

إذا كنت ترغب في معرفة مزيد من المعلومات حول منشار معين، استخدم العلم -i
:
$ sudo sysdig -i topprocs_cpu

تضيف عوامل تصفية Sysdig المزيد من القوة إلى نوع الإخراج الذي يمكنك الحصول عليه من تيارات الأحداث، حيث تتيح لك تخصيص الإخراج. يجب عليك تحديدها في نهاية سطر الأمر.
A straightforward and commonest filter is a basic “class.field=value” check, you can also combine chisels with filters for even more powerful customizations.
لعرض قائمة بفئات الحقول المتاحة، والحقول ووصفها، اكتب:
$ sudo sysdig -l

إنشاء ملف تتبع نظام Linux
لتفريغ إخراج sysdig في ملف للتحليل لاحقًا، استخدم العلم -w
بهذه الطريقة.
يمكنك قراءة ملف تفريغ التتبع باستخدام العلم -r:
$ sudo sysdig -r trace.scap
يُستخدم الخيار -s
لتحديد كمية البايتات من البيانات التي سيتم التقاطها لكل حدث نظام. في هذا المثال، نحن نقوم بتصفية الأحداث لعملية mongod.
$ sudo sysdig -s 3000 -w trace.scap $ sudo sysdig -r trace.scap proc.name=mongod

مراقبة عمليات نظام Linux
لعرض عمليات النظام، اكتب:
$ sudo sysdig -c ps

مراقبة العمليات حسب استخدام وحدة المعالجة المركزية
لمراقبة أعلى العمليات حسب نسبة استخدام وحدة المعالجة المركزية، قم بتشغيل هذا الأمر:
$ sudo sysdig -c topprocs_cpu

مراقبة الاتصالات الشبكية وإدخال/إخراج النظام
لعرض اتصالات الشبكة في النظام، قم بتشغيل:
$ sudo sysdig -c netstat

سيساعدك الأمر التالي في عرض أعلى اتصالات الشبكة حسب إجمالي البايتات:
$ sudo sysdig -c topconns
بعد ذلك، يمكنك أيضًا عرض أعلى العمليات حسب إدخال/إخراج الشبكة على النحو التالي:
$ sudo sysdig -c topprocs_net
مراقبة إدخال/إخراج ملفات النظام
يمكنك إخراج البيانات التي تمت قراءتها وكتابتها بواسطة العمليات على النظام على النحو التالي:
$ sudo sysdig -c echo_fds

لعرض أعلى العمليات حسب بايتات القراءة + الكتابة على القرص، استخدم:
$ sudo sysdig -c topprocs_file
حل مشاكل أداء نظام Linux
لمراقبة نقاط الضعف في النظام (المكالمات البطيئة للنظام)، قم بتنفيذ هذا الأمر:
$ sudo sysdig -c bottlenecks

تتبع وقت تنفيذ عملية
لتتبع وقت تنفيذ عملية معينة، يمكنك تشغيل هذا الأمر وتفريغ التتبع في ملف:
$ sudo sysdig -w extime.scap -c proc_exec_time

ثم استخدم عامل تصفية لتحديد تفاصيل عن عملية معينة (postgres في هذا المثال) على النحو التالي:
$ sudo sysdig -r extime.scap proc.name=postgres
اكتشاف بطء إدخال/إخراج الشبكة
سيساعدك هذا الأمر البسيط في اكتشاف بطء إدخال/إخراج الشبكة:
$ sudo sysdig -c netlower
مراقبة إدخالات ملف السجل
يساعدك الأمر أدناه في عرض كل رسالة تم كتابتها في syslog، إذا كنت مهتمًا بإدخالات السجل لعملية معينة، قم بإنشاء تتبع للتتبع وتصفيته وفقًا لذلك كما هو موضح سابقًا:
$ sudo sysdig -c spy_syslog
يمكنك طباعة أي بيانات كتبتها أي عملية إلى ملف سجل على النحو التالي:
$ sudo sysdig -c spy_logs
مراقبة طلبات خادم HTTP
إذا كان لديك خادم HTTP مثل Apache أو Nginx يعمل على نظامنا، انظر إلى سجل طلبات الخادم باستخدام هذا الأمر:
$ sudo sysdig -c httplog $ sudo sysdig -c httptop [Print Top HTTP Requests]

عرض أوامر تسجيل الدخول ونشاط المستخدمين التفاعلي
سيمكنك الأمر أدناه من عرض جميع معرفات القواقل للدخول:
$ sudo sysdig -c list_login_shells
وأخيرًا، يمكنك عرض النشاط التفاعلي لمستخدمي النظام على النحو التالي:
$ sudo sysdig -c spy_users

لمزيد من المعلومات حول الاستخدام والأمثلة، اقرأ صفحات man لـ sysdig و csysdig:
$ man sysdig $ man csysdig
المرجع: https://www.sysdig.org/
كما يمكنك التحقق من هذه الأدوات المفيدة لمراقبة أداء Linux:
- أدوات تتبع BCC الديناميكية لمراقبة أداء Linux والشبكات وأكثر من ذلك
- pyDash – أداة مراقبة أداء Linux عبر الويب
- Perf – أداة مراقبة وتحليل الأداء لنظام Linux
- Collectl: أداة مراقبة أداء متقدمة شاملة لنظام Linux
- Netdata – أداة مراقبة أداء في الوقت الحقيقي لأنظمة Linux
الاستنتاج
تجمع Sysdig بين وظائف العديد من أدوات سطر الأوامر في واجهة واحدة رائعة، مما يتيح لك العمق في أحداث نظام Linux الخاص بك لجمع البيانات، وحفظها للتحليل لاحقًا، وتقديم دعم رائع للحاويات.
لطرح أي أسئلة أو مشاركة أي أفكار حول هذه الأداة، استخدم النموذج أدناه.
Source:
https://www.tecmint.com/sysdig-system-monitoring-and-troubleshooting-tool-for-linux/