การหมุนเวียนบันทึก คือขั้นตอนการหมุนเวียนไฟล์บันทึกหลายไฟล์เมื่อต้องใช้งาน ช่วยให้การดูแลระบบที่สร้างไฟล์บันทึกจำนวนมากง่ายขึ้น การหมุนบันทึกจะเปิดใช้การหมุนอัตโนมัติ การบีบอัด การนำออก และส่งไฟล์บันทึก
ใน 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
โปรดอ่านคู่มือบันทึก - หากไม่คุ้นเคยกับการกำหนดค่า
crontab
โปรดอ่านคู่มือ crontab
เปิดใช้การหมุนเวียนบันทึก
เริ่มตั้งแต่ Edge สำหรับ Private Cloud เวอร์ชัน 4.52 เมื่อคุณติดตั้งคอมโพเนนต์ edge-*
ระบบจะสร้างรายการ crontab
สำหรับการหมุนเวียนบันทึกนี้ขึ้นโดยอัตโนมัติใน crontab
ของผู้ใช้ apigee
งาน Cron นี้จะทำงานทุกชั่วโมงโดยค่าเริ่มต้น และใช้ยูทิลิตี logrotate
เพื่อหมุนเวียนบันทึก หากมีการติดตั้งคอมโพเนนต์ edge-*
หลายรายการในโหนดเดียวกัน (เช่น ในการติดตั้งแบบออลอินวัน หรือหากมีการติดตั้งเราเตอร์และผู้ประมวลผลข้อความในโหนดเดียว) คอมโพเนนต์ทั้งหมดจะมีรายการ cron ของตัวเองสำหรับการหมุนเวียนบันทึกที่เกี่ยวข้อง
Notes:
- หากในระหว่างการติดตั้งคอมโพเนนต์
edge-*
คุณไม่ต้องการตั้งค่า cronjob ของlogrotate
โดยอัตโนมัติ ให้ตั้งค่าแฟล็ก “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
ตัวอย่างเช่น logrotate
cron ของ 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 ของ edge-message-processor logrotate
ให้เรียกใช้:
$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 ของ edge-message-processor ให้เรียกใช้:logrotate
$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 * * * *
วิธีตั้งค่าการลบล้างการกำหนดค่า
- ตรวจสอบว่าผู้ใช้
apigee
อ่านไฟล์ได้ - ใช้กำหนดการ 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 หรือดูรายการ cron ของ logrotate
ของคอมโพเนนต์
การกำหนดค่าเพิ่มเติมของ logrotate
นอกจากนี้คุณยังแก้ไขการกำหนดค่าเพิ่มเติมได้เช่นเดียวกับขั้นตอนที่แสดงในส่วนด้านบนสำหรับการแก้ไขกำหนดการ cron ตารางด้านล่างจะอธิบายการกำหนดค่าเหล่านี้
การกำหนดค่า | คำอธิบาย |
---|---|
conf_logrotate_bin_location |
ตำแหน่งของไบนารี Logrotate ค่าเริ่มต้น: /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 |
ขีดจำกัดขนาดบันทึกสำหรับการหมุน ค่าเริ่มต้น: "10 ล้าน" |
ใช้กลไกการหมุนเวียนไฟล์บันทึกและ cron
หากการกำหนดค่าโดย Apigee ไม่ตรงตามข้อกำหนดสำหรับการหมุนเวียน <component>.log คุณสามารถใช้กลไกในการหมุนเวียนบันทึกของคุณเองโดยใช้เครื่องมือต่างๆ เช่น Logrotate หรือเครื่องมืออื่นๆ ตัวอย่างเช่น การกำหนดค่าที่ Apigee จัดเตรียมไว้ให้คุณหมุนบันทึกตามขนาดได้ แต่ต้องการหมุนเวียนบันทึกตามวันที่/เวลาหรือปัจจัยอื่นๆ ในกรณีดังกล่าว คุณควรปิดใช้ cron ของ logrotate
ที่ได้จาก Apigee และตั้งค่างาน cron ของคุณเองตามต้องการ
หากต้องการดูรายการ cron สำหรับการหมุนเวียนของ Apigee คือไฟล์ $APIGEE_ROOT/
เช่น ในกรณีของ edge-message-processor
ไฟล์นี้จะเรียกว่า $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron
ไฟล์นี้รวมทั้งรายการ cron และคำสั่งที่ดำเนินการโดย Apigee สำหรับการหมุนเวียนบันทึก หากต้องการใช้ logrotate
แต่ไม่ต้องการใช้การกำหนดค่าของ Apigee ให้สร้างไฟล์การกำหนดค่า logrotate
ของคุณเองและใช้คำสั่ง logrotate
ที่คล้ายกันเพื่อทำการหมุนเวียนบันทึก