การเยียวยาตัวเองด้วย 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 รายการ
  • พอร์ตที่ระบุเปิดอยู่และยอมรับคำขอ
  • รองรับโปรโตคอลที่ระบุ
  • สถานะของการตอบกลับ

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

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

ตัวอย่างต่อไปนี้แสดงการกำหนดค่าคอมโพเนนต์เริ่มต้นสำหรับคอมโพเนนต์ 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 ใหม่ (edge-management-ui) component

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

คุณไม่สามารถเปลี่ยนการกำหนดค่าคอมโพเนนต์เริ่มต้นสำหรับคอมโพเนนต์ 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 (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (ฐานข้อมูล PostgreSQL)
  • apigee-qpidd (Qpidd)
  • 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 Router)

โปรดทราบว่า "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 (Cassandra)
  • apigee-openldap (OpenLDAP)
  • apigee-postgresql (ฐานข้อมูล PostgreSQL)
  • apigee-qpidd (Qpidd)
  • 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 Router)

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

/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 พอร์ตของ Daemon httpd apigee-monit ใช้ httpd สำหรับแอปแดชบอร์ดและเพื่อเปิดใช้รายงาน/ข้อมูลสรุป ค่าเริ่มต้นคือ 2812
conf_monit_httpd_allow ข้อจำกัดเกี่ยวกับคำขอไปยังhttpd Daemon 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 (ออลอินวัน)

/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-management-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 ดำเนินการ

    min hour day_of_month month day_of_week task_to_execute

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

    คุณไม่สามารถเรียกใช้ cron งานบ่อยกว่า 1 ครั้งต่อนาที

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

  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