מביאה
ניהול מערכת יומני שרת רשת יעיל הוא קריטי לשמירת הביצועים של האתר שלך, לתקן בעיות, ולקבל הבנה על התנהגות המשתמשים. Apache הוא אחד משרתי הרשת הפופולרים ביותר. הוא יוצר יומני גישה ויומני שגיאות שמכילים מידע ערך. בכדי לנהל ולנתח את היומנים האלה באופן יעיל, ניתן להשתמש בLogstash כדי לעבד ולשדר אותם אל מערך Managed OpenSearch עבור קידוד והצגה.
במדריך הלמידה הזה, אנחנו נדרש אתכם להתקין Logstash על דרפלט, להגדיר אותו לאסוף את היומנים של הApache שלך, ולשלוח אותם ל Managed OpenSearch עבור ניתוח.
דרישות
- דרפלט/אים עם שרת רשת Apache מו Installed.
- מערך Managed OpenSearch
שלב 1 – התקנת Logstash
לוגסתש יכול להיות מת Instalado באמצעות קבצים בינאריים או דרך מאגרי החבילות. עבור ניהול יותר קל ועדכונים, השימוש במאגרי החבילות הוא בד "" כ מומלץ.
בהצגה זו, אנחנו נדריך אתכם בהתקנת Logstash על הדרפלט שלכם באמצעות מנהלי החבילות APT ו YUM.
בואו נזהה את הOS:
עבור מערכות מבוססות APT (Ubuntu/Debian)
הורדות והתקנת המפתח החיצון:
עלול להיות עליכם להתקין את החבילה apt-transport-https
על Debian לפני שימוש:
שמורות את ההגדרה של המאגר ב /etc/apt/sources.list.d/elastic-8.x.list
:
השתמשות בשיטה echo
הוספת המאגר של Logstash שנתונה למעלה. אל תשתמשו ב add-apt-repository
בגלל שזה יוסף גם פעולה deb-src
, אך אנחנו לא מעבירים את החבילה המקורית. אם הוספתם את הפעולה deb-src
, תראו שגיאה כמו אחת מהבאה:
Unable to find expected entry 'main/source/Sources' in Release file (Wrong sources.list entry or malformed file)
פשוט ממחישים את הפעולה deb-src
מהקובץ /etc/apt/sources.list
וההתקנה תעבוד כפי שצפוי.
רץ sudo apt-get update
והמאגר מוכן לשימוש. אתם יכולים להתקין אותו בעזרת:
עבור מערכות מבוססות YUM (CentOS/RHEL)
הורדו והתקינו את המפתח הציבורי לחתימה:
הוסיפו את הפרוטו הבא בקובץ /etc/yum.repos.d/logstash.repo
שלכם. ניתן להשתמש ב 'tee' כדי לעדכן וליצור את הקובץ.
המאגר שלך מוכן לשימוש. ניתן להתקין אותו באמצעות:
למידע נוסף, ניתן להפנות למדריך התקנת Logstash.
שלב 2 – קונפיגורציה של Logstash לשליחת יומנים לOpenSearch
תשתית Logstash מכילה שלושה שלבים מרכזיים: קלט, סינון ופלט. לתשתיות Logstash יש גישה לתוספים. ניתן להשתמש בתוספים הקהילתיים או ליצור את השלכותינו.
-
קלט: השלב הזה אוסף נתונים ממקורות שונים. Logstash תומך במספר תוספים קלט כדי להתמודד עם מקורות נתונים כמו קבצי יומן, מסדי נתונים, תורי הודעות ושירותי ענן.
-
סינון: בשלב זה מעבדים ומשנים את המידע שנאסף בשלב הקלט. סינונים יכולים לשנות, להוסיף ולסדר את המידע כדי להפוך אותו ליותר שימושי ויותר קל לניתוח.
-
פלט: בשלב זה שולחים את המידע המעובד ליעד. יעדים עשויים לכלול מסדי נתונים, קבצים ואחסנים מידע כמו OpenSearch.
שלב 3 – התקנת תוסף הפלט Open Search
תוסף הפלט OpenSearch ניתן להתקין על ידי הרצת הפקודה הבאה:
מידע נוסף ניתן למצוא במאגר logstash-output-opensearch-plugin.
כעת בואו ניצור תשתית:
יצירת קובץ חדש בנתיב /etc/logstash/conf.d/ בשם apache_pipeline.conf
, והעתקת התוכן הבא.
החלפת <OpenSearch_Host>
עם שם המחשב של שרת OpenSearch שלך ו<OpenSearch_Password>
עם הסיסמה ל-OpenSearch שלך.
בואו נפרק את ההגדרה העליונה.
-
INPUT: משמש להגדרת מקור לאירועים. משתמשים בתוסף 'file' כאן.
-
path => “/var/log/apache2/access.log” : מצביע על הנתיב לקובץ רישום Apache שלוגסטאש יקרא ממנו
דאגו שלשירות Logstash יש גישה לנתיב הקלט.
-
start_position => “beginning”: מגדיר איפה Logstash צריך להתחיל לקרוא את קובץ הלוג. "beginning" מראה שלוגסטאש יתחיל לעבד את הקובץ מההתחלה, במקום מהסוף
-
sincedb_path => "/dev/null": מציין את הנתיב לקובץ sincedb. קבצי sincedb משמשים את Logstash למעקב אחר המיקום הנוכחי בקבצי לוג, ומאפשרים לו להמשיך מהמקום שבו הפסיק במקרה של הפעלה מחדש או כשל.
-
tags => "apache_access": מקצה תג לאירועים הנקראים מקלט זה. תגים שימושיים לזיהוי וסינון אירועים בתוך Logstash, ולעיתים קרובות משמשים בשלבים של פלט או סינון בתצורה. אנחנו משתמשים בתגים למטרה זו
-
FILTER: משמש לעיבד את האירועים.
התחלה עם משתנויות:
זה מבחן אם תג
apache_access
קיים בשדה [tags] של האירועים המגיעים. אנחנו משתמשים במשתנה זו כדי ליישם את הפילטר המתאים של GROK עבור מערכת הגלובליסציה וגלובליסציות שגיאות. -
מסנן Grok (עבור מערכת Apache Access Logs):
המסנן grok
%{HTTPD_COMBINEDLOG}
הוא תבנית מוגדרת ברשת Logstash שמשתמשת בעזרתה לניתוח את הפורマט של לוגי גישת Apache. היא מוציאה שדות כמו כתובת IP, זמן מעבר, שיטת HTTP, אורך ומספר מבנה סטטוס ועוד מהם, משדה המסרים של אירועים קומים. -
סינון שינוי
הסר
(אופציונלי): לאחר שניתוח יומני Apache, אנו משתמשים ב-mutate-remove כדי להסיר שדות מסוימים. -
תנאי אחר: הבלוק האחר מושפע אם אין את התג
apache_access
בתוך [תגיות]. הבלוק הזה מכיל פילטר GROK נוסף ללוגים של חולים של Apache.הפילטר GROK הזה
%{HTTPD24_ERRORLOG}
מעבד מסרים התואמים לפורמט יומן השגיאות של Apache. הוא משליט שדות רלוונטיים ליומני שגיאות כמו זמן, רמת הלוג, מסר שגיאה ועוד.תבניות GROK ניתן למצוא ב: https://github.com/logstash-plugins/logstash-patterns-core/tree/main/patterns.
-
OUTPUT: התוסף הפלט משלח אירועים ליעד מסוים.
בלוק הפלט מתחיל עם תנאי if. אנו משתמשים בתנאי if כאן
תנאי ה-if הזה משמש לניתוב הרישומים ל-OpenSearch לשני מדדים נפרדים,
apache_error
ו-apache_access
.בואו נחקור את תוסף הפלט OpenSearch:
hosts => "https://XXX:25060" שם המארח Open search שלך user => "doadmin" שם המשתמש Open search שלך password => "XXXXX" סיסמה OpenSearch index => "apache_error" שם המדד ב-OpenSearch ssl_certificate_verification => true מאשרת תעודת SSL
שלב 4 – התחלת השירות Logstash
אחרי שהפינלין מוגדר, נתחיל את השירות Logstash:
שלב 5 – בדיקת התקלות
בדיקת הקישוריות
ניתן לבדוק שLogstash יכול להתחבר לOpenSearch באמצעות בדיקת הקישוריות:
החלף your-opensearch-server עם שמת המארח של השרת הOpenSearch שלך וyour_username, your_password עם המידע הפרטי שלך לOpenSearch.
רכבת המידע
ודא שהמידע מועבר באופן נכון לסינקבלציה בOpenSearch:
החלף your-opensearch-server עם שמת המארח של השרת הOpenSearch שלך וyour_username, your_password עם המידע הפרטי שלך לOpenSearch. באותו אופן, החלף your-index-name עם שמו הסינקבלציה.
חומת אש והגדרות רשת
ודא שכללי חומת האש והגדרות הרשת מאפשרים תעבורה בין Logstash ל-OpenSearch על פורט 25060
.
יומנים
יומני ה-Logstash נמצאים ב/var/log/logstash/logstash-plain.log
לפרטים נוספים, עיין בפתרון בעיות.
סיכום
במדריך זה, עברנו על הגדרת Logstash לאיסוף והעברת יומני Apache ל-OpenSearch. הנה תקציר מהיר של מה שסקרנו:
התקנת Logstash: סקרנו כיצד להשתמש במנהלי החבילות APT או YUM, תלוי בהפצת הלינוקס שלך, כדי להתקין את Logstash על ה-Droplet שלך.
הגדרת Logstash: יצרנו והתאמנו את קובץ ההגדרות של Logstash כדי לוודא שיומני Apache מפורשים כהלכה ונשלחים ל-OpenSearch.
אימות ב-OpenSearch: הגדרנו תבנית אינדקס ב-OpenSearch Dashboards כדי לאשר שהיומנים שלך מתאונדקסים כראוי ונראים לניתוח.
עם השלמת השלבים הללו, כעת אמור להיות לך מערך פונקציונלי שבו Logstash אוסף יומני Apache ושולח אותם ל-OpenSearch.
Source:
https://www.digitalocean.com/community/tutorials/forward-apache-logs-to-opensearch-via-logstash