איך להתקין את Sysdig לניטור של מערכת ה-Linux שלך

מערכת הלינוקס שלך היא פלטפורמה מעולה עבור שרתים ושולחנות עבודה. אך כמו כל מערכת מורכבת אחרת, חשוב מאוד להחזיק במעקב נכון כדי לשמור על המערכת שלך בשיאה. למרבה המזל, Sysdig נמצאת ממש כאן!

Sysdig היא כלי מעקב לינוקס מקיף שיכול לעקוב אחר המערכת שלך לאיומים, שגיאות, דפוסי שימוש ועוד רבות. ובמדריך זה, תלמדו להתקין את Sysdig תוך הדגשה של אפשרויות תצורה מסוימות לאורך הדרך על איך לעקוב טוב יותר אחר המערכת הלינוקס שלכם.

המשיכו לקרוא ואל תפספסו יותר 'התראה'!

דרישות מוקדמות

המדריך הזה יהיה הדגמה מעשית. אם תרצו להתאים, וודאו שיש לכם את הדברים הבאים.

  • A Linux machine – This tutorial uses Ubuntu 20.04 LTS, but any Linux distributions will work.
  • A non-root user with sudo privileges.

התקנת Sysdig בלינוקס

כלי שורת הפקודה של Sysdig זמין בדרך כלל ברוב ההפצות הלינוקס המודרניות, וניתן להתקין את Sysdig כמו כל חבילה אחרת שהתקנתם עד כה על המכונה שלכם.

1. פתח את הטרמינל שלך והרץ את הפקודה apt update למטה כדי לוודא שיש לך את העדכונים האחרונים ממאגרי הפצה שלך. פקודה זו מעדכנת את רשימות החבילות במערכת שלך ויכולה לקחת מספר דקות להשלים.

sudo apt update -y
Updating your System’s Package Lists

2. לאחר מכן, הפעל את הפקודה apt install למטה כדי להוריד (curl) ולהתקין את החבילות הדרושות ל-Sysdig. פקודה זו גם מתקינה מודולים נוספים השימושיים מאוחר יותר במדריך זה כדלקמן:

  • gnupg – ה-GNU Privacy Guard הוא כלי לתקשורת בטוחה ולאחסון נתונים. החבילה הזו מאפשרת הורדת מפתח GPG ציבורי של Sysdig כדי לוודא את תוקפיות החבילות של Sysdig.
  • software-properties-common – מספק דרך מהירה לניהול מקורות התוכנה שלך דרך סביבת הפקודה או ממשק משתמש גרפי. חבילה זו מאפשרת לך להשתמש בפקודת add-apt-repository כדי להוסיף את מאגרי החבילות של Sysdig.
  • linux-headers-$(uname -r) – מספק את הקבצים הנדרשים לבניית מודולי הליבה של הקרנל שלך. חבילה זו נדרשת משום שיתכן ותתקין את Sysdig על מכונה עם קרנל סטנדרטי ישן יותר.
sudo apt install gnupg software-properties-common curl -y && sudo apt install linux-headers-$(uname -r) -y
Installing the Necessary Packages for Sysdig

3. הפעל את הפקודה curl למטה כדי להוסיף את מפתח ה-GPG הציבורי של Sysdig (GPG) למפתח ה-APT שלך. פקודה זו מאפשרת לך לאמת כי החבילות שהורדו מתוך sysdig.com הן תקפות ולא משונות.

curl -s https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public | apt-key add -

תקבל הודעת OK לאחר שתוסיף את המפתח בהצלחה, כפי שמוצג למטה.

Adding the GPG key to APT”s Keyring

4. כעת, הפעל את הפקודה curl למטה כדי להוריד בשקט (-s) את מאגרי החבילות של Sysdig כקובץ draios.list ולהוסיף אותו למערכת שלך. סיומת הקובץ .list מספרת ל-APT שלך כי הקובץ הוא רשימת כתובות אינטרנט למאגרים, ולא רק כתובת URL אחת.

curl -s -o /etc/apt/sources.list.d/draios.list http://download.draios.com/stable/deb/draios.list

5. הפעל שוב את הפקודה apt update למטה כדי להוריד את המאגרים החדשים של Sysdig ולעדכן את רשימות החבילות של ה-APT עם מידע המאגרים החדשים.

sudo apt update -y

תראה את הפלט הבא אם ה-APT שלך מוגדר כראוי.

Updating your APT’s Package Lists

6. לאחר שהורדת את המאגרים של Sysdig, הפעל את הפקודה apt install למטה כדי להתקין את sysdig במכונתך. פקודה זו מורידה ומתקינה את החבילה sysdig ואת החבילות התומכות שלה.

sudo apt install sysdig -y
Installing Sysdig

7. לבסוף, הרץ את הפקודה sysdig למטה כדי לבדוק את גרסת Sysdig שהותקנה במכונתך.

sudo sysdig --version

מספר הגרסה מסייע בקביעה האם החבילה של Sysdig שלך מעודכנת. הגרסה גם נותנת תובנות האם השחרור של Sysdig משפיע על ביצועי המערכת או לא.

