การเยียวยาตัวเองด้วย apigee-monit

Apigee Edge สำหรับ Private Cloud มี apigee-monit ซึ่งเป็นเครื่องมือที่อิงตาม ยูทิลิตี monit แบบโอเพนซอร์ส apigee-monit จะ สำรวจบริการ Edge เป็นระยะๆ หากบริการไม่พร้อมใช้งาน apigee-monit จะพยายามรีสตาร์ทบริการ

หากต้องการใช้ apigee-monit คุณต้องติดตั้งด้วยตนเอง ซึ่งไม่ได้เป็นส่วนหนึ่งของการติดตั้งมาตรฐาน

โดยค่าเริ่มต้น apigee-monit จะตรวจสอบสถานะของบริการ Edge ทุกๆ 60 วินาที

การเริ่มใช้งานอย่างง่าย

ส่วนนี้จะแสดงวิธีเริ่มต้นใช้งาน apigee-monit อย่างรวดเร็ว

หากคุณใช้ Amazon Linux หรือ Oracle-Linux-7.X ให้ติดตั้ง monit ผ่าน Fedora ก่อน ไม่เช่นนั้น ให้ข้ามขั้นตอนนี้

sudo yum install -y https://kojipkgs.fedoraproject.org/packages/monit/5.25.1/1.el6/x86_64/monit-5.25.1-1.el6.x86_64.rpm

หากต้องการติดตั้ง apigee-monit ให้ทำตามขั้นตอนต่อไปนี้

  ติดตั้ง apigee-monit
/opt/apigee/apigee-service/bin/apigee-service apigee-monit install
/opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
/opt/apigee/apigee-service/bin/apigee-service apigee-monit start

ซึ่งจะติดตั้ง apigee-monit และเริ่มตรวจสอบคอมโพเนนต์ทั้งหมดในโหนดโดยค่าเริ่มต้น

  หยุดการตรวจสอบคอมโพเนนต์
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name
/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
  เริ่มตรวจสอบคอมโพเนนต์
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all
  ดูข้อมูลสถานะสรุป
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary
  ดูapigee-monitไฟล์บันทึก
cat /opt/apigee/var/log/apigee-monit/apigee-monit.log

เราจะอธิบายแต่ละหัวข้อเหล่านี้และหัวข้ออื่นๆ โดยละเอียดในส่วนต่อไปนี้

เกี่ยวกับ apigee-monit

apigee-monit ช่วยให้มั่นใจว่าคอมโพเนนต์ทั้งหมดในโหนดจะทำงานอยู่เสมอ โดยทำได้ด้วยการ ให้บริการที่หลากหลาย ซึ่งรวมถึงบริการต่อไปนี้

  • รีสตาร์ทบริการที่ล้มเหลว
  • การแสดงข้อมูลสรุป
  • สถานะการตรวจสอบการบันทึก
  • การส่งการแจ้งเตือน
  • การตรวจสอบบริการที่ไม่ใช่ Edge

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

สถาปัตยกรรม apigee-monit

ในระหว่างการติดตั้งและกำหนดค่า Apigee Edge สำหรับ Private Cloud คุณสามารถเลือกติดตั้งอินสแตนซ์แยกต่างหาก ของ apigee-monit ในแต่ละโหนดในคลัสเตอร์ apigee-monitอินสแตนซ์ที่แยกกันเหล่านี้จะทำงานโดยอิสระจากกัน โดยจะไม่สื่อสารสถานะของคอมโพเนนต์ไปยังโหนดอื่นๆ และจะไม่สื่อสารความล้มเหลวของยูทิลิตีการตรวจสอบเองไปยังบริการส่วนกลางใดๆ

รูปภาพต่อไปนี้แสดงสถาปัตยกรรม apigee-monit ในคลัสเตอร์ 5 โหนด

สถาปัตยกรรม
  ของ Apigee monit ในคลัสเตอร์ 5 โหนด
รูปที่ 1: อินสแตนซ์แยกของ apigee-monit ทำงานแยกกันในแต่ละโหนดในคลัสเตอร์

การกำหนดค่าคอมโพเนนต์

apigee-monit ใช้การกำหนดค่าคอมโพเนนต์เพื่อพิจารณาว่าจะตรวจสอบคอมโพเนนต์ใด ตรวจสอบด้านใดของคอมโพเนนต์ และจะดำเนินการใดในกรณีที่เกิดข้อผิดพลาด

