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

Edge for Private Cloud v4.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:

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

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

ดูข้อมูลเกี่ยวกับการถอนการติดตั้ง 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 บนแพลตฟอร์มที่ไม่รองรับ

CentOS/RHEL/Oracle Linux เวอร์ชัน 6.9 ไม่รองรับ apigee-monit แต่ส่วนนี้จะอธิบายวิธีติดตั้ง

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

  1. ติดตั้งที่เก็บ Extra Packages for Enterprise Linux (หรือเรียกสั้นๆ ว่า EPEL) โดยทำดังนี้
    sudo yum install epel-release
  2. ปิดใช้ EPEL:
    yum-config-manager --disable epel
  3. Temporarily 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 แบบคลาสสิก)

โปรดทราบว่า "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 พอร์ตของ 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 (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 ดำเนินการ

    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