ابزار Sosreport

شما در حال مشاهده اسناد Apigee Edge هستید.
مشاهده مستندات Apigee X.

Sosreport یک ابزار تشخیصی و جمع آوری داده در سطح سیستم است که بر اساس نرم افزار منبع باز SoS است. می‌توانید از ابزار Sosreport برای جمع‌آوری اطلاعات برای کمک به اشکال‌زدایی مشکلات در گره‌هایی که یک مؤلفه Apigee در حال اجراست استفاده کنید. این ابزار اطلاعات را به صورت محلی در سیستم فایل گره جمع آوری و ذخیره می کند.

ابزار Sosreport جزئیات پیکربندی، اطلاعات سیستم و اطلاعات تشخیصی را از سیستم شما جمع آوری می کند و داده ها را در یک آرشیو ذخیره می کند. برای اجزای Apigee، Sosreport موارد زیر را جمع آوری می کند:

  • نسخه هسته در حال اجرا
  • ماژول های بارگذاری شده
  • فایل های پیکربندی سیستم و سرویس

Sosreport همچنین برنامه های خارجی را برای جمع آوری اطلاعات بیشتر اجرا می کند، از جمله:

  • Apigee از همه مؤلفه ها ثبت می شود.
  • تشخیص زمان اجرا
  • تشخیص کاساندرا با استفاده از دستورات nodetool جمع آوری شد.

ابزار Sosreport شامل دو دستور اصلی است:

  • sosreport : دستور اولیه برای جمع آوری داده ها و ایجاد گزارش.
  • apigee-sosreport : ابزاری کمکی که برای نصب sosreport و مدیریت پلاگین‌های sosreport مخصوص اجزای Apigee استفاده می‌شود.

نصب و راه اندازی

این بخش نحوه نصب sosreport توضیح می دهد.

اگر نسخه SoS sosreport قبلاً نصب شده باشد

اگر نسخه SoS اصلی sosreport قبلاً روی سیستم شما نصب شده است، نسخه Apigee را تنظیم نکنید ، زیرا ممکن است مسیرهای نصب با هم تداخل داشته باشند. درعوض، پلاگین های مخصوص Apigee را از دایرکتوری /opt/apigee/apigee-sosreport/source/plugin در پوشه site-packages مناسب Python با استفاده از دستوری مانند موارد زیر کپی کنید. به عنوان مثال، برای کپی کردن agigee-mgmt.py :

  • اگر از پایتون 2 استفاده می کنید، عبارت:
    sudo cp apigee-mgmt.py /usr/lib/python2.7/site-packages/sos/plugins/
    را وارد کنید
  • اگر از پایتون 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 نسخه نصب شده پایتون شما است.

همچنین می توانید یکی از دستورات زیر را اجرا کنید:

  • فقط برای تأیید افزونه‌های خاص 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 ، یکی از موارد زیر را وارد کنید:

  • استفاده از نسخه Apigee از sosreport :
    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 نشان داده شده است، و همچنین چک‌سوم. مثلا:

برای گزینه‌های موجود بیشتر برای sosreport ، فایل man را بخوانید:

sudo man sosreport

پلاگین های Apigee

بخش‌های زیر افزونه‌های Apigee را برای ابزار Sosreport برای مؤلفه‌های زیر توضیح می‌دهند:

سرور مدیریت

افزونه apigee-mgmt اطلاعات زیر را از سرور مدیریت جمع آوری می کند:

  • نام میزبان سرور (پیش‌فرض)
  • cpuinfo (پیش‌فرض)
  • meminfo (پیش فرض)
  • تنظیمات ماشین مجازی جاوا (JVM)، مانند حافظه، Djdk.tls.allowUnsafeServerCertChange و غیره (پیش‌فرض)
  • گزارش‌های مدیریت فعلی (پیش‌فرض)
  • ده خروجی متوالی بالا و jstacks (پیش‌فرض)
  • کل پوشه گزارش مدیریت (اختیاری)
  • فایل های پیکربندی (اختیاری)

مثال ها:

برای جمع آوری تمام موارد پیش فرض، یکی از موارد زیر را وارد کنید:

  • با استفاده از نسخه Apigee از sosreport :
    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