โดยค่าเริ่มต้น apigee-monit จะตรวจสอบคอมโพเนนต์ Edge ทั้งหมดในโหนดโดยใช้การกำหนดค่าคอมโพเนนต์ที่กำหนดไว้ล่วงหน้า หากต้องการดูการตั้งค่าเริ่มต้น ให้ดูไฟล์apigee-monitการกำหนดค่าคอมโพเนนต์ คุณเปลี่ยนการกำหนดค่าเริ่มต้นของคอมโพเนนต์ไม่ได้

apigee-monit จะตรวจสอบแง่มุมต่างๆ ของคอมโพเนนต์ โดยขึ้นอยู่กับว่ากำลังตรวจสอบคอมโพเนนต์ใด ตารางต่อไปนี้แสดงสิ่งที่ apigee-monit ตรวจสอบสำหรับแต่ละคอมโพเนนต์ และแสดงให้เห็นว่าการกำหนดค่าคอมโพเนนต์ อยู่ที่ใดสำหรับแต่ละคอมโพเนนต์ โปรดทราบว่าคอมโพเนนต์บางอย่างกำหนดไว้ในไฟล์การกำหนดค่าเดียว ส่วนคอมโพเนนต์อื่นๆ มีการกำหนดค่าของตัวเอง

ส่วนประกอบ ตำแหน่งการกำหนดค่า สิ่งที่ตรวจสอบ
เซิร์ฟเวอร์การจัดการ /opt/apigee/edge-management-server/monit/default.conf apigee-monit checks:
  • พอร์ตที่ระบุเปิดอยู่และยอมรับคำขอ
  • รองรับโปรโตคอลที่ระบุ
  • สถานะของการตอบกลับ

นอกจากนี้ สำหรับคอมโพเนนต์เหล่านี้ apigee-monit

  • ต้องเกิดความล้มเหลวหลายครั้งภายในจำนวนรอบที่กำหนดก่อนจึงจะดำเนินการ
  • ตั้งค่าเส้นทางคำขอที่กำหนดเอง
Message Processor /opt/apigee/edge-message-processor/monit/default.conf
เซิร์ฟเวอร์ Postgres /opt/apigee/edge-postgres-server/monit/default.conf
Qpid Server /opt/apigee/edge-qpid-server/monit/default.conf
เราเตอร์ /opt/apigee/edge-router/monit/default.conf
Cassandra
Edge UI
SymasLDAP
Postgres
Qpid
Zookeeper
/opt/apigee/data/apigee-monit/monit.conf apigee-monit checks:
  • บริการกำลังทำงาน

ตัวอย่างต่อไปนี้แสดงการกำหนดค่าคอมโพเนนต์เริ่มต้นสำหรับคอมโพเนนต์ edge-router

check host edge-router with address localhost
  restart program = "/opt/apigee/apigee-service/bin/apigee-service edge-router monitrestart"
  if failed host 10.1.1.0 port 8081 and protocol http
    and request "/v1/servers/self/uuid"
    with timeout 15 seconds
    for 2 times within 3 cycles
  then restart

  if failed port 15999 and protocol http
    and request "/v1/servers/self"
    and status < 600
    with timeout 15 seconds
    for 2 times within 3 cycles
  then restart

ตัวอย่างต่อไปนี้แสดงการกำหนดค่าเริ่มต้นสำหรับคอมโพเนนต์ UI แบบคลาสสิก (edge-ui)

check process edge-ui
 with pidfile /opt/apigee/var/run/edge-ui/edge-ui.pid
 start program = "/opt/apigee/apigee-service/bin/apigee-service edge-ui start" with timeout 55 seconds
 stop program = "/opt/apigee/apigee-service/bin/apigee-service edge-ui stop"

ซึ่งจะมีผลกับ UI แบบคลาสสิก ไม่ใช่ UI ใหม่ของ Edge ที่มีชื่อคอมโพเนนต์เป็น edge-management-ui

คุณไม่สามารถเปลี่ยนการกำหนดค่าคอมโพเนนต์เริ่มต้นสำหรับคอมโพเนนต์ Apigee Edge สำหรับ Private Cloud ได้ อย่างไรก็ตาม คุณสามารถเพิ่มการกำหนดค่าคอมโพเนนต์ของคุณเองสำหรับบริการภายนอก เช่น ปลายทางเป้าหมาย หรือบริการ httpd ดูข้อมูลเพิ่มเติมได้ที่การกำหนดค่าคอมโพเนนต์ที่ไม่ใช่ Apigee

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

ติดตั้ง apigee-monit

