การเยียวยาตัวเองด้วย 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 ในคลัสเตอร์ 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:

  • ต้องล้มเหลวหลายครั้งภายในจำนวนรอบที่กำหนดก่อนดำเนินการ
  • กำหนดเส้นทางคำขอที่กำหนดเอง
เครื่องมือประมวลผลข้อความ /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
Edge UI
OpenLDAP
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-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 เวอร์ชัน 4.19.01 ขึ้นไปสำหรับ Private Cloud

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

สำหรับข้อมูลเกี่ยวกับuninstalling 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 แบบคลาสสิก)

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

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

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

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

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

พร็อพเพอร์ตี้ คำอธิบาย
conf_monit_httpd_port พอร์ตของ Daemon httpd 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 (ออลอินวัน)

/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 รายการกำลังทำงานอยู่ บริการหนึ่งไม่มีการตรวจสอบในขณะนี้

คุณอาจได้รับข้อผิดพลาด 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-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 เพียง 1 รายการในไฟล์ (ระบบจะไม่นับรวมบรรทัดที่มีการแสดงความคิดเห็น)

หากต้องการหยุดหรือปิดใช้ 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