הכלי Sosreport

אתם קוראים את מאמרי העזרה של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

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

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

  • גרסת הליבה הפעילה
  • מודולים שנטענו
  • קובצי הגדרה של מערכות ושירותים

הכלי Sosreport מריץ גם תוכניות חיצוניות כדי לאסוף מידע נוסף, כולל:

  • יומני Apigee מכל הרכיבים.
  • אבחון בזמן ריצה
  • נתוני אבחון של Cassandra שנאספו באמצעות פקודות nodetool.

הכלי Sosreport מכיל שתי פקודות עיקריות:

  • sosreport: הפקודה הראשית לאיסוף נתונים וליצירת דוחות.
  • apigee-sosreport: כלי עזר שמשמש להתקנה של תוספים של sosreport ולניהול שלהם, שספציפיים לרכיבי Apigee.sosreport

התקנה

בטבלה הבאה מפורטים הזמינות ושיטת ההתקנה של הכלי Sosreport בגרסאות הנתמכות של Edge for Private Cloud.

גרסת OPDK התקנה חדשה שדרוג במקום
‫4.50.00.11 - 4.52.01.00 נדרשת התקנה ידנית נדרשת התקנה ידנית
4.52.01.01+ מותקן כברירת מחדל מותקן כברירת מחדל
‫Amazon Linux 2023 ואילך לא נתמך לא נתמך

כלי Sosreport מותקן כברירת מחדל בכל הצמתים כשמגדירים או מעדכנים ל-Edge for Private Cloud בגרסאות 4.52.01.01 ואילך.

אפשר להריץ את הפקודה הבאה כדי לוודא שהכלי Sosreport והתוספים שלו מותקנים, ולבדוק את הגרסה שלהם:

apigee-service apigee-sosreport version

כדי לראות רשימה של כל הפלאגינים שתומכים בכלי Sosreport, משתמשים בפקודה הבאה:

sudo sosreport --list-plugins

כדי להציג רק את הפלאגינים שספציפיים ל-Apigee, מריצים את הפקודה הבאה:

sudo sosreport --list-plugins | grep apigee

ב-Edge for Private Cloud בגרסאות 4.50.00.11 עד 4.52.01.00, הכלי Sosreport זמין אבל יכול להיות שתידרש הגדרה ידנית בהתאם לסביבה שלכם.

אם גרסת ה-SoS של sosreport כבר מותקנת

אם הגרסה המקורית של SoS של sosreport כבר מותקנת במערכת, אל תגדירו את הגרסה של Apigee, כי יכול להיות שיהיה ניגוד בין נתיבי ההתקנה. במקום זאת, מעתיקים את הפלאגינים הספציפיים ל-Apigee מהספרייה /opt/apigee/apigee-sosreport/source/plugin לספרייה המתאימה של Python site-packages באמצעות פקודה כמו אלה שמוצגות למטה. לדוגמה, כדי להעתיק את apigee-mgmt.py:

  • אם משתמשים ב-Python 2, מזינים:
    sudo cp apigee-mgmt.py /usr/lib/python2.7/site-packages/sos/plugins/
  • אם משתמשים ב-Python 3, מזינים:
    sudo cp apigee-mgmt.py /usr/local/lib/python3.6/site-packages/sos/plugins/

כדי לוודא שהפלאגינים הותקנו, מזינים

sudo sosreport --list-plugins

אם יש לכם שאלות, אתם יכולים לפנות לתמיכה של Apigee.

בקטע הבא מוסבר איך להתקין את `sosreport` בגרסאות 4.50.00.11 עד 4.52.01.00.

מתבצעת התקנה של גרסת sosreport של Apigee

אם גרסת SoS של sosreport לא מותקנת כבר במערכת, אפשר להתקין את הגרסה של Apigee על ידי הזנת הפקודות הבאות בכל הצמתים שבהם מותקן Edge for Private Cloud:

/opt/apigee/apigee-service/bin/apigee-service apigee-sosreport install
/opt/apigee/apigee-service/bin/apigee-service apigee-sosreport setup

כדי לבדוק ש-sosreport מותקן, מוודאים שהפלאגינים שקשורים ל-Apigee נמצאים בספרייה הבאה:

