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

Edge สำหรับ Private Cloud เวอร์ชัน 4.19.01

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

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

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

คู่มือเริ่มต้นฉบับย่อ

ตารางต่อไปนี้แสดงวิธีเริ่มต้นใช้งาน 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 โหนด

ภาพที่ 1: อินสแตนซ์แยกต่างหากของ apigee-monit จะทำงานแยกกันในแต่ละโหนดในคลัสเตอร์

แพลตฟอร์มที่รองรับ

apigee-monit รองรับแพลตฟอร์มต่อไปนี้สำหรับคลัสเตอร์ Private Cloud (ระบบปฏิบัติการที่รองรับสำหรับ apigee-monit จะขึ้นอยู่กับเวอร์ชันของ Private Cloud)

ระบบปฏิบัติการ เวอร์ชัน Private Cloud
v4.50.00 v4.51.00 v4.52.00
CentOS 7.5, 7.6, 7.7, 7.8 7.5, 7.6, 7.7, 7.8 7.5, 7.6, 7.7, 7.8
RedHat Enterprise Linux (RHEL) 7.5, 7.6, 7.7, 7.8 7.5, 7.6, 7.7, 7.8, 7.9, 8.0 7.5, 7.6, 7.7, 7.8, 7.9, 8.0
Oracle Linux 7.5, 7.6, 7.7, 7.8 7.5, 7.6, 7.7, 7.8 7.5, 7.6, 7.7, 7.8
* แม้ว่าระบบจะไม่รองรับทางเทคนิค แต่คุณติดตั้งและใช้ apigee-monit ใน CentOS/RHEL/Oracle เวอร์ชัน 6.9 สำหรับ Apigee Edge สำหรับ Private Cloud เวอร์ชัน 4.19.01 ได้

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

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

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

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

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

ติดตั้ง apigee-monit

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

หัวข้อนี้จะอธิบายวิธีการติดตั้ง apigee-monit ในแพลตฟอร์มที่รองรับ รวมถึงเวอร์ชัน 6.9 ของ CentOS/RHEL/Oracle Linux ซึ่งระบบไม่รองรับ

สำหรับข้อมูลเกี่ยวกับ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 ไม่รองรับใน CentOS/RHEL/Oracle Linux เวอร์ชัน 6.9 แต่ส่วนนี้จะอธิบายวิธีการติดตั้ง

วิธีติดตั้ง apigee-monit ใน CentOS/RHEL/Oracle Linux เวอร์ชัน 6.9

  1. ติดตั้งแพ็กเกจเสริมสำหรับที่เก็บของ Enterprise Linux (หรือเรียกสั้นๆ ว่า EPEL) ดังนี้
    sudo yum install epel-release
  2. ปิดใช้ EPEL:
    yum-config-manager --disable epel
  3. ชั่วคราว เปิดใช้ EPEL และติดตั้ง monit:
    yum --enablerepo=epel install monit

    โปรดทราบว่าต้องปิดใช้ที่เก็บ EPEL หลังการติดตั้ง monit ตัวเลือก enablerepo จะเปิดใช้เฉพาะที่เก็บที่ระบุสำหรับคำสั่งปัจจุบันเท่านั้น

  4. ติดตั้ง apigee-monit:
    apigee-service apigee-monit install
    apigee-service apigee-monit configure
    apigee-service apigee-monit start
  5. ยืนยันว่าได้ปิดใช้ EPEL แล้วหลังจากติดตั้ง apigee-monit:
    yum repolist all | grep epel/x86_64
    !epel/x86_64                  Extra Packages for Enterprise Linu disabled

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

    sudo yum-config-manager --disable epel

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

เมื่อบริการหยุดทำงานไม่ว่าด้วยเหตุผลใดก็ตาม 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