רוטציית יומנים – התהליך של רוטציה של מספר קובצי יומן כניסה או מחוץ לשימוש – שמפשט את הניהול של מערכות ליצור מספר גדול של קובצי יומן. סיבוב היומנים מאפשר סיבוב אוטומטי, דחיסה, הסרה ודיוור של קובצי יומן.
ב-Edge for 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-*
אחרים יוצרים קובץ דומה. של הקבצים האלה לא יתבצעו על ידי
את ספריית ה-Logback, אלא להשתמש ב-logrotate
וב-crontab
.
לפני שמתחילים
- אם לא מכירים את ההגדרות של
logrotate
, אפשר לקרוא את המאמר logהשבתה ידנית. - אם לא מכירים את ההגדרות של
crontab
, אפשר לקרוא את המאמר crontab manual.
הפעלה של סיבובי יומנים
החל מגרסה 4.52 של Edge ל-Cloud פרטי, כשמתקינים edge-*
רכיב, ערך crontab
עבור
סבב ביומן הזה נוצר אוטומטית ב-crontab
של המשתמש apigee
. משימת ה-cron הזו פועלת בכל
שעה כברירת מחדל, ומשתמש בכלי logrotate
כדי לסובב יומנים. אם מספר edge-*
מותקנים באותו צומת (לדוגמה, בהתקנה מלאה,
שהנתב ומעבד ההודעות מותקנים בצומת אחד), לכל רכיב תהיה רשומת cron משלו עבור
שמחליפים את היומנים התואמים שלו.
הערות:
- אם במהלך ההתקנה של רכיב
edge-*
, לא רוצים לבצע יגדיר אוטומטיתlogrotate
cronjob, מגדירים את הדגל 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
של מעבד הודעות קצה, מריצים את:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -s
הצגת רכיב הגדרה של logrotate
בקובץ אפשר למצוא את ההגדרה logrotate
של הרכיב
$APIGEE_ROOT/<component>/logrotate/logrotate.conf
.
לדוגמה, במקרה של מעבד הודעות קצה, התצורה logrotate
של הצומת יכולה להיות
נמצא ב-$APIGEE_ROOT/edge-message-processor/logrotate/logrotate.conf
.
הפעלת cron logrotate
של רכיב
$APIGEE_ROOT/apigee-service/bin/apigee-service <component-name> logrotate -e
לדוגמה, כדי להפעיל את ה-cron 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 של logrotate
במעבד הודעות קצה, מריצים את:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -d
שינוי לוח הזמנים של cron של פקודת logrotate
ספציפית
בצומת שבו רוצים לשנות את לוח הזמנים של 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
של מעבד הודעות קצה, צריך להזין:
$APIGEE_ROOT/apigee-service/bin/apigee-service edge-message-processor logrotate -e
כדי לוודא שהשינויים הוחלו, יש לבדוק רשומות cron או להציג את
רשומת cron אחת (logrotate
).
logrotate
הגדרות נוספות
בדומה לשלבים שצוינו בקטע שלמעלה לשינוי לוח הזמנים של cron, אפשר לשנות גם תצורות נוספות. הטבלה הבאה מתארת את התצורות האלה:
תצורה | תיאור |
---|---|
conf_logrotate_bin_location |
המיקום של הקובץ הבינארי ל-Logרוט ברירת מחדל: /usr/sbin/logrotate |
conf_logrotate_status_file |
סטטוס זמן הריצה של יומן הרוטציה בקובץ הסטטוס של הקובץ – להצגה יש הרשאות קריאה/כתיבה
למשתמש אחד (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 |
סוג הדחיסה. ברירת המחדל: delayדחיסה. דחיית דחיסה של לסבב הבא של הרוטציה ביומן, של הקובץ האחרון שסובב. |
conf_logrotate_size |
מגבלת גודל יומן לסיבוב. ברירת מחדל: '10M' |
שימוש במנגנון משלכם לסבב יומנים ו-cron
אם ההגדרות לא עומדות בדרישות לרוטציה של <component>.log
שמסופקים על ידי Apigee, משתמשים במנגנון משלכם לרוטציית יומנים באמצעות כלים כמו Logרוט
או אחרים. לדוגמה, ההגדרות שניתנות על ידי 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
דומה כדי לבצע סיבוב יומנים.