/usr/lib/pythonx.x/site-packages/sos/plugins

כאשר pythonx.x היא גרסת Python המותקנת.

לחלופין, אפשר להריץ אחת מהפקודות הבאות:

  • כדי לאמת רק תוספים ספציפיים ל-Apigee:
    apigee-service apigee-sosreport diagnose -l

    הפונקציה מחזירה את רשימת הפלאגינים הבאה שספציפיים ל-Apigee.

    sosreport (version 3.9)
    
    The following plugins are currently enabled:
    
    apigee-mgmt          This is the apigee plugin for edge-management-server
    apigee-mp            This is the apigee plugin for edge-message-processor
    apigee-rrt           This is the apigee plugin for edge-router
    apigee-sample        Main diagnostics gathering class
  • כדי לאמת את כל הפלאגינים:
    apigee-service apigee-sosreport diagnose -s -l

    הפקודה מחזירה את רשימת הפלאגינים הבאה שזמינים ב-sosreport:

    sosreport (version 3.9)
    
    The following plugins are currently enabled:
    
     acpid                ACPI daemon information
     alternatives         System alternatives
     anacron              Anacron job scheduling service
     apigee-cassandra     This is the base class for sosreport plugins. Plugins should subclass
        this and set the class variables where applicable. ←truncated→
     apigee-mgmt          This is the base class for sosreport plugins. Plugins should subclass
        this and set the class variables where applicable. ←truncated→
     apigee-mp            Main diagnostics gathering class
     apigee-rrt           This is the base class for sosreport plugins. Plugins should subclass
        this and set the class variables where applicable. ←truncated→
    
    ………………………………………………….
    ………………………………………………….
    ………………………………………………….
    ←truncated→

יצירת דוח

Edge for Private Cloud בגרסה 4.52.01.01 ואילך

הכלי Sosreport יכול לזהות רכיבים קיימים בצומת וליצור דוח של כל היומנים שצוותי התמיכה צריכים לניתוח.

כדי ליצור דוח, משתמשים בפקודה הבאה:

apigee-service apigee-sosreport diagnose

אם צריך, אפשר להוסיף את הדגלים הבאים:

  • ‫‎-f | --file | --config : הנתיב לקובץ התצורה שבו נעשה שימוש במהלך ההגדרה.
    Example: apigee-service apigee-sosreport diagnose -f /path/to/configuration.file
  • ‫‎-o | --output : כדי להפנות את ה-sosreport שנוצר לספרייה או לנתיב ספציפיים
    Example: apigee-service apigee-sosreport diagnose -o /path/to/output_directory/

Edge for Private Cloud בגרסאות 4.50.00.11 עד 4.52.01.00

כדי ליצור דוח באמצעות הכלי Sosreport, מריצים את הפקודה sosreport עם אפשרות הפלאגין הנדרשת (ראו פלאגינים של Apigee). ספריית ברירת המחדל שבה הדוח מאוחסן היא tmp או /var/tmp. כדי לשנות את הספרייה שבה הדוח מאוחסן, מעבירים ספרייה אחרת לאפשרות tmp-dir. לדוגמה, כדי ליצור דוח בשרת הניהול ולשמור אותו בספרייה בשם my_report-dir, מזינים אחת מהאפשרויות הבאות:

  • שימוש בגרסה של sosreport ב-Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf -o apigee-mgmt  --batch --tmp-dir=my_report-dir
  • שימוש בגרסת SoS של sosreport:
    sudo sosreport -o apigee-mgmt  --batch --tmp-dir=my_report-dir

הדוח מאוחסן בקובץ .tar.xz בספרייה שאתם מציינים באמצעות האפשרות tmp-dir. המיקום של קובץ .tar.xz מוצג ב-STDOUT, וגם סכום הביקורת. לדוגמה:

Your sosreport has been generated and saved in:
 /var/sosreport-prc-test-0-9613-2021-07-12-orwxufx.tar.xz
The checksum is: 5a8b97c6020346a688254c8b04ef86ec
For more available options for sosreport, read the man file:
sudo man sosreport

