เปิดใช้การหมุนเวียนบันทึกสําหรับคอมโพเนนต์ Edge

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

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

  • /opt/apigee/var/log/edge-message-processor/logs/system.log
  • /opt/apigee/var/log/edge-message-processor/logs/events.log
  • /opt/apigee/var/log/edge-message-processor/logs/startupruntimeerrors.log
  • /opt/apigee/var/log/edge-message-processor/logs/configurations.log
  • /opt/apigee/var/log/edge-message-processor/logs/transactions.log

มีไฟล์ที่คล้ายกันสำหรับคอมโพเนนต์ edge-* อื่นๆ (ที่ชื่อ ขึ้นต้นด้วย edge-) เช่น edge-management-server edge-router, edge-postgres-server และ edge-qpid-server

คอมโพเนนต์ edge-* แต่ละรายการนี้ยังสร้างไฟล์บันทึกเพิ่มเติมซึ่งเป็นการเปลี่ยนเส้นทางด้วย ของคอนโซลของคอมโพเนนต์ที่เกี่ยวข้อง ในกรณีของคอมโพเนนต์โปรแกรมประมวลผลข้อความ ไฟล์นี้มีชื่อว่า /opt/apigee/var/log/edge-message-processor/edge-message-processor.log คอมโพเนนต์ edge-* อื่นๆ จะสร้างไฟล์ที่คล้ายกัน ไฟล์เหล่านี้ การหมุนเวียนจะไม่ทำโดย ไลบรารีบันทึกแบ็ก แต่ใช้ logrotate และ crontab

ก่อนเริ่มต้น

  • หากคุณไม่คุ้นเคยกับการกำหนดค่าของ logrotate โปรดอ่าน logrotate manual
  • หากคุณไม่คุ้นเคยกับการกำหนดค่าของ crontab โปรดอ่าน crontabmanual

เปิดใช้การหมุนบันทึก

เริ่มต้นด้วย Edge สำหรับ Private Cloud เวอร์ชัน 4.52 เมื่อคุณติดตั้ง edge-* ซึ่งเป็นรายการ crontab สำหรับ ระบบจะสร้างบันทึกการหมุนเวียนนี้โดยอัตโนมัติใน crontab ของผู้ใช้ apigee งาน Cron นี้จะเรียกใช้ทุก ชั่วโมงโดยค่าเริ่มต้น และใช้ยูทิลิตี logrotate เพื่อหมุนเวียนบันทึก หากมีหลาย edge-* คอมโพเนนต์จะติดตั้งในโหนดเดียวกัน (ตัวอย่างเช่น ในการติดตั้งแบบ All-in-One หรือ เราเตอร์และผู้ประมวลผลข้อความได้รับการติดตั้งไว้ในโหนดเดียว) คอมโพเนนต์ทั้งหมดจะมีรายการ cron ของตัวเองสำหรับ กำลังหมุนเวียนบันทึกที่เกี่ยวข้อง

หมายเหตุ

  • หากไม่ต้องการให้มีการติดตั้งคอมโพเนนต์ edge-* ตั้งค่า logrotate cronjob ตั้งค่าแฟล็ก “ENABLE_LOGROTATE=n” ในไฟล์การกำหนดค่าแบบเงียบที่คุณใช้ สำหรับการติดตั้ง หากไม่ได้ตั้งค่างาน Cron ในระหว่างการติดตั้ง คุณสามารถตั้งค่างาน cron ได้ ในภายหลัง โดยทำตามขั้นตอนเพื่อ เปิดใช้ cron logrotate ของคอมโพเนนต์
  • สำหรับคอมโพเนนต์ edge-router งาน Cron เพิ่มเติมของ logrotate คือ ที่กำหนดค่าไว้โดยค่าเริ่มต้นด้วย Cron นี้จะหมุนการเข้าถึงและบันทึกข้อผิดพลาดที่สร้างโดย Nginx

ตัวอย่างต่อไปนี้แสดงการกำหนดค่าและการดำเนินการด้านการดูแลระบบต่างๆ ที่คุณสามารถทำได้

ดูรายการ Cron ในโหนด

sudo crontab -u apigee -l

ดูรายการ Cron logrotate ของคอมโพเนนต์

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -s

ตัวอย่างเช่น หากต้องการดู cron logrotate ของ edge-message-processor ให้เรียกใช้

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s

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

การกำหนดค่า logrotate ของคอมโพเนนต์จะอยู่ในไฟล์ $APIGEE_ROOT/<component>/logrotate/logrotate.conf ตัวอย่างเช่น ในกรณีของ edge-message-processor อาจมีการกำหนดค่า logrotate ของโหนด พบใน $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf

เปิดใช้ Cron logrotate ของคอมโพเนนต์

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e

ตัวอย่างเช่น หากต้องการเปิดใช้ cron logrotate ของ edge-message-processor ให้เรียกใช้

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e

ปิดใช้ Cron logrotate ของคอมโพเนนต์

$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -d

