เครื่องมือ 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

หากติดตั้ง 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 สำหรับ 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 เวอร์ชัน 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 Virtual Mac (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 (ค่าเริ่มต้น)
  • ข้อมูลรุ่น/ข้อมูลรุ่น (ค่าเริ่มต้น)
  • สถานะ apigee-all (ค่าเริ่มต้น)
  • รายละเอียดเซิร์ฟเวอร์ (ค่าเริ่มต้น)
  • การตั้งค่าระดับ JVM เช่น หน่วยความจำ Djdk.tls.allowUnsafeServerCertChange และอื่นๆ (ค่าเริ่มต้น)
  • บันทึก MP ปัจจุบัน (ค่าเริ่มต้น)
  • 10 อันดับแรกตามลำดับ, เอาต์พุตเมตริก jstacks และ NIO (ค่าเริ่มต้น)
  • โฟลเดอร์บันทึก 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 (ค่าเริ่มต้น)
  • ข้อมูลรุ่น/ข้อมูลรุ่น (ค่าเริ่มต้น)
  • สถานะ 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, Compionstats -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