כפי שמוצג למטה, 0.28.0 היא הגרסה האחרונה של sysdig בכתיבה זו. מספר הגרסה שלך עשוי להיות שונה.

Verifying Sysdig Version Installed

מעקב אחר מערכות Linux עם csysdig

כעת שיש לך את Sysdig מותקן, תוכל להשתמש ב-Sysdig כדי לראות מה קורה במערכת שלך. כלי הפקודה של Sysdig מגיע עם המון דגלים שיאפשרו לך לראות תצוגות שונות של המערכת ופעילותה. הדוגמה הבסיסית ביותר היא הפקודה csysdig.

הפעל את הפקודה csysdig בלעדי דגלים כדי לראות מה קורה כרגע במערכת שלך. הפקודה תציג לך את הפעילות של כל התהליכים הפעילים כרגע.

שים לב שעליך להפעיל פקודות Sysdig עם הרשאות sudo כדי לקבל גישה מלאה למערכת שלך. חלק מפעילות המערכת עשויה להיות מוסתרת כבררת מחדל ממשתמשים בלתי-רוט, כמו למשל פלט ממערכת הקובץ /proc. Sysdig גם דורשת הרשאות sudo כדי לטעון אוטומטית את סמלי הלחמה הנדרשים לביצוע רוב התכלים שלה, כמו דוגמא, מודול הלחמה sysdig-probe

sudo csysdig

אם אתה נתקל בשגיאה הבאה, עליך להתקין מחדש את החבילה ncurses-term. חבילת ncurses-term יכולה להיאלץ להתעשת מחדש לאחר התקנה חדשה של Sysdig. Sysdig תלויה בחבילת ncurses-term כדי לתמוך בממשק המשתמש ncurses שלה.

Getting an Error while Running csysdig

אם הפקודה csysdig הצליחה, תקבל את הפלט הבא מאורגן לטאבים.

Description
PID The Process ID that assigned by the Linux kernel. You use PIDs to identify and manage processes.
PPID The parent process ID of the process. You use PPID to trace the process back through its parent processes. Together, PID and PPID uniquely identify a process on your system.
CPU The percentage of CPU used by the application since it started can be seen on a scale from 0 to 100%, where 100% equals total CPU usage. You use CPU usage to find applications that are hogging system resources.
USER The name of the user that started the process. You use USER to find out who is executing a process you are interested in.
TH The name of the user that started the process. You use USER to find out who is executing a process you are interested in.
VIRT The total amount of virtual memory used by the application. You use VIRT to find applications that are hogging your system’s memory.
RES The number of resident memory pages a process has, as mapped to physical memory. You use RES to find applications that are hogging your system’s memory.
FILE The disk’s file descriptor used by the application. You use FILE to see which files are being read or written frequently, usually an indication of I/O activity.
NET The network socket descriptor used by the application. You use NET to see which network connections are being used by the process, and how much data is being transferred in bytes per second.
Command The network socket descriptor used by the application. You use NET to see which network connections are being used by the process, and how much data is being transferred in bytes per second.

במבט ראשון, ממשק ה-csysdig נראה דומה לכלים לניטור כמו htop.

Monitoring System Processes using Csysdig

לחץ על F2 והכרטיסיות העליונות ישתנו כך שיציגו אוסף חדש של מידע מאורגן לכרטיסיות בצד שמאל, כפי שמוצג למטה.

סיסדיג קוראת לאלו "תצורות" משום שהן תצורות שונות של המערכת, מאורגנות לפי סוג המידע שהן מציגות, המציעות קונטקסט נוסף. ומכיוון שהתצורות האלו מבוססות על סקריפטי LUA, אתה יכול להתאים אישית את הסקריפטים כדי לחלץ מידע שונה מהמערכת ולשנות את התצורה כפי שתעדיף.

Viewing System Information via the Csysdig Views

כברירת מחדל, סקריפטי ה-LUA ממוקמים בתיקיית /usr/share/sysdig/chisels, כפי שמוצג למטה.

ls /usr/share/sysdig/chisels
Listing files (scripts) in the /usr/share/sysdig/chisels directory

ניטור תהליכי אכילת ה-CPU עם סקריפטי Sysdig Chisels

סיסדיג מציעה מספר סקריפטים מוכנים לשימוש שאוספים אוטומטית מידע מערכתי מסוים, הידועים בשם "סקריפטים". אולי אתה נתקל בביצוע איטי על המעבד שלך. אם כן, ביצוע הפקודה sysdig עם סקריפט מסוים מאפשר לך לראות אילו יישומים/תהליכים משתמשים ברוב השימוש במעבד שלך.

1. הרץ את הפקודה sysdig למטה כדי לרשום סקריפטים זמינים.

sudo sysdig -cl

התמונה למטה מציגה רק כמה מסמיכים. אך ניתן למצוא וללמוד את רשימת הכלים המסמיכים הזמינים במלואם במסמך הרשמי תיעוד.

