פתרון בעיות ביצועים עבור Microsoft Defender עבור נקודת קצה ב- Linux

מאמר זה מתאר כיצד לצמצם בעיות ביצועים הקשורות ל- Defender for Endpoint ב- Linux. כלי אבחון זמינים כדי לעזור לך להבין ולצמצם תהליכים וחסרונות קיימים של משאבים המשפיעים על הביצועים. ניתן להשתמש בכלי אבחון אלה כדי לשפר את הניראות גם Microsoft Defender הפורטל. צווארי בקבוק במערכת משנה אחת או יותר של החומרה עשויים לגרום בעיקר לבעיות ביצועים, בהתאם לפרופיל ניצול המשאבים במערכת. לעתים יישומים רגישים למשאבי קלט/פלט של דיסק וייתכן שהם זקוקים לקיבולת CPU נוספת, ולפעמים תצורות מסוימות אינן ברות-קיימא, ועשויות להפעיל תהליכים חדשים רבים מדי ולפתוח מתארי קבצים רבים מדי.

בהתאם לאפליקציות שאתה מפעיל ולמאפיינים של המכשיר שלך, ייתכן שתיתקל בביצועים לא מיטביים בעת הפעלת Defender for Endpoint ב- Linux. בפרט, אפליקציות או תהליכי מערכת שניגישה למשאבים רבים כגון CPU, דיסק וזיכרון במשך זמן קצר עלולות להוביל לבעיות ביצועים ב- Defender for Endpoint ב- Linux.

אזהרה

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

קיימות שלוש דרכים נפרדות לפתרון בעיות של תהליכים ומדריכי Microsoft Defender עבור נקודת קצה באמצעות Linux:

  • שימוש בסטטיסטיקה של הגנה בזמן אמת
  • שימוש במקורות אירוע חם
  • שימוש בסטטיסטיקה של eBPF

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

חל על:

  • רק בעיות ביצועים הקשורות לאנטי-וירוס

הגנה בזמן אמת (RTP) היא תכונה של Defender for Endpoint ב- Linux שניטור רציף של המכשיר שלך והגנה עליו מפני איומים. היא מורכבת מניטור קבצים ותהליך ומליסטיקות אחרות.

ניתן להשתמש בשלבים הבאים כדי לפתור בעיות אלה ולצמצם הבאות:

  1. הפוך הגנה בזמן אמת ללא זמינה באמצעות אחת מהשיטות הבאות ובחין אם הביצועים משתפרים. גישה זו מסייעת לצמצם את השאלה אם Defender for Endpoint Linux הוא תורם לבעיות הביצועים. אם המכשיר שלך אינו מנוהל על-ידי הארגון שלך, ניתן להפוך הגנה בזמן אמת ללא זמינה משורת הפקודה:

    mdatp config real-time-protection --value disabled
    
    Configuration property updated
    

    אם הארגון שלך מנהל את המכשיר שלך, מנהל המערכת יכול להפוך הגנה בזמן אמת ללא זמינה באמצעות ההוראות במאמר הגדרת העדפות עבור Defender for Endpoint ב- Linux.

    הערה

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

  2. כדי למצוא את האפליקציות שמפעילות את רוב הסריקות, באפשרותך להשתמש בסטטיסטיקה בזמן אמת שנאסף על-ידי Defender for Endpoint ב- Linux.

    הערה

    תכונה זו זמינה בגירסה 100.90.70 ואילך.

    תכונה זו זמינה כברירת מחדל בערוצים Dogfood וב InsiderFast - ו. אם אתה משתמש בערוץ עדכונים אחר, ניתן להפוך תכונה זו לזמינה משורת הפקודה:

    mdatp config real-time-protection-statistics --value enabled
    

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

    mdatp health --field real_time_protection_enabled
    

    ודא שהערך real_time_protection_enabled הוא true. אחרת, הפעל את הפקודה הבאה כדי להפוך אותה לזמינה:

    mdatp config real-time-protection --value enabled
    
    Configuration property updated
    

    כדי לאסוף נתונים סטטיסטיים נוכחיים, הפעל את:

    mdatp diagnostic real-time-protection-statistics --output json
    

    הערה

    שימוש --output json (שים לב לקו המקף הכפול) מבטיח שתבנית הפלט מוכנה לניתוח מבנה טקסט.

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

  3. הקלד את הפקודות הבאות:

    mdatp diagnostic real-time-protection-statistics --sort --top 4
    

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

    =====================================
    Process id: 560
    Name: NetworkManager
    Path: "/usr/sbin/NetworkManager"
    Total files scanned: 261
    Scan time (ns): "3070788919"
    Status: Active
    =====================================
    Process id: 1709561
    Name: snapd
    Path: "/snap/snapd/23545/usr/lib/snapd/snapd"
    Total files scanned: 247
    Scan time (ns): "19926516003"
    Status: Active
    =====================================
    Process id: 596
    Name: systemd-logind
    Path: "/usr/lib/systemd/systemd-logind"
    Total files scanned: 29
    Scan time (ns): "716836547"
    Status: Active
    =====================================
    Process id: 1977683
    Name: cupsd
    Path: "/usr/sbin/cupsd"
    Total files scanned: 20
    Scan time (ns): "985110892"
    Status: Active
    =====================================
    

    כדי לשפר את הביצועים של Defender for Endpoint ב- Linux, Total files scanned אתר את נקודת הקצה עם המספר הגבוה ביותר מתחת לשורה והוסף עבורה אי הכללה של אנטי-וירוס (הערכה בקפידה אם בטוח לא לכלול). לקבלת מידע נוסף, ראה קביעת תצורה ואי-אימות של פריטים שאינם נכללים ב- Defender for Endpoint ב- Linux.

    הערה

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

