הכלי Sosreport

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

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

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

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

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

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

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

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

התקנה

בטבלה הבאה מפורטות הזמינות ושיטת ההתקנה של הכלי 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 ואילך.

אם מבצעים שדרוג במקום ל-Edge for Private Cloud 4.52.01.01 ואילך, מריצים את הפקודה הבאה בכל צומת כדי לעדכן את הכלי Sosreport:

/opt/apigee/apigee-service/bin/apigee-service apigee-sosreport update

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

apigee-service apigee-sosreport version

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

sudo sosreport --list-plugins

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

sudo sosreport --list-plugins | grep apigee

בגרסאות 4.50.00.11 עד 4.52.01.00 של Edge for Private Cloud, הכלי 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.

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

אם גרסת ה-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→

יצירת דוח

גרסאות 4.52.01.01 ואילך של Edge for Private Cloud

הכלי 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, וגם סיכום הביקורת (checksum). לדוגמה:

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, וגם סיכום הביקורת (checksum). לדוגמה:

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

sudo man sosreport

פלאגינים של Apigee

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

שרת ניהול

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

  • שם המארח של השרת (ברירת מחדל)
  • cpuinfo (ברירת מחדל)
  • ‫meminfo (ברירת מחדל)
  • הגדרות של מכונה וירטואלית של Java‏ (JVM), כמו זיכרון, Djdk.tls.allowUnsafeServerCertChange וכו' (ברירת מחדל)
  • יומני הניהול הנוכחיים (ברירת מחדל)
  • עשרה פלטים עוקבים של top ו-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 נוכחיים (ברירת מחדל)
  • פלט של עשרה מדדים עוקבים של top, ‏ 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/
  • מספר יומני ה-commit
  • הפלט של הפקודה 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