เครื่องมือ 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 ใน Edge สำหรับเวอร์ชันที่รองรับของ Private Cloud

เวอร์ชัน OPDK การติดตั้งใหม่ การอัปเกรดเดิมที่ใช้อยู่
4.50.00.11 - 4.52.01.00 ต้องติดตั้งด้วยตนเอง ต้องติดตั้งด้วยตนเอง
4.52.01.01+ ติดตั้งโดยค่าเริ่มต้น ติดตั้งโดยค่าเริ่มต้น
Amazon Linux 2023 ขึ้นไป ไม่รองรับ ไม่รองรับ

เครื่องมือ Sosreport จะได้รับการติดตั้งโดยค่าเริ่มต้นในทุกโหนดเมื่อตั้งค่าหรืออัปเดตเป็น Edge สำหรับ Private Cloud เวอร์ชัน 4.52.01.01 ขึ้นไป

คุณเรียกใช้คำสั่งต่อไปนี้เพื่อยืนยันการติดตั้งและเวอร์ชันของเครื่องมือ Sosreport และปลั๊กอินได้

apigee-service apigee-sosreport version

หากต้องการแสดงรายการปลั๊กอินทั้งหมดที่รองรับเครื่องมือ Sosreport ให้ใช้คำสั่งต่อไปนี้

sudo sosreport --list-plugins

หากต้องการแสดงเฉพาะปลั๊กอินของ Apigee ให้เรียกใช้คำสั่งต่อไปนี้

sudo sosreport --list-plugins | grep apigee

สำหรับ Edge for Private Cloud เวอร์ชัน 4.50.00.11 ถึง 4.52.01.00 เครื่องมือ Sosreport จะพร้อมใช้งาน แต่อาจต้องตั้งค่าด้วยตนเอง ทั้งนี้ขึ้นอยู่กับสภาพแวดล้อมของคุณ

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

หากระบบของคุณติดตั้ง sosreport เวอร์ชัน SoS ต้นฉบับอยู่แล้ว อย่าตั้งค่าเวอร์ชันของ Apigee เนื่องจากเส้นทางการติดตั้งอาจขัดแย้งกัน แต่ให้คัดลอกปลั๊กอินที่เจาะจง Apigee จากไดเรกทอรี /opt/apigee/apigee-sosreport/source/plugin ไปยังไดเรกทอรี Python site-packages ที่เหมาะสมโดยใช้คำสั่งเช่นเดียวกับที่แสดงด้านล่าง เช่น หากต้องการคัดลอก apigee-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` สำหรับเวอร์ชัน 4.50.00.11 ถึง 4.52.01.00

การติดตั้ง 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 gathering 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→

การสร้างรายงาน

Edge for Private Cloud เวอร์ชัน 4.52.01.01 ขึ้นไป

เครื่องมือ Sosreport สามารถตรวจหาคอมโพเนนต์ที่มีอยู่ในโหนดและสร้างรายงานบันทึกทั้งหมดที่ทีมสนับสนุนต้องการเพื่อการวิเคราะห์

หากต้องการสร้างรายงาน ให้ใช้คำสั่งต่อไปนี้

apigee-service apigee-sosreport diagnose

คุณเพิ่ม Flag ต่อไปนี้ได้หากจำเป็น

  • -f | --file | --config : เส้นทางไปยังไฟล์การกำหนดค่าที่ใช้ขณะทำการตั้งค่า
    Example: apigee-service apigee-sosreport diagnose -f /path/to/configuration.file
  • -o | --output : เปลี่ยนเส้นทาง sosreport ที่สร้างขึ้นไปยังไดเรกทอรีหรือเส้นทางที่เฉพาะเจาะจง
    Example: apigee-service apigee-sosreport diagnose -o /path/to/output_directory/

Edge สำหรับ Private Cloud เวอร์ชัน 4.50.00.11 ถึง 4.52.01.00

หากต้องการสร้างรายงานโดยใช้เครื่องมือ 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