טבלאות לוגים

04/05/2020

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

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

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

חשוב לראות שכמו בנעליים, אין טעם לבחור מידה גדולה יותר. עבודת התחזוקה שתצטרכו להשקיע בפיתרון לוגים מתוחכם יותר מתקזזת עם החיסכון בזמן שאולי תגיעו אליו במערכת קטנה. במילים אחרות - גם אם Elastic Search נראה כמו חלום, באתר קטן אפשר למצוא תשובות הרבה יותר מהר בדרכים יותר פרימיטיביות.