เครื่องมือ Sosreport

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

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

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

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

นอกจากนี้ Sosreport ยังเรียกใช้โปรแกรมภายนอกเพื่อรวบรวมข้อมูลเพิ่มเติม ซึ่งรวมถึงข้อมูลต่อไปนี้

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

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

  • sosreport: คำสั่งหลักสำหรับการรวบรวมข้อมูลและการสร้างรายงาน
  • apigee-sosreport: เครื่องมือเสริมที่ใช้ในการติดตั้ง sosreportและจัดการปลั๊กอิน sosreportที่เฉพาะเจาะจงสำหรับคอมโพเนนต์ Apigee

การติดตั้ง

ส่วนนี้จะอธิบายวิธีติดตั้ง sosreport

หากติดตั้ง sosreport เวอร์ชัน SoS ไว้แล้ว

หากติดตั้ง 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 พร้อมกับผลรวมตรวจสอบ เช่น

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 และอื่นๆ (ค่าเริ่มต้น)
  • บันทึกการจัดการปัจจุบัน (ค่าเริ่มต้น)
  • เอาต์พุต 10 อันดับแรกและเอาต์พุต jstacks ต่อเนื่อง (ค่าเริ่มต้น)
  • โฟลเดอร์บันทึกการจัดการทั้งหมด (ไม่บังคับ)
  • config-files (ไม่บังคับ)

ตัวอย่าง

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

  • การใช้ 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 จะรวบรวมข้อมูลต่อไปนี้จาก Management Processor (MP)

  • ชื่อโฮสต์ของเซิร์ฟเวอร์ (ค่าเริ่มต้น)
  • cpuinfo (ค่าเริ่มต้น)
  • meminfo (ค่าเริ่มต้น)
  • buildinfo/release info (ค่าเริ่มต้น)
  • สถานะ apigee-all (ค่าเริ่มต้น)
  • รายละเอียดเซิร์ฟเวอร์ (ค่าเริ่มต้น)
  • การตั้งค่าระดับ JVM เช่น หน่วยความจำ Djdk.tls.allowUnsafeServerCertChange ฯลฯ (ค่าเริ่มต้น)
  • บันทึก MP ปัจจุบัน (ค่าเริ่มต้น)
  • เอาต์พุตเมตริก 10 อันดับแรก, jstacks และ NIO ตามลำดับ (ค่าเริ่มต้น)
  • โฟลเดอร์บันทึก MP ทั้งหมด (ไม่บังคับ)
  • แผนผังการจัดประเภท (ไม่บังคับ)
  • ฮีปดัมป์ (ไม่บังคับ)
  • config-files (ไม่บังคับ)
  • การติดตามรันไทม์ (ไม่บังคับและใช้ได้เฉพาะเมื่อระบุ 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/release info (ค่าเริ่มต้น)
  • สถานะ apigee-all (ค่าเริ่มต้น)
  • รายละเอียดเซิร์ฟเวอร์ (ค่าเริ่มต้น)
  • เอาต์พุต ps ซึ่งจะให้การตั้งค่าระดับ JVM เช่น หน่วยความจำ, Djdk.tls.allowUnsafeServerCertChange และอื่นๆ (ค่าเริ่มต้น)
  • บันทึกเราเตอร์ปัจจุบัน (ค่าเริ่มต้น)
  • รายการชื่อไฟล์ vhost รวมถึงชื่อไฟล์ที่ไม่ถูกต้อง (ค่าเริ่มต้น)
  • โฟลเดอร์บันทึกของทั้งเราเตอร์ (ไม่บังคับ)
  • config-files (ไม่บังคับ)

ตัวอย่าง

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

  • การใช้ 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 version && apigee-all status
  • บันทึกของ apigee-cassandra ไฟล์ทั้งหมดใน /opt/apigee/var/log/apigee-cassandra/
  • จำนวนบันทึกการคอมมิต
  • เอาต์พุตของคำสั่ง Top
  • การดัมพ์เธรด
  • ไฟล์การกำหนดค่า: cassandra-topology.properties, cassandra.yaml, cassandra-env.sh
  • เอาต์พุต Nodetool สำหรับพารามิเตอร์ต่อไปนี้: 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
  • การใช้ sosreport เวอร์ชัน SoS
    sudo sosreport -o apigee-cassandra