פתרון בעיות ביצועים באמצעות 'מקורות אירוע חמים'

חל על:

  • בעיות ביצועים בקבצים ובקובצי הפעלה הצורכים את רוב מחזורי ה- CPU בכל מערכת הקבצים.

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

הערה

פקודות אלה דורשות ממך הרשאות בסיס. ודא שניתן להשתמש בסודו.

תחילה, בדוק את רמת יומן הרישום במחשב שלך.

mdatp health --field log_level

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

sudo mdatp log level set --level debug
Log level configured successfully

כדי לאסוף נתונים סטטיסטיים נוכחיים (עבור קבצים),

sudo mdatp diagnostic hot-event-sources files

הפלט נראה דומה לפלט הבא בקונסולה (זהו רק מקטע של הפלט כולו). כאן, השורה הראשונה מציגה את הספירה (תדירות המופע) והשנייה מציגה את נתיב הקובץ.

Total Events: 11179 Time: 12s. Throughput: 75.3333 events/sec. 
=========== Top 684 Hot Event Sources ===========
count   file path
2832    /mnt/RamDisk/postgres_data/pg_wal/0000000100000014000000A5
632     /mnt/RamDisk/postgres_data/base/635594/2601
619     /mnt/RamDisk/postgres_data/base/635597/2601
618     /mnt/RamDisk/postgres_data/base/635596/2601
618     /mnt/RamDisk/postgres_data/base/635595/2601
616     /mnt/RamDisk/postgres_data/base/635597/635610
615     /mnt/RamDisk/postgres_data/base/635596/635602
614     /mnt/RamDisk/postgres_data/base/635595/635606
514     /mnt/RamDisk/postgres_data/base/635594/635598_fsm
496     /mnt/RamDisk/postgres_data/base/635597/635610_fsm

פקודה זו יוצרת דוח מקור אירוע Hot שנשמר בתיקיה המקומית שלך, שניתן לחקור אותו עוד יותר. הפלט נראה כך בקובץ json;

{
    "startTime": "1729535104539160",
    "endTime": "1729535117570766",
    "totalEvent": "11373",
    "eventSource": [
        {
            "authCount": "2832",
            "csId": "",
            "notifyCount": "0",
            "path": "/mnt/RamDisk/postgres_data/pg_wal/0000000100000014000000A5",
            "pidCount": "1",
            "teamId": ""
        },
        {
            "authCount": "632",
            "csId": "",
            "notifyCount": "0",
            "path": "/mnt/RamDisk/postgres_data/base/635594/2601",
            "pidCount": "1",
            "teamId": ""
        }
    ]
}

בדוגמה, ניתן לראות שהקובץ /mnt/RamDisk/postgres_data/pg_wal/0000000100000014000000A5 מייצר את הפעילות הרבה ביותר. כמו כן, בדומה לקובצי ההפעלה,

sudo mdatp diagnostic hot-event-sources executables

הפלט נראה דומה לפלט הבא בקונסולה.

