Logwatch פותר בעיה שאחרת נשארת בלתי פתורה: הוא קורא עבורכם את כל יומני השרת ושולח תקציר של היממה שחלפה. איש אינו עובר מדי יום על auth.log ועל יומני שרת האתר, ואילו לקרוא מכתב אחד בבוקר זה בר-ביצוע.

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

התקנה ואיפה משנים הגדרות

sudo apt install logwatch

איפה אתם שמים את הערכים שלכם חשוב. בקובץ /usr/share/logwatch/default.conf/logwatch.conf אסור לגעת — הוא נדרס בעדכון החבילה. הקובץ שלכם הוא /etc/logwatch/conf/logwatch.conf. הוא יכול להיות ריק; די להוסיף רק את מה שאתם משנים.

Output = mail
Format = html
MailTo = admin@example.com
Detail = Low
Range = yesterday

רמת הפירוט מכריעה הכול

Detail מקבל ערכים מ-0 עד 10 או את המילים Low, Med, High. וההבדל עצום: ב-High הדוח כולל כל חיבור וכל בקשה; ב-Low רק סיכומים וחריגות.

הנוהג הוא כזה: Low בכללי, עם העלאת פירוט סלקטיבית לשירותים שבאמת חשובים לכם. הגדרות לכל שירות הולכות ל-/etc/logwatch/conf/services/ — למשל קובץ sshd.conf עם השורה Detail = High.

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

כדי לראות את התוצאה בלי לחכות לבוקר:

sudo logwatch --detail Low --range today --output stdout

מקטע SSH ריק ב-Debian 12

מלכודת נפרדת במערכות עדכניות. Logwatch קורא קובצי טקסט ב-/var/log, ו-Debian 12 ו-Ubuntu 24.04 כבר אינם מתקינים את rsyslog כברירת מחדל — הקובץ /var/log/auth.log פשוט אינו קיים והכול הולך ליומן של systemd. הדוח ממשיך להגיע כסדרו, אבל המקטע החשוב ביותר — כניסות SSH — יוצא ריק או נעדר.

הבדיקה נמשכת שנייה:

ls -l /var/log/auth.log

אם אין קובץ, או שמתקינים rsyslog או שמקבלים ש-Logwatch במכונה הזאת מציג תמונה חלקית. ומקטע ריק קל לקרוא כ«לא קרה כלום», וזו התוצאה המסוכנת ביותר.

לאן הולך הדואר

הסיבה הנפוצה השנייה ל«הדוחות לא מגיעים»: בשרת לא מוגדרת מסירת דואר. Logwatch מוסר את המכתב לסוכן המערכת, הוא אינו שולח אותו לשום מקום, והמכתב מתיישב בתיבה המקומית של root שאיש לעולם אינו מציץ בה:

sudo cat /var/mail/root | tail -50

יש שתי אפשרויות. או להגדיר מסירה דרך ממסר SMTP חיצוני, או לא להשתמש בדואר כלל ולכתוב את הדוח לקובץ:

Output = file
Filename = /var/log/logwatch/report.txt

השנייה כנה יותר: מכתב שאיש אינו יכול למסור יוצר אשליה של מעקב, ואילו קובץ בדיסק אפשר לפחות לפתוח.

מה לקרוא בדוח

בסדר יורד של תועלת:

  • sshd. כניסות מוצלחות — מי ומאיפה. דווקא המוצלחות, לא אלפי הכשלים: הכשלים הם רקע, ואילו כניסה מכתובת לא מוכרת דורשת הסבר;
  • sudo ו-pam_unix. מי העלה הרשאות ומי יצר משתמשים;
  • Disk Space. שורה אחת שמתריעה מראש על דיסק שמתמלא;
  • cron. משימות שהופיעו ומשימות שנכשלו;
  • http. קפיצה בתשובות 404 פירושה בדרך כלל בדיקת נתיבים; וקפיצה ב-500 פירושה שמשהו שלכם נשבר;
  • postfix, אם השרת שולח דואר: תור יוצא שגדל הוא הסימן הטיפוסי לכך שהשרת גויס כממסר לדואר זבל.

הגבולות

Logwatch הוא תקציר של היממה שחלפה ולא התראה. הוא לא יעיר אתכם בלילה ומעצם הגדרתו מפגר: הוא רץ ממשימה יומית בשעות הבוקר המוקדמות ומכסה את אתמול. ול«משהו קורה כרגע» הוא אינו מתאים ואינו מיועד.

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