הכלי Sosreport

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

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

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

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

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

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

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

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

התקנה

בקטע הזה מוסבר איך להתקין את sosreport.

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

אם גרסת SoS המקורית של sosreport כבר מותקנת במערכת, אין להגדיר את הגרסה של Apigee, כי נתיבי ההתקנה עלולים להתנגש. במקום זאת, מעתיקים את יישומי הפלאגין הספציפיים ל-Apigee מהספרייה /opt/apigee/apigee-sosreport/source/plugin אל ספריית Python site-packages המתאימה באמצעות פקודה כמו אלה המוצגות בהמשך. לדוגמה, כדי להעתיק את agigee-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.

מתקין את הגרסה של 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 gatehring 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→

יצירת דוח

כדי ליצור דוח באמצעות הכלי Sosreport, מריצים את הפקודה sosreport עם אפשרות הפלאגין הנדרשת (מידע נוסף זמין בקטע Apigee Plugins). ספריית ברירת המחדל שבה שמור הדוח היא 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 (ברירת מחדל)
  • הגדרות של מכונה וירטואלית (JVM) של Java, כמו זיכרון, Djdk.tls.allowUnsafeServerCertChange וכו' (ברירת מחדל)
  • יומני הניהול הנוכחיים (ברירת מחדל)
  • פלט של עשר סדרות מובילות ושל jstacks ברצף (ברירת מחדל)
  • כל תיקיית יומן הניהול (אופציונלי)
  • קובצי תצורה (אופציונלי)

דוגמאות:

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

  • באמצעות הגרסה של 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/פרסום (ברירת מחדל)
  • סטטוס apigee-all (ברירת מחדל)
  • פרטי השרת (ברירת מחדל)
  • הגדרות ברמת ה-JVM, לדוגמה, זיכרון, Djdk.tls.allowUnsafeServerCertChange וכו' (ברירת מחדל)
  • יומני MP נוכחיים (ברירת מחדל)
  • פלט של עשרה סדרות מובילות, jstacks ו-NIO Metrics (ברירת מחדל)
  • תיקיית יומן של MP (אופציונלי)
  • עץ סיווג (אופציונלי)
  • תמונת מצב של ערימה (אופציונלי)
  • קובצי תצורה (אופציונלי)
  • מעקב בזמן הריצה (אופציונלי ורק אם 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

אפשר גם לציין פריטים אופציונליים נוספים לאיסוף, בנוסף לכל פריטי ברירת המחדל. לדוגמה, כדי לציין את תמונת המצב של הזיכרון (heap dump), באמצעות הדגל -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/פרסום (ברירת מחדל)
  • סטטוס apigee-all (ברירת מחדל)
  • פרטי השרת (ברירת מחדל)
  • פלט ps. פעולה זו תאפשר לקבוע הגדרות ברמת ה-JVM, כמו זיכרון, Djdk.tls.allowUnsafeServerCertChange וכן הלאה (ברירת מחדל).
  • יומני הנתב הנוכחיים (ברירת מחדל)
  • רשימת שמות של קובצי vhost כולל שמות קבצים לא תקינים (ברירת מחדל)
  • כל תיקיית היומן של הנתב (אופציונלי)
  • קובצי תצורה (אופציונלי)

דוגמאות:

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

  • באמצעות הגרסה של 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

קסנדרה

הפלאגין 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 && apigee-all
  • יומני apigee-cassandra: כל הקבצים ב-/opt/apigee/var/log/apigee-cassandra/
  • מספר יומני ההתחייבות
  • הפלט של הפקודה Top
  • תמונת מצב של שרשורים
  • קובצי תצורה: cassandra-topology.properties, cassandra.yaml, cassandra-env.sh
  • Nodetool פלט עבור הפרמטרים הבאים: גרסה, סטטוס, טבעת, מידע, 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