apigee-monit จะไม่ได้รับการติดตั้งโดยค่าเริ่มต้น คุณสามารถติดตั้งด้วยตนเองหลังจากอัปเกรดหรือติดตั้ง Apigee Edge สำหรับ Private Cloud เวอร์ชัน 4.19.01 ขึ้นไป

ส่วนนี้จะอธิบายวิธีการติดตั้ง apigee-monit

ดูข้อมูลเกี่ยวกับการถอนการติดตั้ง apigee-monit ได้ที่ถอนการติดตั้ง apigee-monit

ติดตั้ง apigee-monit

ส่วนนี้จะอธิบายวิธีการติดตั้ง apigee-monit

วิธีติดตั้ง apigee-monit

  1. ติดตั้ง apigee-monit ด้วยคำสั่งต่อไปนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit install
  2. กำหนดค่า apigee-monit ด้วยคำสั่งต่อไปนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
  3. เริ่ม apigee-monit ด้วยคำสั่งต่อไปนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit start
  4. ทำตามขั้นตอนนี้ซ้ำในแต่ละโหนดในคลัสเตอร์

หยุดและเริ่มตรวจสอบคอมโพเนนต์

เมื่อบริการหยุดทำงานไม่ว่าด้วยเหตุผลใดก็ตาม apigee-monit จะพยายามรีสตาร์ทบริการ

ซึ่งอาจทำให้เกิดปัญหาหากคุณต้องการหยุดคอมโพเนนต์โดยตั้งใจ เช่น คุณอาจต้องการหยุดคอมโพเนนต์เมื่อต้องการสำรองข้อมูลหรืออัปเกรด หาก apigee-monit รีสตาร์ทบริการในระหว่างการสำรองข้อมูลหรือการอัปเกรด ขั้นตอนการบำรุงรักษาอาจถูกขัดขวาง ซึ่งอาจทำให้ล้มเหลว

ส่วนต่อไปนี้แสดงตัวเลือกในการหยุดการตรวจสอบคอมโพเนนต์

หยุดคอมโพเนนต์และเลิกตรวจสอบ

หากต้องการหยุดคอมโพเนนต์และเลิกตรวจสอบ ให้เรียกใช้คำสั่งต่อไปนี้

/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop-component -c component_name
component_name อาจเป็นค่าใดค่าหนึ่งต่อไปนี้
  • apigee-cassandra (คาสซานดรา)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (ฐานข้อมูล PostgreSQL)
  • apigee-qpidd (Qpidd)
  • apigee-sso (SSO ของ Edge)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (เซิร์ฟเวอร์การจัดการ)
  • edge-management-ui (UI ใหม่ของ Edge)
  • edge-message-processor (ตัวประมวลผลข้อความ)
  • edge-postgres-server (เซิร์ฟเวอร์ Postgres)
  • edge-qpid-server (เซิร์ฟเวอร์ Qpid)
  • edge-router (เราเตอร์ Edge)
  • edge-ui (UI แบบคลาสสิก)

โปรดทราบว่า "all" ไม่ใช่ตัวเลือกที่ถูกต้องสำหรับ stop-component คุณหยุดและ ยกเลิกการตรวจสอบได้ครั้งละ 1 คอมโพเนนต์เท่านั้นด้วย stop-component

หากต้องการรีสตาร์ทคอมโพเนนต์และกลับมาตรวจสอบอีกครั้ง ให้เรียกใช้คำสั่งต่อไปนี้

/opt/apigee/apigee-service/bin/apigee-service apigee-monit start-component -c component_name

โปรดทราบว่า "all" ไม่ใช่ตัวเลือกที่ถูกต้องสำหรับ start-component

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

เลิกตรวจสอบคอมโพเนนต์ (แต่ไม่หยุดคอมโพเนนต์)

หากต้องการเลิกตรวจสอบคอมโพเนนต์ (แต่ไม่หยุดคอมโพเนนต์) ให้เรียกใช้คำสั่งต่อไปนี้

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c component_name
component_name อาจเป็นค่าใดค่าหนึ่งต่อไปนี้
  • apigee-cassandra (คาสซานดรา)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (ฐานข้อมูล PostgreSQL)
  • apigee-qpidd (Qpidd)
  • apigee-sso (SSO ของ Edge)
  • apigee-zookeeper (ZooKeeper)
  • edge-management-server (เซิร์ฟเวอร์การจัดการ)
  • edge-management-ui (UI ใหม่ของ Edge)
  • edge-message-processor (ตัวประมวลผลข้อความ)
  • edge-postgres-server (เซิร์ฟเวอร์ Postgres)
  • edge-qpid-server (เซิร์ฟเวอร์ Qpid)
  • edge-router (เราเตอร์ Edge)
  • edge-ui (UI แบบคลาสสิก)

