רוטציית יומנים – התהליך של החלפת מספר קובצי יומן בתוך ומחוץ לשימוש – מפשט את הניהול של מערכות שיוצרות מספר גדול של קובצי יומן. רוטציית יומנים מאפשרת רוטציה אוטומטית, דחיסה, הסרה ושליחה של קובצי יומן בדואר.
ב-Edge for Private Cloud, חלק מקובצי היומן הראשיים בכל רכיב apigee
מוגדרים באמצעות מנגנון הרוטציה שמוגדר כברירת מחדל. לדוגמה, ברכיב של מעבד ההודעות, הקבצים הבאים מוגדרים עם מנגנון סבב ברירת מחדל באמצעות התחברות חזרה:
/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
, כדאי לקרוא את המדריך ל-log המכילים. - אם אתם לא מכירים את ההגדרות של
crontab
, כדאי לקרוא את המדריך של crontab.
הפעלת סיבובים ביומן
החל מגרסה 4.52 של Edge לענן פרטי, כשמתקינים רכיב edge-*
, רשומה של crontab
לרוטציה של היומן הזה נוצרת באופן אוטומטי ב-crontab
של המשתמש apigee
. משימת cron הזו פועלת בכל שעה כברירת מחדל, ומשתמשת בכלי השירות logrotate
כדי לסובב את היומנים. אם מספר רכיבי edge-*
מותקנים באותו צומת (לדוגמה, בהתקנה כוללת, או אם
הנתב ומעבד ההודעות מותקנים בצומת אחד), לכל רכיב יש רשומת 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
של מעבד הודעות קצה, מריצים את:
$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
מסוימת
בצומת שבו רוצים לשנות את לוח הזמנים של 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 |
המיקום של קובץ ההרצה ל-log חכמות. ברירת מחדל: /usr/sbin/logrotate |
conf_logrotate_status_file |
סטטוס של תיעוד קובץ סטטוס ריצה של Logסבב – הצגת הרשאות קריאה/כתיבה למשתמש 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 |
סוג הדחיסה. ברירת המחדל: delaycsv. הדחיסה של הקובץ האחרון שסובב תעוכב למחזור הבא של Logסבב. |
conf_logrotate_size |
מגבלת גודל היומן לסבב. ברירת מחדל: '10 מיליון' |
שימוש במנגנון משלכם לסיבוב יומנים ו-cron
אם ההגדרות שסופקו על ידי Apigee לא עומדות בדרישות שלך לסבב של <component>.log, ניתן להשתמש במנגנון משלך לסיבוב היומנים באמצעות כלים כמו Log rotation או כלים אחרים. לדוגמה, ההגדרות שסופקו על ידי 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
דומה כדי לבצע רוטציית יומנים.