Total Events: 47382 Time: 18s. Throughput: 157 events/sec.
=========== Top 23 Hot Event Sources ===========
count    executable path
8216    /usr/lib/postgresql/12/bin/psql
5721    /usr/lib/postgresql/12/bin/postgres (deleted)
3557    /usr/bin/bash
378     /usr/bin/clamscan
88      /usr/bin/sudo
70      /usr/bin/dash
30      /usr/sbin/zabbix_agent2
10      /usr/bin/grep
8       /usr/bin/gawk
6       /opt/microsoft/mdatp/sbin/wdavdaemonclient
4       /usr/bin/sleep

זהו הפלט שנשמר בדוח מקור האירוע החמה ב- json;

{
    "startTime": "1729534260988396",
    "endTime": "1729534280026883",
    "totalEvent": "48165",
    "eventSource": [
        {
            "authCount": "8126",
            "csId": "",
            "notifyCount": "0",
            "path": "/usr/lib/postgresql/12/bin/psql",
            "pidCount": "2487",
            "teamId": ""
        },
        {
            "authCount": "5127",
            "csId": "",
            "notifyCount": "0",
            "path": "/usr/lib/postgresql/12/bin/postgres",
            "pidCount": "2144",
            "teamId": ""
        }
    ]
}

בדוגמה זו, לאחר 18s הפקודה מראה כי קבצי ההפעלה; /usr/lib/postgresql/12/bin/psql ו- /usr/lib/postgresql/12/bin/postgres מייצרים את הפעילות הרבה ביותר.

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

sudo mdatp log level set --level info
Log level configured successfully

כדי לשפר את הביצועים של Defender for Endpoint ב- Linux, אתר את הנתיב עם המספר הגבוה ביותר בשורת הספירה והוסף אי-הכללה כללית של תהליך (אם זהו קובץ הפעלה) או אי-הכללה כללית של קובץ/תיקיה (אם זהו קובץ) עבורה (הערכה בקפידה אם אין כלילה). לקבלת מידע נוסף, ראה קביעת תצורה ואי-אימות של פריטים שאינם נכללים ב- Defender for Endpoint ב- Linux.

פתרון בעיות ביצועים באמצעות סטטיסטיקת eBPF

חל על:

  • כל אירועי הקובץ/התהליך, כולל בעיות ביצועים המבוססות על השיחות במערכת.

הפקודה סטטיסטיקה eBPF (Extended Berkeley Packet Filter) מספקת תובנות לגבי האירוע/התהליך המוביל היוצר את רוב אירועי הקבצים, יחד עם מזהה syscall שלהם. כאשר מתבצעות קריאות מערכת מהמערכת, נוצרת כמות גבוהה של עומס עבודה במערכת שלך. ניתן להשתמש בסטטיסטיקה של eBPF כדי לזהות בעיות כאלה.

כדי לאסוף סטטיסטיקה נוכחית באמצעות סטטיסטיקת eBPF, הפעל את:

mdatp diagnostic ebpf-statistics

הפלט מוצג ישירות בקונסולה וייראו דומה לרכיבים הבאים (זהו רק מקטע של הפלט כולו):

Top initiator paths:
/usr/lib/postgresql/12/bin/psql : 902
/usr/bin/clamscan : 349
/usr/sbin/zabbix_agent2 : 27
/usr/lib/postgresql/12/bin/postgres : 10

Top syscall ids:
80 : 9034
57 : 8932
60 : 8929
59 : 4942
112 : 4898
90 : 179
87 : 170
119 : 32
288 : 19
41 : 15

פקודה זו מנטרת את המערכת במשך 20 שניות ומציגה את התוצאות. כאן נתיב המאתחל העליון (postgresql/12/bin/psql) מציג את נתיב התהליך שיצר את רוב קריאות המערכת.

כדי לשפר את הביצועים של Defender for Endpoint ב- Linux, countTop initiator path אתר את נקודת הקצה עם הערך הגבוה ביותר בשורה והוסף עבורה אי הכללה של תהליך כללי (הערכה בקפידה אם בטוח לא לכלול זאת). לקבלת מידע נוסף, ראה קביעת תצורה ואי-אימות של פריטים שאינם נכללים ב- Defender for Endpoint ב- Linux.

קביעת תצורה של אי-הכללות כלליות לקבלת ביצועים טובים יותר

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

למידע נוסף