כאשר אתה נתקל בבעיות כלשהן בביצועי השרת שלך, הדבר הראשון שאתה רוצה לעשות הוא לעשות בדוק את יומני לינוקס שלך. ביומן המערכת, אתה יכול למצוא כמה הודעות אבחון מועילות ממרכיבים שונים של מערכת ההפעלה כמו הקרנל או שירותים שונים, כך שסביר להניח שתמצא שם את סיבת הכשל.
כל הודעה ביומן נוצרת כתוצאה של אירועים מסוימים במערכת ההפעלה: מהמשתמש, הרשאה ועד כיבוי שירות או כשל באפליקציה. לאירועים הללו יש סדרי עדיפויות שונים בהתאם למידת קריטיותם. ישנם סוגי אירועים הבאים בלינוקס:
emerg- כישלון, בעדיפות עליונה;alert- אזהרה דחופה;crit- אירוע קריטי;err- טעות רגילה;warn- אזהרה רגילה;notice- הודעה;info- הודעת מידע;debug- מידע באגים;
כרגע, שירותי קצירת היומנים העיקריים בלינוקס הם rsyslog ו systemd-journaled. הם הולכים עם רוב חבילות ההפצה המודרניות ועובדים באופן עצמאי.
rsyslog
היומנים של שירות זה נמצאים ב"/ var / log /" בצורת קבצי טקסט רגילים. הודעות יומן מוכנסות לקבצים שונים בהתאם לסוג האירוע. לדוגמה, "/var/log/auth.log" מכיל מידע על הרשאות המשתמשים במערכת, וכן "/var/log/kern.log" מכיל הודעות ליבה. שמות הקבצים יכולים להיות שונים בין חבילות ההפצה, אז בואו נסתכל על קובץ התצורה כדי לקבל מושג מה נמצא איפה "/etc/rsyslog.d/50-default.conf".
כללים אלה מציגים איזה קובץ מכיל כל סוג של הודעות יומן. החלק השמאלי מציג את סוג ההודעה בטופס הבא "[מקור].[עדיפות]" והחלק הימני מציג את שם קובץ היומן. בזמן כתיבת סוג ההודעה "*ניתן להוסיף לתו. זה אומר ערך ריק או "אף לא אחד" שמסיר אותו מהרשימה. בואו נסתכל מקרוב על שני הכללים הראשונים.
“auth,authpriv.* /var/log/auth.log”
“*.*;auth,authpriv.none -/var/log/syslog”
הכלל הראשון אומר שכל ההודעות שיתקבלו ממנגנון ההרשאה יוקלטו ב"/var/log/auth.log" קובץ ". כל ניסיונות ההרשאה (גם מוצלחים וגם לא) יירשמו בקובץ זה. הכלל השני מציין שכל ההודעות מלבד אלה הקשורות להרשאה יירשמו ב"/ var / log / syslog" קובץ. שני הקבצים האלה הם בדרך כלל הפופולריים ביותר. הכללים הבאים מגדירים את הנתיב לאחסון יומני הליבה "kern.*" ויומני שירותי דואר "דוֹאַר.*"
ניתן לפתוח קבצי יומן בעזרת כל עורך טקסט, כמו פחות, חתול, זנב. בואו נפתח את "/var/log/auth.log"קובץ
less /var/log/auth.log
כל שורה בקובץ היא הודעה נפרדת המתקבלת מהאפליקציה או השירות. לכל ההודעות ללא קשר למקור שלהן יש פורמט אחד ומורכבות מ-5 חלקים. ניקח את ההודעה המודגשת בצילום המסך כדוגמה.
- חותמת זמן של הודעה - "12 בפברואר 06:18:33"
- שם המחשב ששלח את ההודעה - "vds"
- שם האפליקציה או השירות ששלחו את ההודעה - "sshd"
- מזהה תהליך - [653]
- טקסט הודעה - "סיסמה מקובלת עבור mihail מ-188.19.42.165 port 2849 ssh2"
זו הייתה דוגמה לחיבור מוצלח ל-SSH.
וכך נראה ניסיון כניסה לא מוצלח:
קובץ זה מקליט גם פקודות עם הרשאות מתקדמות
בואו נפתח את / var / log / syslog פילה
הודעה מודגשת בצילום המסך היא ההודעה על כיבוי ממשק הרשת.
לחיפוש מידע באמצעות קבצי טקסט ארוכים השתמש grep תוֹעֶלֶת. אתה יכול למצוא את כל ההודעות שהתקבלו מ pptpd שירות ב"/ var / log / syslog"קובץ.
grep 'pptpd' /var/log/syslog
במהלך האבחון אתה יכול להשתמש זנב כלי עזר שיכול להציג מספר שורות אחרונות של קבצים. פקודה "זנב -f / var / log / syslog" יאפשר לך לצפות ביומנים מוקלטים בזמן אמת.
השירות rsyslog הוא מאוד גמיש וחזק. זה יכול לשמש לקציר יומני במערכות מקומיות כמו גם ברמת הארגון. אתה יכול למצוא תיעוד מלא באתר הרשמי https://www.rsyslog.com/
סיבוב יומנים בלינוקס
הקלטת יומן מתרחשת ברציפות, כך שגודל הקבצים גדל כל הזמן. מנגנון סיבוב מבטיח אחסון אוטומטי של יומנים ישנים ויצירת קבצים חדשים. בהתאם לכללים, זה יכול לקרות מדי יום, שבועי, חודשי או לפי מגבלת גודל. כאשר יומנים חדשים נוצרים, ניתן למחוק יומנים ישנים או לשלוח אותם בדוא"ל. סיבוב יומנים מתבצע על ידי הושג תוֹעֶלֶת. אתה יכול למצוא את התצורה הראשית ב"/etc/logrotate.confקובץ ". תוכן הקבצים מעובד גם ב"/etc/logrotate.d/תיקייה
ניתן להיכנס כללים חדשים לקובץ התצורה הראשי. עם זאת, עדיף ליצור קובץ נפרד ב"/etc/logrotate.d/כברירת מחדל, ישנם מספר קבצים בספרייה זו
בואו נסתכל על הקובץ "/etc/logrotate.d/rsyslog" שמכיל כללי סיבוב עבור יומנים של rsyslog שירות.
ראשית, הכלל צריך להכיל את הנתיב לקובץ היומן ולאחר מכן לעבור על כל ההנחיות בסוגריים מעוקלים.
- סובב 7 - מספר קבצים לשמירה - 7
- יומי - צור קובץ חדש כל יום
- לדחוס - דחיסה וארכיון קבצים ישנים
אתה יכול לראות בצילום המסך שב"/ var / log /" התיקיה יש את היומן הראשי "syslog” ו-7 ארכיונים, שמתכתבים עם הכללים בקובץ התצורה.
אתה יכול למצוא תיאור מפורט יותר של logrotate במדריך, תוך ביצוע "אדם logrotate" פקודה
איסוף יומני לינוקס - יומן
שירות קצירת בולי עץ systemd-journaled הוא חלק ממערכת האתחול system. קובצי יומן לינוקס מאוחסנים ב"/var/log/journal/” בפורמט מיוחד וניתן לפתיחה בעזרת journalctl תוֹעֶלֶת. פורמט רשומות זהה בדיוק לזה של rsyslog.
פיקוד journalctl ללא תכונות מציג את כל הרשומות אבל זה לא מתאים ליומנים גדולים יותר. בואו נסתכל על כמה אפשרויות של כלי זה.
journalctl -b- הצג את כל הרשומות מאז ההתחלה האחרונהjournalctl -S "2020-02-17 12:00" -U "2020-02-17 12:10"- הצג שיא בתוך פרק זמן מסויםjournalctl -u pptpd- הצג רישומים של שירות מסויםjournalctl -k- הצג הודעות ליבהjournalctl -p err- הצג הודעות בעדיפות מסוימת, הודעות בעדיפות גבוהה יותר במקרה זה (crit, alert, emerg)journalctl -f- הצג הודעות בזמן אמת
לגמישות טובה יותר ניתן לשלב אפשרויות אלו. בואו נראה את כל השגיאות של pptpd שרות
journalctl -u pptpd -p err
אם תציין את הנתיב לקובץ ההפעלה כתכונה, כלי השירות יציג את כל ההודעות שנשלחו על ידי קובץ זה. בואו נראה את כל ההודעות שנשלחו על ידי הקובץ "/usr/bin/sudo” מאז 04:15 ב-18 בפברואר 2020. למעשה, זה יציג את כל הפקודות שבוצעו עם הרשאות גבוהות יותר.
journalctl -S "2020-02-18 04:15" /usr/bin/sudo
כדי לגלות כמה שטח דיסק תופסים קובצי יומן רישום לביצוע הפקודה הבאה
journalctl --disk-usage
על מנת להגביל את קובץ היומן ל-1Gb בצע את הפקודה הבאה
journalctl --vacuum-size=1G
פתיחת קבצים בינאריים
עכשיו בואו נסתכל על כמה קבצים מיוחדים ב"/ var / log /” תיקייה שבה מאוחסנים כל ניסיונות הכניסה. קבצים אלו הם בינארים וניתן לפתוח אותם עם תוכנות מיוחדות בלבד.
/var/log/wtmp מכיל מידע על ניסיונות כניסה מוצלחים. השתמש בכלי השירות האחרון כדי לפתוח אותו.
/var/log/btmp - מכיל את כל ניסיונות ההתחברות הכושלים. ניתן לפתוח אותו עם lastb עם הרשאות מתקדמות. תְכוּנָה -n מגדיר את מספר השורות המוצגות מסוף הקובץ.
/var/log/loadlog - מכיל את השעה של פעולת הכניסה האחרונה עבור כל רשומת חשבון. ניתן לפתוח עם Lastlog