หากต้องการกลับมาตรวจสอบคอมโพเนนต์ ให้เรียกใช้คำสั่งต่อไปนี้

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c component_name

เลิกตรวจสอบคอมโพเนนต์ทั้งหมด (แต่ไม่ต้องหยุด)

หากต้องการหยุดตรวจสอบคอมโพเนนต์ทั้งหมด (แต่ไม่หยุดคอมโพเนนต์) ให้เรียกใช้คำสั่งต่อไปนี้

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all

หากต้องการกลับมาตรวจสอบคอมโพเนนต์ทั้งหมด ให้เรียกใช้คำสั่งต่อไปนี้

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all

หยุดคอมโพเนนต์ทั้งหมดและเลิกตรวจสอบ

หากต้องการหยุดคอมโพเนนต์ทั้งหมดและเลิกตรวจสอบ ให้เรียกใช้คำสั่งต่อไปนี้

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all
/opt/apigee/apigee-service/bin/apigee-all stop

หากต้องการรีสตาร์ทคอมโพเนนต์ทั้งหมดและกลับมาตรวจสอบอีกครั้ง ให้เรียกใช้คำสั่งต่อไปนี้

/opt/apigee/apigee-service/bin/apigee-all start
/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor -c all

หากต้องการหยุดการตรวจสอบคอมโพเนนต์ทั้งหมด คุณสามารถปิดใช้ apigee-monit ได้ตามที่อธิบายไว้ใน หยุด เริ่มต้น และปิดใช้ apigee-monit

หยุด เริ่ม และปิดใช้ apigee-monit

เช่นเดียวกับบริการอื่นๆ คุณสามารถหยุดและเริ่มapigee-monitใช้apigee-service คำสั่งได้ นอกจากนี้ apigee-monit ยังรองรับคำสั่ง unmonitor ซึ่งช่วยให้คุณ หยุดตรวจสอบคอมโพเนนต์ชั่วคราวได้

หยุด apigee-monit

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

/opt/apigee/apigee-service/bin/apigee-service apigee-monit stop

เริ่ม apigee-monit

หากต้องการเริ่ม apigee-monit ให้ใช้คำสั่งต่อไปนี้

/opt/apigee/apigee-service/bin/apigee-service apigee-monit start

ปิดใช้ apigee-monit

คุณระงับการตรวจสอบคอมโพเนนต์ทั้งหมดในโหนดได้โดยใช้คำสั่งต่อไปนี้

/opt/apigee/apigee-service/bin/apigee-service apigee-monit unmonitor -c all

หรือคุณจะปิดใช้ apigee-monit อย่างถาวรได้โดยการถอนการติดตั้งจากโหนดตามที่อธิบายไว้ ในถอนการติดตั้ง apigee-monit

ถอนการติดตั้ง apigee-monit

วิธีถอนการติดตั้ง apigee-monit

  1. หากตั้งค่างาน cron เพื่อตรวจสอบ apigee-monit ให้นำงาน cron ออกก่อนถอนการติดตั้ง apigee-monit โดยทำดังนี้
    sudo rm /etc/cron.d/apigee-monit.cron
  2. หยุด apigee-monit ด้วยคำสั่งต่อไปนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit stop
  3. ถอนการติดตั้ง apigee-monit ด้วยคำสั่งต่อไปนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit uninstall
  4. ทำตามขั้นตอนนี้ซ้ำในแต่ละโหนดในคลัสเตอร์

ตรวจสอบคอมโพเนนต์ที่ติดตั้งใหม่

หากติดตั้งคอมโพเนนต์ใหม่ในโหนดที่เรียกใช้ apigee-monit คุณจะเริ่มตรวจสอบได้ โดยการเรียกใช้คำสั่ง restart ของ apigee-monit ซึ่งจะสร้างไฟล์ monit.conf ใหม่ที่จะ รวมคอมโพเนนต์ใหม่ในการกำหนดค่าคอมโพเนนต์

ตัวอย่างต่อไปนี้จะรีสตาร์ท apigee-monit

/opt/apigee/apigee-service/bin/apigee-service apigee-monit restart

ปรับแต่ง apigee-monit

คุณปรับแต่งapigee-monitการตั้งค่าต่างๆ ได้ ซึ่งรวมถึง

  1. การตั้งค่าการควบคุมapigee-monitเริ่มต้น
  2. การตั้งค่าการกำหนดค่าส่วนกลาง
  3. การกำหนดค่าคอมโพเนนต์ที่ไม่ใช่ Apigee

