เครื่องมือ Sosreport

คุณกำลังดูเอกสารประกอบ Apigee Edge
ไปที่ เอกสารประกอบเกี่ยวกับ Apigee X.
ข้อมูล

Sosreport เป็นเครื่องมือการวินิจฉัยและการรวบรวมข้อมูลระดับระบบที่อิงตามโอเพนซอร์ส ซอฟต์แวร์ SoS คุณสามารถใช้เครื่องมือ Sosreport เพื่อรวบรวมข้อมูลเพื่อช่วยแก้ไขข้อบกพร่อง ในโหนดที่ Apigee คอมโพเนนต์กำลังทำงาน เครื่องมือจะรวบรวมและจัดเก็บข้อมูลไว้ในระบบไฟล์ของโหนด

เครื่องมือ Sosreport จะรวบรวมรายละเอียดการกำหนดค่า ข้อมูลระบบ และ ข้อมูลการวินิจฉัย จากระบบของคุณ และจัดเก็บข้อมูลไว้ในที่เก็บถาวร สำหรับคอมโพเนนต์ Apigee นั้น Sosreport จะรวบรวมข้อมูลต่อไปนี้

  • เวอร์ชันเคอร์เนลที่ใช้งานอยู่
  • โมดูลที่โหลด
  • ไฟล์การกำหนดค่าระบบและบริการ

Sosreport ยังเรียกใช้โปรแกรมภายนอกเพื่อรวบรวมเพิ่มเติมด้วย เหล่านี้ ได้แก่

  • บันทึก Apigee จากคอมโพเนนต์ทั้งหมด
  • การวินิจฉัยรันไทม์
  • การวินิจฉัย Cassandra ที่รวบรวมโดยใช้คำสั่ง Nodetool

เครื่องมือ Sosreport มี 2 คำสั่งหลักดังนี้

  • 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
  • การใช้ Sosreport เวอร์ชัน SoS
    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 (ค่าเริ่มต้น)
  • การตั้งค่า Java Virtual Machine (JVM) เช่น หน่วยความจำ Djdk.tls.allowUnsafeServerCertChange และอื่นๆ (ค่าเริ่มต้น)
  • บันทึกการจัดการปัจจุบัน (ค่าเริ่มต้น)
  • เอาต์พุต 10 รายการแรกและ jstacks ตามลำดับ (ค่าเริ่มต้น)
  • โฟลเดอร์บันทึกการจัดการทั้งหมด (ไม่บังคับ)
  • ไฟล์การกำหนดค่า (ไม่บังคับ)

ตัวอย่าง

หากต้องการรวบรวมรายการเริ่มต้นทั้งหมด ให้ป้อนรายการใดรายการหนึ่งต่อไปนี้

  • กำลังใช้ sosreport เวอร์ชันของ Apigee: วันที่
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mgmt --batch my_report-dir
  • กำลังใช้ sosreport เวอร์ชัน SoS: วันที่
    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
  • กำลังใช้ sosreport เวอร์ชัน SoS: วันที่
    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
  • กำลังใช้ sosreport เวอร์ชัน SoS: วันที่
    sudo sosreport -o apigee-mgmt --batch -k apigee-mgmt.config-files -k apigee-mgmt.all-logs

    หรือป้อนรายการต่อไปนี้

    sudo sosreport -o apigee-mgmt --batch -a

Message Processor

ปลั๊กอิน apigee-mp จะรวบรวมข้อมูลต่อไปนี้จาก ตัวประมวลผลการจัดการ (MP):

  • ชื่อโฮสต์ของเซิร์ฟเวอร์ (ค่าเริ่มต้น)
  • cpuinfo (ค่าเริ่มต้น)
  • meminfo (ค่าเริ่มต้น)
  • Buildinfo/ข้อมูลรุ่น (ค่าเริ่มต้น)
  • สถานะ apigee-all (ค่าเริ่มต้น)
  • รายละเอียดเซิร์ฟเวอร์ (ค่าเริ่มต้น)
  • การตั้งค่าระดับ JVM เช่น หน่วยความจำ Djdk.tls.allowUnsafeServerCertChange ฯลฯ (ค่าเริ่มต้น)
  • บันทึก MP ปัจจุบัน (ค่าเริ่มต้น)
  • เอาต์พุตเมตริก jstack และ NIO ตามลำดับ 10 รายการ (ค่าเริ่มต้น)
  • ทั้งโฟลเดอร์บันทึกของ MP (ไม่บังคับ)
  • แผนผังการจัดประเภท (ไม่บังคับ)
  • ฮีปดัมป์ (ไม่บังคับ)
  • ไฟล์การกำหนดค่า (ไม่บังคับ)
  • การติดตามรันไทม์ (ไม่บังคับและเฉพาะเมื่อ org:env:api:rev detail ให้ไว้) หมายเหตุ: ปลั๊กอินจะรอ 25 วินาทีเพื่อรวบรวมคำขอรันไทม์

ตัวอย่าง

หากต้องการรวบรวมรายการเริ่มต้นทั้งหมด ให้ป้อนรายการใดรายการหนึ่งต่อไปนี้

  • กำลังใช้ sosreport เวอร์ชันของ Apigee: วันที่
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-mp --batch
  • กำลังใช้ sosreport เวอร์ชัน SoS: วันที่
    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
  • กำลังใช้ sosreport เวอร์ชัน SoS: วันที่
    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
  • กำลังใช้ sosreport เวอร์ชัน SoS: วันที่
    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
  • กำลังใช้ sosreport เวอร์ชัน SoS: วันที่
    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
  • กำลังใช้ sosreport เวอร์ชัน SoS: วันที่
    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
  • กำลังใช้ sosreport เวอร์ชัน SoS: วันที่
    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
  • กำลังใช้ sosreport เวอร์ชัน SoS: วันที่
    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/
  • คอมมิตจำนวนบันทึก
  • เอาต์พุตของคำสั่งบนสุด
  • ดัมพ์เทรด
  • ไฟล์การกำหนดค่า: cassandra-topology.properties, cassandra.yaml cassandra-env.sh
  • เอาต์พุต Nodetool สำหรับพารามิเตอร์ต่อไปนี้: version, status, ring, info, gossipinfo, actionstats -H, tpstats, netstats, cfstats, พร็อกซีฮิสโตแกรม

ตัวอย่าง

หากต้องการรวบรวมรายการเริ่มต้นทั้งหมด ให้ป้อนรายการใดรายการหนึ่งต่อไปนี้

  • กำลังใช้ sosreport เวอร์ชันของ Apigee: วันที่
    sudo sosreport --config-file /opt/apigee/apigee-sosreport/conf/sos.conf  -o apigee-cassandra
  • กำลังใช้ sosreport เวอร์ชัน SoS: วันที่
    sudo sosreport -o apigee-cassandra