การหมุนเวียนไฟล์บันทึก ซึ่งเป็นกระบวนการหมุนเวียนไฟล์บันทึกหลายไฟล์เข้าและออกจากการใช้งาน จะช่วยให้การดูแลระบบที่สร้างไฟล์บันทึกจำนวนมากเป็นเรื่องง่ายขึ้น การหมุนเวียนไฟล์บันทึกช่วยให้สามารถหมุนเวียน บีบอัด นำออก และส่งไฟล์บันทึกทางอีเมลได้โดยอัตโนมัติ
ใน Edge สำหรับ Private Cloud ไฟล์บันทึกหลักบางไฟล์ในแต่ละapigee
คอมโพเนนต์จะได้รับการกำหนดค่าด้วยกลไกการหมุนเวียนเริ่มต้น ตัวอย่างเช่น ในคอมโพเนนต์ Message Processor ไฟล์ต่อไปนี้ได้รับการกำหนดค่าด้วยกลไกการหมุนเวียนเริ่มต้นโดยใช้ 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-* แต่ละรายการเหล่านี้ยังสร้างไฟล์บันทึกเพิ่มเติมซึ่งเป็นเอาต์พุตที่เปลี่ยนเส้นทางของคอนโซลของคอมโพเนนต์ที่เกี่ยวข้องด้วย ในกรณีของคอมโพเนนต์ Message Processor ไฟล์นี้จะชื่อว่า /opt/apigee/var/log/edge-message-processor/edge-message-processor.log
คอมโพเนนต์ edge-* อื่นๆ จะสร้างไฟล์ที่คล้ายกัน การหมุนเวียนไฟล์เหล่านี้ไม่ได้ดำเนินการโดยไลบรารี logback แต่ใช้ logrotate และ crontab
ก่อนเริ่มต้น
- หากคุณไม่คุ้นเคยกับการกำหนดค่า
logrotateโปรดอ่านคู่มือ logrotate - หากไม่คุ้นเคยกับการกำหนดค่า
crontabโปรดอ่านคู่มือ crontab
เปิดใช้การหมุนเวียนไฟล์บันทึก
ตั้งแต่ Edge for Private Cloud เวอร์ชัน 4.52 เป็นต้นไป เมื่อคุณติดตั้งคอมโพเนนต์ edge-* ระบบจะสร้างรายการ crontab สำหรับการหมุนเวียนบันทึกนี้โดยอัตโนมัติใน crontab ของผู้ใช้ apigee โดยค่าเริ่มต้น งาน cron นี้จะทำงานทุกชั่วโมง และใช้ยูทิลิตี logrotate เพื่อหมุนเวียนบันทึก หากมีการติดตั้งคอมโพเนนต์ edge-* หลายรายการในโหนดเดียวกัน (เช่น ในการติดตั้งแบบครบวงจร หรือหากมีการติดตั้งเราเตอร์และ Message Processor ในโหนดเดียว) คอมโพเนนต์ทุกรายการจะมีรายการ cron ของตัวเองสำหรับการหมุนเวียนบันทึกที่เกี่ยวข้อง
หมายเหตุ
- หากในระหว่างการติดตั้งคอมโพเนนต์
edge-*คุณไม่ต้องการตั้งค่า Cronjoblogrotateโดยอัตโนมัติ ให้ตั้งค่าแฟล็ก "ENABLE_LOGROTATE=n" ในไฟล์การกำหนดค่าแบบไม่โต้ตอบที่คุณใช้สำหรับการติดตั้ง หากไม่ได้ตั้งค่า งาน Cron ระหว่างการติดตั้ง คุณสามารถตั้งค่าในภายหลังได้โดยทำตามขั้นตอนเพื่อเปิดใช้ งาน Cronlogrotateของคอมโพเนนต์ - สำหรับคอมโพเนนต์
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 ที่เฉพาะเจาะจง
ในโหนดที่คุณต้องการเปลี่ยนกำหนดการ logrotate cron ให้เปิดไฟล์ลบล้างการกำหนดค่าของคอมโพเนนต์ที่เกี่ยวข้อง ไฟล์ลบล้างการกำหนดค่าของคอมโพเนนต์ 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 |
เลือกว่าจะบีบอัดไฟล์ที่หมุนเวียนหรือไม่ ค่าเริ่มต้น: "compress" |
conf_logrotate_compress_type |
ประเภทการบีบอัด ค่าเริ่มต้น: "delaycompress" เลื่อนการบีบอัดไฟล์ที่หมุนเวียนล่าสุดไปยังรอบ logrotate ถัดไป |
conf_logrotate_size |
ขีดจำกัดขนาดบันทึกสำหรับการหมุนเวียน ค่าเริ่มต้น: "10M" |
ใช้กลไกการหมุนเวียนไฟล์บันทึกและ Cron ของคุณเอง
หากข้อกำหนดในการหมุนเวียน <component>.log ไม่เป็นไปตามการกำหนดค่าที่ Apigee มีให้ คุณจะใช้กลไกการหมุนเวียนไฟล์บันทึกของคุณเองโดยใช้เครื่องมืออย่าง 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 ที่คล้ายกันเพื่อหมุนเวียนไฟล์บันทึกได้