כלי המסמיכים של Sysdig הם גם סקריפטי LUA. ניתן ל יצור כלים מסמיכים משלך כדי למעקב אחר מידע מערכת מסוים או ליישם את התצוגה האישית שלך, אך נושא זה חורג מהטווח של המדריך הזה.

Showing Sysdig Chisels

2. לאחר מכן, הפעל את הפקודה למטה כדי לראות את המידע המפורט (-i) על כלי מסוים, כמו topprocs_cpu בדוגמה זו.

sudo sysdig -i topprocs_cpu

ניתן לראות את כל המידע על כלי המסמך topprocs_cpu למטה, כולל שם הכלי, הקטגוריה שלו, ותיאור קצר של מה שהכלי עושה.

בדוגמה זו, כלי המסמך topprocs_cpu מסוגל מסיבת שימוש ב-CPU ומציג את התהליך העליון שהוגדר על ידי השימוש ב- CPU הגבוה ביותר.

לאחר שהבנת את פונקציונליות של כלי, תוכל להתחיל להשתמש בו.

Showing All Information About the topprocs_cpu Chisel

3. הפעל את הפקודה sysdig למטה, ציין את הכלי הנכון (-c topprocs_cpu) כדי למצוא את היישומים שמשתמשים בכמות הגבוהה ביותר של CPU במערכת שלך.

sudo sysdig -c topprocs_cpu

Sysdig תפסיק את תהליכי המחשב בעלי השימוש הגבוה ביותר ב-CPU בדוגמה זו ותדפיס אותם בטרמינל. התהליך המבולבל ביותר ב-CPU יוצג בראש (sshd), מה שהופך אותם לקלים יותר למציאה.

Listing the process defined by the highest CPU utilization.

מעקב אחר מידע מערכת מסונן

במקרים מסוימים, הפלט עשוי להיות עצום, וכך יוצר קושי בסינון מידע מערכתי בהתבסס על חפיסת מידע ספציפית. מאמינים, Sysdig מציעה אפשרות סינון עוצמתית המשתמשת בתחביר Lua כך שתוכל לבצע סינון יעיל.

נניח שאתה מחפש רק תהליכי sshd שתורמים לשימוש גבוה במעבד. אפשר להגדיר ביטוי סינון על פי PID או שם תהליך מסוים.

הפעל את הפקודה sysdig למעלה כדי להציג רק את תהליך sshd שמשתמש במעבד בכמויות רבות.

sudo sysdig proc.name=sshd

כפי שמוצג למטה, תקבל פלט מסונן בלבד מבלי לקבל מידע נוסף על תהליכים אחרים.

מהפלט, ניתן לקבל מידע נוסף אודות תהליך sshd, כמו למה התהליך משתמש במעבד או זכרון בכמויות רבות וכדומה.

Listing the SSHD process

יצירת קובץ לוג אירועים לניטור של המערכת שלך

אחת התכונות הנהדרות שSysdig מציעה הם קבצי לוג אירועים, המאפשרים לך לאסוף את כל המידע אודות פעולות של היישום או המערכת שלך לצורך ניתוח מאוחר יותר. קבצי לוג האירועים מספקים את אותו המידע כמו הפלט ממנהגי פקודת השורת פקודה בדוגמאות הקודמות אך משמרים את המידע בקובץ על הדיסק.

1. הפעל את הפקודה למעלה כדי ליצור קובץ (-w) בשם ata.scap בתיקיית הבית שלך, שבו Syslog יצטמין את כל פלטי sysdig.

סיומת הקובץ .scap מאפשרת לשמור זרמי נתונים בפורמט טקסט נקרא.

sudo sysdig -w ata.scap

2. לבצע את הפקודה ls -la למטה כדי לרשום את כל הקבצים בתיקיית העבודה.

ls -la

תשים לב לקובץ חדש בשם ata.scap בתיקיית הבית שלך, כפי שמוצג למטה.

Listing All Files in Home Directory

3. לבסוף, הפעל את הפקודה למטה כדי ש-Sysdig יקרא (-r) את קובץ יומן אירועי Sysdig (ata.scap) וידפיס את ההתנהגות המערכת שלך כאשר אתה מתחבר ב-SSH אל השר שלך.

sudo sysdig -r ata.scap
Viewing the ata.scap File

Conclusion

במאמר זה, למדת כיצד להתקין את Sysdig על Ubuntu 20.04 ולהשתמש ב-csysdig כדי לאסוף מידע על המערכת שלך, יישומים ומידע אבטחה. גם נגעת ביצירת קובץ לימון אירועים המאפשר לך לרשום את התנהגות המערכת שלך.

בנקודה זו, הבנת שיש לך כלים עוצמתיים כאשר מותקנת לך את Sysdig במערכת שלך. והם עוזרים לך להשיג יותר תובנות לגבי איך המערכת, היישומים והתשתית שלך פועלים.

עכשיו, עם הידע החדש שלך, למה לא ללמוד כיצד ל פענח את תעבורת ה-HTTP שלך עם Sysdig? או איך ל זהות בעיות בישום עם עקומות Sysdig?

Source:
https://adamtheautomator.com/sysdig/