הדוח מאוחסן בקובץ .tar.xz בספרייה שאתם מציינים באמצעות האפשרות tmp-dir. המיקום של .tar.xz file מוצג ב-STDOUT, וגם סכום הביקורת. לדוגמה:

כדי לראות אפשרויות נוספות שזמינות ל-sosreport, קוראים את הקובץ man:

sudo man sosreport

פלאגינים של Apigee

בקטעים הבאים מתוארים תוספים של Apigee לכלי Sosreport עבור הרכיבים הבאים:

שרת ניהול

הפלאגין apigee-mgmt אוסף את המידע הבא משרת הניהול:

  • שם המארח של השרת (ברירת מחדל)
  • cpuinfo (ברירת מחדל)
  • meminfo (ברירת מחדל)
  • הגדרות של מכונה וירטואלית של Java‏ (JVM), כמו זיכרון, Djdk.tls.allowUnsafeServerCertChange וכן הלאה (ברירת מחדל)
  • יומני הניהול הנוכחיים (ברירת מחדל)
  • פלט של עשרה תהליכים עליונים רציפים ו-jstacks (ברירת מחדל)
  • תיקיית יומן הניהול המלאה (אופציונלי)
  • config-files (אופציונלי)

דוגמאות:

כדי לאסוף את כל פריטי ברירת המחדל, מזינים אחת מהאפשרויות הבאות:

  • שימוש בגרסה של sosreport ב-Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch my_report-dir
  • שימוש בגרסת ה-SoS של sosreport:
    sudo sosreport -o apigee-mgmt --batch my_report-dir

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

  • שימוש בגרסה של sosreport ב-Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs
  • שימוש בגרסת ה-SoS של sosreport:
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

כדי לאסוף את כל הנתונים, מזינים אחת מהאפשרויות הבאות:

  • שימוש בגרסה של sosreport ב-Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

    אפשר גם להזין:

    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch -a
  • שימוש בגרסת ה-SoS של sosreport:
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

    אפשר גם להזין:

    sudo sosreport -o apigee-mgmt --batch -a

מעבד בקשות

התוסף apigee-mp אוסף את המידע הבא ממעבד הניהול (MP):

  • שם המארח של השרת (ברירת מחדל)
  • cpuinfo (ברירת מחדל)
  • meminfo (ברירת מחדל)
  • buildinfo/release info (ברירת מחדל)
  • הסטטוס של apigee-all (ברירת מחדל)
  • פרטי השרת (ברירת מחדל)
  • הגדרות ברמת ה-JVM, למשל זיכרון, Djdk.tls.allowUnsafeServerCertChange וכו' (ברירת מחדל)
  • יומני ה-MP הנוכחיים (ברירת מחדל)
  • פלט של עשרה רצפים עליונים, jstacks ומדדי NIO (ברירת מחדל)
  • תיקיית היומן המלאה של MP (אופציונלי)
  • עץ סיווג (אופציונלי)
  • תמונת מצב של הזיכרון (אופציונלי)
  • config-files (אופציונלי)
  • מעקב בזמן ריצה (אופציונלי ורק אם מציינים org:env:api:rev detail ). הערה: התוסף ממתין 25 שניות לאיסוף הבקשות בזמן הריצה.

דוגמאות:

כדי לאסוף את כל פריטי ברירת המחדל, מזינים אחת מהאפשרויות הבאות:

  • שימוש בגרסה של sosreport ב-Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch
  • שימוש בגרסת ה-SoS של sosreport:
    sudo sosreport -o apigee-mp --batch

אפשר גם לציין פריטים אופציונליים נוספים לאיסוף, בנוסף לכל פריטי ברירת המחדל. לדוגמה, כדי לציין את תמונת מצב של הזיכרון באמצעות הדגל -k apigee-mp.heap, מזינים אחת מהאפשרויות הבאות:

  • שימוש בגרסה של sosreport ב-Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.heap
  • שימוש בגרסת ה-SoS של sosreport:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.heap

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

-k apigee-mp.deployments
-k apigee-mp.heap
-k apigee-mp.all-logs
-k apigee-mp.config-files
-k apigee-mp.trace=gsc-cps:test:httpbin:3

