הפעלת סיבוב יומן עבור רכיבי Edge

רוטציית יומנים – התהליך של החלפת מספר קובצי יומן בתוך ומחוץ לשימוש – מפשט את הניהול של מערכות שיוצרות מספר גדול של קובצי יומן. רוטציית יומנים מאפשרת רוטציה אוטומטית, דחיסה, הסרה ושליחה של קובצי יומן בדואר.

ב-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.

לפני שמתחילים

הפעלת סיבובים ביומן

החל מגרסה 4.52 של Edge לענן פרטי, כשמתקינים רכיב edge-*, רשומה של crontab לרוטציה של היומן הזה נוצרת באופן אוטומטי ב-crontab של המשתמש apigee. משימת cron הזו פועלת בכל שעה כברירת מחדל, ומשתמשת בכלי השירות logrotate כדי לסובב את היומנים. אם מספר רכיבי edge-* מותקנים באותו צומת (לדוגמה, בהתקנה כוללת, או אם הנתב ומעבד ההודעות מותקנים בצומת אחד), לכל רכיב יש רשומת cron משלו לסיבוב היומנים הרלוונטיים.

הערות:

  • אם במהלך התקנה של רכיב edge-*, אינך רוצה להגדיר אוטומטית cronjob logrotate, עליך להגדיר את הדגל 'ENABLE_LOGROTATE=n' בקובץ התצורה השקטה שמשמש אותך להתקנה. אם משימת ה-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 של מעבד הודעות קצה, מריצים את:

$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 * * * *

כדי להגדיר את שינוי ההגדרות האישיות:

  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 או מציגים את רשומת 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//logrotate/logrotate.cron. לדוגמה, במקרה של edge-message-processor, הקובץ הזה נקרא $APIGEE_ROOT/edge-message-processor/logrotate/logrotate.cron. הקובץ הזה כולל את רשומת ה-cron וגם את הפקודה שבוצעה על ידי Apigee לרוטציית יומן. אם רוצים להשתמש ב-logrotate אבל לא רוצים להשתמש בהגדרות של Apigee, אפשר ליצור קובץ תצורה משלך ל-logrotate ולהשתמש בפקודת logrotate דומה כדי לבצע רוטציית יומנים.