הכלי Sosreport

מוצג המסמך של Apigee Edge.
עוברים אל מסמכי תיעוד של Apigee X.
מידע

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

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

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

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

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

הכלי 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.

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

דוגמאות:

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

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

דוגמאות:

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

  • שימוש בגרסת 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/
  • שמירת ספירת היומנים
  • הפלט של הפקודה בחלק העליון
  • תמונת מצב של שרשור
  • קובצי ההגדרות: 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