אפשר לציין כמה אפשרויות בפקודה אחת. לדוגמה:

  • שימוש בגרסה של sosreport ב-Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs
  • שימוש בגרסת ה-SoS של sosreport:
    sudo sosreport -o apigee-mp --batch -k apigee-mp.deployments -k apigee-mp.all-logs

כדי לאסוף את כל הנתונים חוץ מנתוני מעקב, מזינים אחת מהאפשרויות הבאות:

  • שימוש בגרסה של sosreport ב-Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch -a
  • שימוש בגרסת ה-SoS של sosreport:
    sudo sosreport -o apigee-mp --batch -a

נתב

התוסף apigee-rrt אוסף את הנתונים הבאים מהנתב:

  • שם המארח של השרת (ברירת מחדל)
  • cpuinfo (ברירת מחדל)
  • meminfo (ברירת מחדל)
  • buildinfo/release info (ברירת מחדל)
  • הסטטוס של apigee-all (ברירת מחדל)
  • פרטי השרת (ברירת מחדל)
  • פלט של ps. כך יתקבלו הגדרות ברמת ה-JVM, למשל, זיכרון, Djdk.tls.allowUnsafeServerCertChange וכו' (ברירת מחדל).
  • יומני הנתב הנוכחיים (ברירת מחדל)
  • רשימה של שמות קבצים של vhost, כולל שמות קבצים לא תקינים (ברירת מחדל)
  • תיקייה שלמה של יומן הנתונים של הנתב (אופציונלי)
  • config-files (אופציונלי)

דוגמאות:

כדי לאסוף את כל פריטי ברירת המחדל, מזינים אחת מהאפשרויות הבאות:

  • שימוש בגרסה של sosreport ב-Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch
  • שימוש בגרסת ה-SoS של sosreport:
    sudo sosreport -o apigee-rrt --batch

אפשר גם לציין פריטים אופציונליים נוספים לאיסוף, בנוסף לכל פריטי ברירת המחדל. לדוגמה, כדי לציין את כל תיקיית היומן, באמצעות הדגל -k apigee-rrt.all-logs, מזינים אחת מהאפשרויות הבאות:

  • שימוש בגרסה של sosreport ב-Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -k apigee-rrt.all-logs
  • שימוש בגרסת ה-SoS של sosreport:
    sudo sosreport -o apigee-rrt --batch -k apigee-rrt.all-logs

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

-k apigee-rrt.all-logs
-k apigee-rrt.config-files

כדי לאסוף את כל הנתונים:

  • שימוש בגרסה של sosreport ב-Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch -a
  • שימוש בגרסת ה-SoS של sosreport:
    sudo sosreport -o apigee-rrt --batch -a

Cassandra

הפלגאין apigee-cassandra אוסף את הנתונים הבאים מצמתי Cassandra:

  • נתונים סטטיסטיים של המחשב:
    "hostname -i"
    "cat /proc/cpuinfo"
    "cat /proc/meminfo"
    "ulimit -a"
    "ps auxw"
    "df -kh"
    "du -sh"
    "netstat -ntlpu"
    "free -h"
    "ifconfig -h"
    "ps -ef"
  • הסטטוס והגרסה של רכיב Apigee apigee-all version && apigee-all status
  • יומני apigee-cassandra: כל הקבצים בתיקייה /opt/apigee/var/log/apigee-cassandra/
  • מספר הרשומות ביומן
  • פלט של הפקודה Top
  • Thread dump
  • קבצי תצורה: cassandra-topology.properties, cassandra.yaml, cassandra-env.sh
  • הפלט של Nodetool עבור הפרמטרים הבאים: version, status, ring, info, gossipinfo, compactionstats -H, tpstats, netstats, cfstats, proxyhistograms

דוגמה:

כדי לאסוף את כל פריטי ברירת המחדל, מזינים אחת מהאפשרויות הבאות:

  • שימוש בגרסה של sosreport ב-Apigee:
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-cassandra
  • שימוש בגרסת ה-SoS של sosreport:
    sudo sosreport -o apigee-cassandra