برای جمع آوری تمام موارد پیش فرض و همچنین آیتم(های) اختیاری مشخص شده در دستور، به عنوان مثال، فایل های پیکربندی و همه گزارش ها، یکی از موارد زیر را وارد کنید:

  • با استفاده از نسخه Apigee از sosreport :
    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

برای جمع آوری همه چیز، یکی از موارد زیر را وارد کنید:

  • با استفاده از نسخه Apigee از sosreport :
    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 (پیش فرض)
  • اطلاعات ساخت/اطلاعات انتشار (پیش‌فرض)
  • وضعیت apigee-all (پیش‌فرض)
  • جزئیات سرور (پیش‌فرض)
  • تنظیمات سطح JVM، به عنوان مثال، حافظه، Djdk.tls.allowUnsafeServerCertChange و غیره (پیش‌فرض)
  • گزارش‌های MP فعلی (پیش‌فرض)
  • ده خروجی ترتیبی بالا، jstacks و NIO Metrics (پیش‌فرض)
  • کل پوشه گزارش MP (اختیاری)
  • درخت طبقه بندی (اختیاری)
  • تخلیه پشته (اختیاری)
  • فایل های پیکربندی (اختیاری)
  • ردیابی زمان اجرا (اختیاری و فقط زمانی که org:env:api:rev detail ارائه شده باشد). توجه: پلاگین 25 ثانیه منتظر می ماند تا درخواست های زمان اجرا را جمع آوری کند.

مثال ها:

برای جمع آوری تمام موارد پیش فرض، یکی از موارد زیر را وارد کنید:

  • با استفاده از نسخه Apigee از sosreport :
    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، با استفاده از flag -k apigee-mp.heap ، یکی از موارد زیر را وارد کنید:

  • با استفاده از نسخه Apigee از sosreport :
    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

شما می توانید چندین گزینه را در یک دستور مشخص کنید. مثلا:

  • با استفاده از نسخه Apigee از sosreport :
    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

برای جمع آوری همه چیز به جز ردیابی، یکی از موارد زیر را وارد کنید:

  • استفاده از نسخه Apigee از sosreport :
    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 (پیش فرض)
  • اطلاعات ساخت/اطلاعات انتشار (پیش‌فرض)
  • وضعیت apigee-all (پیش‌فرض)
  • جزئیات سرور (پیش‌فرض)
  • خروجی ps این تنظیمات سطح JVM را می دهد، به عنوان مثال، حافظه، Djdk.tls.allowUnsafeServerCertChange، و غیره (پیش فرض).
  • گزارش‌های روتر فعلی (پیش‌فرض)
  • لیست نام فایل های vhost از جمله نام فایل های بد (پیش فرض)
  • کل پوشه گزارش روتر (اختیاری)
  • فایل های پیکربندی (اختیاری)

مثال ها:

برای جمع آوری تمام موارد پیش فرض، یکی از موارد زیر را وارد کنید:

  • با استفاده از نسخه Apigee از sosreport :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-rrt --batch
  • با استفاده از نسخه SoS sosreport :
    sudo sosreport -o apigee-rrt --batch

شما همچنین می توانید موارد اختیاری اضافی را برای جمع آوری، علاوه بر همه موارد پیش فرض، مشخص کنید. برای مثال، برای تعیین کل پوشه log، با استفاده از flag -k apigee-rrt.all-logs ، یکی از موارد زیر را وارد کنید:

  • با استفاده از نسخه Apigee از sosreport :
    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

برای جمع آوری همه چیز:

  • با استفاده از نسخه Apigee از sosreport :
    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 version && apigee-all status
  • لاگ های apigee-cassandra: همه فایل های زیر /opt/apigee/var/log/apigee-cassandra/
  • تعداد لاگ متعهد
  • خروجی فرمان بالا
  • روگرفت نخ
  • فایل های پیکربندی: cassandra-topology.properties ، cassandra.yaml ، cassandra-env.sh
  • خروجی Nodetool برای پارامترهای زیر: نسخه، وضعیت، حلقه، اطلاعات، gossipinfo، compactionstats -H، tpstats، netstats، cfstats، پروکسی هیستوگرام ها

مثال:

برای جمع آوری تمام موارد پیش فرض، یکی از موارد زیر را وارد کنید:

  • استفاده از نسخه Apigee از sosreport :
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-cassandra
  • با استفاده از نسخه SoS sosreport :
    sudo sosreport -o apigee-cassandra