การตั้งค่าการควบคุมเริ่มต้นของ apigee-monit

คุณปรับแต่งapigee-monitการตั้งค่าการควบคุมเริ่มต้น เช่น ความถี่ของการตรวจสอบสถานะและ ตำแหน่งของไฟล์ apigee-monit ได้ ซึ่งทำได้โดยการแก้ไขไฟล์พร็อพเพอร์ตี้โดยใช้เทคนิคโค้ดที่มีการกำหนดค่า ไฟล์พร็อพเพอร์ตี้จะยังคงอยู่แม้หลังจากที่คุณอัปเกรด Apigee Edge สำหรับ Private Cloud แล้วก็ตาม

ตารางต่อไปนี้อธิบายapigee-monitการตั้งค่าการควบคุมเริ่มต้นที่คุณปรับแต่งได้

พร็อพเพอร์ตี้ คำอธิบาย
conf_monit_httpd_port พอร์ตของ httpd daemon apigee-monit ใช้ httpd สำหรับแดชบอร์ด แอป และเพื่อเปิดใช้รายงาน/ข้อมูลสรุป ค่าเริ่มต้นคือ 2812
conf_monit_httpd_allow ข้อจำกัดเกี่ยวกับคำขอไปยัง Daemon httpd apigee-monit ใช้ httpd เพื่อเรียกใช้แอปแดชบอร์ดและเปิดใช้รายงาน/ข้อมูลสรุป ค่านี้ต้อง ชี้ไปยัง localhost (โฮสต์ที่ httpd ทำงานอยู่

หากต้องการกำหนดให้คำขอมีชื่อผู้ใช้และรหัสผ่าน ให้ใช้ไวยากรณ์ต่อไปนี้

conf_monit_httpd_allow=allow username:"password"\nallow 127.0.0.1

เมื่อเพิ่มชื่อผู้ใช้และรหัสผ่าน ให้แทรก "\n" ระหว่างข้อจำกัดแต่ละรายการ อย่า แทรกบรรทัดใหม่หรือการขึ้นบรรทัดใหม่จริงในค่า

conf_monit_monit_datadir ไดเรกทอรีที่จัดเก็บรายละเอียดกิจกรรม
conf_monit_monit_delay_time ระยะเวลาที่ apigee-monit รอหลังจากโหลดลงในหน่วยความจำเป็นครั้งแรกก่อนที่จะ ทำงาน ซึ่งจะส่งผลต่อapigee-monitการตรวจสอบกระบวนการครั้งแรกเท่านั้น
conf_monit_monit_logdir ตำแหน่งของapigee-monitไฟล์บันทึก
conf_monit_monit_retry_time ความถี่ที่ apigee-monit พยายามตรวจสอบแต่ละกระบวนการ โดยค่าเริ่มต้นคือ 60 วินาที
conf_monit_monit_rundir ตำแหน่งของไฟล์ PID และไฟล์สถานะ ซึ่ง apigee-monit ใช้ในการตรวจสอบกระบวนการ

วิธีปรับแต่งapigee-monitการตั้งค่าการควบคุมเริ่มต้น

  1. แก้ไขไฟล์ต่อไปนี้
    /opt/apigee/customer/application/monit.properties

    หากไม่มีไฟล์ ให้สร้างไฟล์และตั้งค่าเจ้าของเป็นผู้ใช้ "apigee" ดังนี้

    chown apigee:apigee /opt/apigee/customer/application/monit.properties

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

  2. ตั้งค่าหรือแทนที่ค่าพร็อพเพอร์ตี้ด้วยค่าใหม่

    ตัวอย่างเช่น หากต้องการเปลี่ยนตำแหน่งของไฟล์บันทึกเป็น /tmp ให้เพิ่มหรือแก้ไขพร็อพเพอร์ตี้ต่อไปนี้

    conf_monit_monit_logdir=/tmp/apigee-monit.log
  3. บันทึกการเปลี่ยนแปลงลงในไฟล์ monit.properties
  4. กำหนดค่า apigee-monit อีกครั้งด้วยคำสั่งต่อไปนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit configure
  5. โหลด apigee-monit อีกครั้งด้วยคำสั่งต่อไปนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    หากรีสตาร์ท apigee-monit ไม่ได้ ให้ตรวจสอบข้อผิดพลาดในไฟล์บันทึกตามที่อธิบายไว้ใน เข้าถึงไฟล์บันทึกของ apigee-monit

  6. ทำตามขั้นตอนนี้ซ้ำกับแต่ละโหนดในคลัสเตอร์

การตั้งค่าการกำหนดค่าส่วนกลาง

คุณกำหนดการตั้งค่าการกำหนดค่าส่วนกลางสำหรับ apigee-monit ได้ เช่น เพิ่มการแจ้งเตือนทางอีเมล สำหรับการแจ้งเตือน โดยทำได้ด้วยการสร้างไฟล์การกำหนดค่าในไดเรกทอรี /opt/apigee/data/apigee-monit แล้วรีสตาร์ท apigee-monit

หากต้องการกำหนดการตั้งค่าการกำหนดค่าส่วนกลางสำหรับ apigee-monit ให้ทำดังนี้

  1. สร้างไฟล์การกำหนดค่าคอมโพเนนต์ใหม่ในตำแหน่งต่อไปนี้
    /opt/apigee/data/apigee-monit/filename.conf

    โดย filename สามารถเป็นชื่อไฟล์ที่ถูกต้องใดก็ได้ ยกเว้น "monit"

  2. เปลี่ยนเจ้าของไฟล์การกำหนดค่าใหม่เป็นผู้ใช้ "apigee" ดังตัวอย่างต่อไปนี้
    chown apigee:apigee /opt/apigee/data/apigee-monit/my-mail-config.conf
  3. เพิ่มการตั้งค่าการกำหนดค่าส่วนกลางลงในไฟล์ใหม่ ตัวอย่างต่อไปนี้กำหนดค่า เซิร์ฟเวอร์อีเมลและตั้งค่าผู้รับการแจ้งเตือน
    SET MAILSERVER smtp.gmail.com PORT 465
      USERNAME "example-admin@gmail.com" PASSWORD "PASSWORD"
      USING SSL, WITH TIMEOUT 15 SECONDS
    
    SET MAIL-FORMAT {
      from: edge-alerts@example.com
      subject: Monit Alert -- Service: $SERVICE $EVENT on $HOST
    }
    SET ALERT fred@example.com
    SET ALERT nancy@example.com

    ดูรายการตัวเลือกการกำหนดค่าส่วนกลางทั้งหมดได้ใน เอกสารประกอบ Monit

  4. บันทึกการเปลี่ยนแปลงลงในไฟล์การกำหนดค่าคอมโพเนนต์
  5. โหลด apigee-monit อีกครั้งด้วยคำสั่งต่อไปนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    หาก apigee-monit ไม่รีสตาร์ท ให้ตรวจสอบไฟล์บันทึกหาข้อผิดพลาดตามที่อธิบายไว้ใน เข้าถึงไฟล์บันทึกของ apigee-monit

  6. ทำตามขั้นตอนนี้ซ้ำกับแต่ละโหนดในคลัสเตอร์

การกำหนดค่าคอมโพเนนต์ที่ไม่ใช่ Apigee

คุณสามารถเพิ่มการกำหนดค่าของคุณเองลงใน apigee-monit เพื่อให้ตรวจสอบบริการที่ไม่ได้เป็นส่วนหนึ่งของ Apigee Edge สำหรับ Private Cloud เช่น คุณสามารถใช้ apigee-monit เพื่อตรวจสอบว่า API ทำงานอยู่โดยการส่งคำขอไปยัง ปลายทางเป้าหมาย

วิธีเพิ่มการกำหนดค่าคอมโพเนนต์ที่ไม่ใช่ Apigee

  1. สร้างไฟล์การกำหนดค่าคอมโพเนนต์ใหม่ในตำแหน่งต่อไปนี้
    /opt/apigee/data/apigee-monit/filename.conf

    โดย filename สามารถเป็นชื่อไฟล์ที่ถูกต้องใดก็ได้ ยกเว้น "monit"

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

  2. เปลี่ยนเจ้าของไฟล์การกำหนดค่าใหม่เป็นผู้ใช้ "apigee" ดังตัวอย่างต่อไปนี้
    chown apigee:apigee /opt/apigee/data/apigee-monit/my-config.conf
  3. เพิ่มการกำหนดค่าที่กำหนดเองลงในไฟล์ใหม่ ตัวอย่างต่อไปนี้จะตรวจสอบปลายทาง เป้าหมายในเซิร์ฟเวอร์ในเครื่อง
    CHECK HOST localhost_validate_test WITH ADDRESS localhost
      IF FAILED
        PORT 15999
        PROTOCOL http
        REQUEST "/validate__test"
        CONTENT = "Server Ready"
        FOR 2 times WITHIN 3 cycles
      THEN alert

    ดูรายการการตั้งค่าการกำหนดค่าที่เป็นไปได้ทั้งหมดได้ใน เอกสารประกอบของ Monit

  4. บันทึกการเปลี่ยนแปลงลงในไฟล์การกำหนดค่า
  5. โหลด apigee-monit อีกครั้งด้วยคำสั่งต่อไปนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-monit reload

    หาก apigee-monit ไม่รีสตาร์ท ให้ตรวจสอบไฟล์บันทึกหาข้อผิดพลาดตามที่อธิบายไว้ใน เข้าถึงไฟล์บันทึกของ apigee-monit

  6. ทำตามขั้นตอนนี้ซ้ำกับแต่ละโหนดในคลัสเตอร์

โปรดทราบว่าการดำเนินการนี้ใช้ได้กับคอมโพเนนต์ที่ไม่ใช่ Edge เท่านั้น คุณปรับแต่งการกำหนดค่าคอมโพเนนต์ สำหรับคอมโพเนนต์ Edge ไม่ได้

เข้าถึงไฟล์บันทึกของ apigee-monit

apigee-monit บันทึกกิจกรรมทั้งหมด รวมถึงเหตุการณ์ การรีสตาร์ท การเปลี่ยนแปลงการกำหนดค่า และการแจ้งเตือนในไฟล์บันทึก

ตำแหน่งเริ่มต้นของไฟล์บันทึกคือ

/opt/apigee/var/log/apigee-monit/apigee-monit.log

คุณเปลี่ยนตำแหน่งเริ่มต้นได้โดยปรับแต่งการตั้งค่าapigee-monitการควบคุม

รายการไฟล์บันทึกมีรูปแบบดังนี้

'edge-message-processor' trying to restart
[UTC Dec 14 16:20:42] info     : 'edge-message-processor' trying to restart
'edge-message-processor' restart: '/opt/apigee/apigee-service/bin/apigee-service edge-message-processor monitrestart'

คุณปรับแต่งรูปแบบของรายการในไฟล์บันทึก apigee-monit ไม่ได้

ดูสถานะรวมด้วย apigee-monit

apigee-monit มีคำสั่งต่อไปนี้ซึ่งให้ข้อมูลสถานะแบบรวมเกี่ยวกับ คอมโพเนนต์ในโหนด

คำสั่ง การใช้งาน
report
/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
summary
/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary

เราจะอธิบายคำสั่งแต่ละคำสั่งเหล่านี้อย่างละเอียดในส่วนต่อไปนี้

รายงาน

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

/opt/apigee/apigee-service/bin/apigee-service apigee-monit report

ตัวอย่างต่อไปนี้แสดงเอาต์พุต report ในการกำหนดค่า AIO (All-In-One)

/opt/apigee/apigee-service/bin/apigee-service apigee-monit report
up:            11 (100.0%)
down:           0 (0.0%)
initialising:   0 (0.0%)
unmonitored:    1 (8.3%)
total:         12 services

ในตัวอย่างนี้ apigee-monit รายงานว่าบริการ 11 รายการจาก 12 รายการทำงานได้ ขณะนี้ระบบไม่ได้ตรวจสอบบริการ 1 รายการ

คุณอาจได้รับข้อผิดพลาด Connection refused เมื่อเรียกใช้คำสั่ง report เป็นครั้งแรก ในกรณีนี้ ให้รอระยะเวลาของพร็อพเพอร์ตี้ conf_monit_monit_delay_time แล้วลองอีกครั้ง

สรุป

คำสั่ง summary จะแสดงรายการคอมโพเนนต์แต่ละรายการและระบุสถานะของคอมโพเนนต์ ตัวอย่างต่อไปนี้ จะเรียกใช้คำสั่ง summary

/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary

ตัวอย่างต่อไปนี้แสดงเอาต์พุต summary ในการกำหนดค่า AIO (All-In-One)

/opt/apigee/apigee-service/bin/apigee-service apigee-monit summary
Monit 5.25.1 uptime: 4h 20m
 Service Name                     Status                      Type
 host_name                        OK                          System
 apigee-zookeeper                 OK                          Process
 apigee-cassandra                 OK                          Process
 apigee-openldap                  OK                          Process
 apigee-qpidd                     OK                          Process
 apigee-postgresql                OK                          Process
 edge-ui                          OK                          Process
 edge-qpid-server                 OK                          Remote Host
 edge-postgres-server             OK                          Remote Host
 edge-management-server           OK                          Remote Host
 edge-router                      OK                          Remote Host
 edge-message-processor           OK                          Remote Host

หากคุณได้รับข้อผิดพลาด Connection refused เมื่อเรียกใช้คำสั่ง summary เป็นครั้งแรก ให้ลองรอระยะเวลาของพร็อพเพอร์ตี้ conf_monit_monit_delay_time แล้วลองอีกครั้ง

ตรวจสอบ apigee-monit

แนวทางปฏิบัติแนะนำคือให้ตรวจสอบเป็นประจำว่า apigee-monit ทำงานในแต่ละโหนด

หากต้องการตรวจสอบว่า apigee-monit ทำงานอยู่ ให้ใช้คำสั่งต่อไปนี้

/opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit

Apigee ขอแนะนำให้คุณเรียกใช้คำสั่งนี้เป็นระยะๆ ในแต่ละโหนดที่เรียกใช้ apigee-monit วิธีหนึ่งในการทำเช่นนี้คือการใช้ยูทิลิตี เช่น cron ซึ่งจะเรียกใช้งานที่กำหนดเวลาไว้ในช่วงเวลาที่กำหนดไว้ล่วงหน้า

วิธีใช้ cron เพื่อตรวจสอบ apigee-monit

  1. เพิ่มcronการรองรับโดยคัดลอกไดเรกทอรี apigee-monit.cron ไปยังไดเรกทอรี /etc/cron.d ดังตัวอย่างต่อไปนี้
    cp /opt/apigee/apigee-monit/cron/apigee-monit.cron /etc/cron.d/
  2. เปิดไฟล์ apigee-monit.cron เพื่อแก้ไข

    ไฟล์ apigee-monit.cron จะกำหนดงาน cron ที่จะดำเนินการ รวมถึงความถี่ในการดำเนินการงานนั้น ตัวอย่างต่อไปนี้แสดงค่าเริ่มต้น

    # Cron entry to check if monit process is running. If not start it
    */2 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit

    ไฟล์นี้ใช้ไวยากรณ์ต่อไปนี้ ซึ่งฟิลด์ 5 รายการแรกจะกำหนดเวลาที่ apigee-monit ดำเนินการ apigee-monit

    min hour day_of_month month day_of_week task_to_execute

    เช่น เวลาดำเนินการเริ่มต้นคือ */2 * * * * ซึ่งจะสั่งให้ cron ตรวจสอบกระบวนการ apigee-monit ทุก 2 นาที

    คุณเรียกใช้cronได้ไม่เกิน 1 ครั้งต่อนาที

    ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้ cron ได้ในเอกสารประกอบหรือหน้า Man ของระบบปฏิบัติการเซิร์ฟเวอร์

  3. เปลี่ยนcronให้ตรงกับนโยบายขององค์กร เช่น หากต้องการ เปลี่ยนความถี่ในการเรียกใช้เป็นทุกๆ 5 นาที ให้ตั้งค่าคำจำกัดความของงานเป็นดังนี้
    */5 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit
  4. บันทึกไฟล์ apigee-monit.cron
  5. ทำตามขั้นตอนนี้ซ้ำกับแต่ละโหนดในคลัสเตอร์

หาก cron ไม่เริ่มดู apigee-monit ให้ตรวจสอบสิ่งต่อไปนี้

  • มีบรรทัดว่างหลังคำจำกัดความของงาน cron
  • มีการกำหนดงาน cron เพียงงานเดียวในไฟล์ (บรรทัดที่มีความคิดเห็นจะไม่ นับรวม)

หากต้องการหยุดหรือปิดใช้ apigee-monit ชั่วคราว คุณต้องปิดใช้cronงานนี้ด้วย ไม่เช่นนั้น cron จะรีสตาร์ท apigee-monit

หากต้องการปิดใช้ cron ให้ทำอย่างใดอย่างหนึ่งต่อไปนี้

  • ลบไฟล์ /etc/cron.d/apigee-monit.cron โดยทำดังนี้
    sudo rm /etc/cron.d/apigee-monit.cron

    คุณจะต้องคัดลอกอีกครั้งหากต้องการเปิดใช้ cron อีกครั้งในภายหลังเพื่อดู apigee-monit

    หรือ

  • แก้ไขไฟล์ /etc/cron.d/apigee-monit.cron และแสดงความคิดเห็นในคำจำกัดความของงาน โดยเพิ่ม "#" ที่ต้นบรรทัด เช่น
    # 10 * * * * root /opt/apigee/apigee-service/bin/apigee-service apigee-monit monitor_monit