أداة 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.

إذا كان إصدار 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 الإضافية). الدليل التلقائي الذي يتم فيه تخزين التقرير هو 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 وما إلى ذلك (الإعداد التلقائي)
  • سجلات الإدارة الحالية (الخيار التلقائي)
  • إخراج عشرة عمليات تتبُّع تسلسلية لأهم العمليات وstacks (الإعداد التلقائي)
  • مجلد سجلّ الإدارة بالكامل (اختياري)
  • ملفات الإعداد (اختياري)

أمثلة:

لجمع كل العناصر التلقائية، أدخِل أحد الخيارات التالية:

  • استخدام إصدار 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 (تلقائية)
  • تفاصيل الخادم (تلقائي)
  • إعدادات على مستوى الجهاز الافتراضي لآلة Java، مثل الذاكرة، Djdk.tls.allowUnsafeServerCertChange، وما إلى ذلك (تلقائي)
  • سجلات MP الحالية (الإعداد التلقائي)
  • عشرة من أهم المقاييس المتسلسلة ومقاييس jstacks وNIO (الإعداد التلقائي)
  • مجلد سجلّ "القياس المتعدّد" بالكامل (اختياري)
  • شجرة التصنيف (اختيارية)
  • لقطة لأجزاء من الذاكرة (اختياري)
  • ملفات الإعداد (اختياري)
  • تتبُّع وقت التشغيل (اختياري وفقط عند توفير 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 output. سيؤدي ذلك إلى عرض إعدادات على مستوى JVM، مثل الذاكرة وDjdk.tls.allowUnsafeServerCertChange وما إلى ذلك (الإعداد التلقائي).
  • سجلات جهاز التوجيه الحالي (الخيار التلقائي)
  • قائمة بأسماء ملفات المضيفات الافتراضية، بما في ذلك أسماء الملفات غير الصالحة (تلقائي)
  • مجلد سجلّ جهاز التوجيه بالكامل (اختياري)
  • ملفات الإعداد (اختياري)

أمثلة:

لجمع كل العناصر التلقائية، أدخِل أحد الخيارات التالية:

  • استخدام إصدار 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 وحالة apigee-all
  • سجلات apigee-cassandra: جميع الملفات ضِمن /opt/apigee/var/log/apigee-cassandra/
  • عدد سجلّات عمليات الدمج
  • ناتج الأمر Top
  • تفاصيل سلسلة التعليمات
  • ملفات الإعداد: cassandra-topology.properties وcassandra.yaml وcassandra-env.sh
  • Nodetool Output for the following parameters: 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