ตัวอย่างเช่น หากต้องการปิดใช้ cron logrotate ของ edge-message-processor ให้เรียกใช้

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -d

เปลี่ยนกำหนดเวลา Cron ของคำสั่ง logrotate ที่ต้องการ

ในโหนดที่คุณต้องการเปลี่ยนกำหนดเวลา cron ของ logrotate ให้เปิด ไฟล์ลบล้างการกำหนดค่าของคอมโพเนนต์ ไฟล์การลบล้างการกำหนดค่าของคอมโพเนนต์ edge-* แสดงอยู่ในตารางด้านล่าง

ส่วนประกอบ ไฟล์ลบล้างการกำหนดค่า
edge-message-processor $APIGEE_ROOT/customer/application/message-processor.properties
edge-management-server $APIGEE_ROOT/customer/application/management-server.properties
edge-router $APIGEE_ROOT/customer/application/router.properties
edge-postgres-server $APIGEE_ROOT/customer/application/postgres-server.properties
edge-qpid-server $APIGEE_ROOT/customer/application/qpid-serverproperties

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

conf_logrotate_cron_duration=0 * * * *

วิธีตั้งค่าการลบล้างการกำหนดค่า

  1. ตรวจสอบว่าผู้ใช้ apigee อ่านไฟล์ได้
  2. ใช้กำหนดเวลา Cron ที่ใหม่กว่ากับคอมโพเนนต์ดังนี้
    $APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e

เช่น หากต้องการใช้กำหนดเวลา cron ที่ใหม่กว่ากับ logrotate ของ edge-message-processor ให้ป้อน

$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e

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

การกำหนดค่า logrotate เพิ่มเติม

คุณสามารถทำสิ่งต่างๆ ได้เช่นเดียวกับขั้นตอนที่ปรากฏในส่วนด้านบนสำหรับการแก้ไขกำหนดเวลา Cron แก้ไขการกำหนดค่าเพิ่มเติม ตารางด้านล่างจะอธิบายการกำหนดค่าเหล่านี้

การกำหนดค่า คำอธิบาย
conf_logrotate_bin_location ตำแหน่งของไบนารีลอจิกเตต ค่าเริ่มต้น: /usr/sbin/logrotate
conf_logrotate_status_file ไฟล์สถานะที่บันทึกสถานะรันไทม์ของ Logrotate - รายการมีสิทธิ์อ่าน/เขียน สำหรับผู้ใช้ apigee คน ค่าเริ่มต้น: $APIGEE_ROOT/var/run/<component>/logrotate.status
conf_logrotate_logs บันทึกที่จะหมุนเวียน ใส่ไวลด์การ์ดได้ ค่าเริ่มต้น: $APIGEE_ROOT/var/log/<component>/<component>.log
conf_logrotate_rotate จำนวนการหมุนเวียน ค่าเริ่มต้น: "5"
conf_logrotate_compress บีบอัดไฟล์ที่หมุนหรือไม่ ค่าเริ่มต้น: “บีบอัด”
conf_logrotate_compress_type ประเภทของการบีบอัด ค่าเริ่มต้น: “delaycompress” เลื่อนการบีบอัดของ ไฟล์ที่หมุนล่าสุดไปยังรอบหมุนบันทึกถัดไป
conf_logrotate_size ขีดจำกัดขนาดบันทึกสำหรับการหมุนเวียน ค่าเริ่มต้น: "10M"

ใช้กลไกและ Cron ในการหมุนบันทึกของคุณเอง

หากการกำหนดค่าไม่ตรงตามข้อกำหนดสำหรับการหมุนเวียน <component>.log Apigee คือคุณใช้กลไกการหมุนเวียนไฟล์บันทึกของคุณเองโดยใช้เครื่องมือต่างๆ เช่น Logrotate หรืออื่นๆ ตัวอย่างเช่น การกำหนดค่าที่ Apigee ให้ไว้ให้คุณหมุนบันทึกตามขนาดได้ แต่ ต้องการหมุนเวียนบันทึกตามวันที่/เวลาหรือปัจจัยอื่นๆ ในกรณีดังกล่าว คุณควร ปิดใช้ cron logrotate จาก Apigee แล้วตั้งค่างาน cron ของคุณเองตามความจำเป็น

หากต้องการอ้างอิงรายการ cron การหมุนเวียนบันทึกของ Apigee ของ Apigee สามารถดูได้ในไฟล์ $APIGEE_ROOT//logrotate/logrotate.cron ตัวอย่างเช่น ในกรณีของ edge-message-processor ไฟล์นี้มีชื่อว่า $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron ไฟล์นี้ มีทั้งรายการ cron และคำสั่งที่ Apigee ดำเนินการสำหรับการหมุนเวียนบันทึก หากคุณ ต้องการใช้ logrotate แต่ไม่ต้องการใช้การกำหนดค่าของ Apigee คุณสามารถสร้าง ของ logrotate และใช้คำสั่ง logrotate ที่คล้ายกันเพื่อหมุนเวียนบันทึก