איסוף יומנים מ-Apache באמצעות סוכן תפעול
במאמר הזה מוסבר איך לאסוף ולהציג יומנים של syslog שנאספו משרת אינטרנט של Apache שהותקן במכונה וירטואלית (VM) של Compute Engine באמצעות Ops Agent. אפשר להשתמש בתהליך דומה לזה שמתואר במדריך הזה כדי לעקוב אחרי אפליקציות אחרות של צד שלישי.
במדריך למתחילים הזה תלמדו:
- יוצרים מכונה וירטואלית ב-Compute Engine ומתקינים את סוכן תפעול.
- מתקינים שרת אינטרנט של Apache.
- מגדירים את סוכן התפעול לשרת האינטרנט של Apache.
- צופים ביומנים ב-Logs Explorer.
- יוצרים התראה מבוססת-יומן.
- בודקים את ההתראה.
- לפנות.
לחצו על תראו לי איך כדי לקרוא הסבר מפורט על המשימה ישירות במסוף Google Cloud :
לפני שמתחילים
-
יכול להיות שהגבלות אבטחה שהוגדרו בארגון שלכם ימנעו מכם להשלים את השלבים הבאים. מידע לפתרון בעיות זמין במאמר פיתוח אפליקציות בסביבה מוגבלת. Google Cloud
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine, Cloud Monitoring, Cloud Logging, and OS Config APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Compute Engine, Cloud Monitoring, Cloud Logging, and OS Config APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירת מכונה של Compute Engine, להתקנת Apache ולהצגת נתוני מדדים, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים בפרויקט:
- Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1) - כלי הצפייה ביומנים (
roles/logging.viewer) - עריכה של מעקב (
roles/monitoring.editor) - אדמין של הקצאת OSPolicy (
roles/osconfig.osPolicyAssignmentAdmin) - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) - אדמין Service Usage (
roles/serviceusage.serviceUsageAdmin)
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
יצירת מופע של VM
-
נכנסים לדף VM instances במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים את התוצאה שבה כותרת המשנה היא Compute Engine.
- כדי ליצור מכונה וירטואלית, לוחצים על יצירת מופע. מגדירים את המכונה באמצעות האפשרויות שבתפריט הניווט.
- בקטע Machine configuration (הגדרת המכונה), מבצעים את הפעולות הבאות:
- בשדה שם, מזינים שם תיאורי.
- בתפריט הנפתח של הגדרות קבועות מראש סוג מכונה, בוחרים באפשרות ליבת מעבד משותפת > e2-small.
- מוודאים שהאפשרות OS and storage מציגה את הערך Debian GNU/Linux. אם לא, לוחצים על האפשרות מערכת הפעלה ואחסון ואז על שינוי. בתיבת הדו-שיח Boot disk, מגדירים את Version ל-Debian GNU/Linux.
- באפשרות Networking, בקטע Firewall, בוחרים גם באפשרות Allow HTTP traffic וגם באפשרות Allow HTTPS traffic.
- מוודאים שהאפשרות Observability מציגה את האפשרות התקנת סוכן תפעול. אם לא, לוחצים על האפשרות Observability (יכולת צפייה) ובוחרים באפשרות Install Ops Agent for Monitoring and Logging (התקנת סוכן תפעול לניטור ולרישום ביומן).
- לוחצים על יצירה.
התקנה של שרת האינטרנט Apache
כדי להתקין שרת אינטרנט של Apache במכונה וירטואלית ב-Compute Engine, מבצעים את הפעולות הבאות:
בדף VM instances (מכונות וירטואליות), מאתרים את המכונה הווירטואלית החדשה, עוברים לעמודה Connect (התחברות) ולוחצים על SSH.
נתקלת בבעיות בחיבור? אפשר לעיין במאמר בנושא פתרון בעיות ב-SSH.
כדי לעדכן את רשימות החבילות, מעתיקים את הפקודה הבאה ללוח, מדביקים אותה בטרמינל SSH ומקישים על Enter:
sudo apt-get updateאחרי שמופיעה ההודעה 'Reading package lists... Done", בטרמינל SSH, מריצים את הפקודה הבאה כדי להתקין שרת אינטרנט של Apache2:
sudo apt-get install apache2 php7.0כשמוצגת בקשה להמשיך בהתקנה, מזינים
Y. אם פקודת ההתקנה נכשלת, משתמשים ב-sudo apt-get install apache2 php.כשחלון שורת הפקודה חוזר, עוברים לדף VM instances ומעתיקים את כתובת ה-IP החיצונית של המכונה הווירטואלית לכתובת ה-URL הבאה:
http://EXTERNAL_IPכדי להתחבר לשרת האינטרנט של Apache, פותחים כרטיסייה חדשה בדפדפן ומזינים את כתובת ה-URL מהשלב הקודם.
אחרי שהתקנתם את שרת האינטרנט, בכרטיסיית הדפדפן מוצג דף ברירת המחדל של Apache2 Debian.
איסוף יומנים ומדדים של שרת אינטרנט Apache
בשלבים הבאים מוסבר איך להגדיר את סוכן תפעול לאיסוף יומנים ומדדים משרת האינטרנט של Apache:עוברים לטרמינל SSH של מכונת ה-VM. אם לא פתוח חלון טרמינל:
-
נכנסים לדף VM instances במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים את התוצאה שבה כותרת המשנה היא Compute Engine.
- מאתרים את המכונה הווירטואלית החדשה ולוחצים על SSH.
-
מעתיקים את הפקודה הבאה, מדביקים אותה בטרמינל של המופע ומקישים על Enter:
הפקודה הקודמת יוצרת את ההגדרה לאיסוף ולהעברה של יומנים ומדדים משרת האינטרנט של Apache. מידע נוסף זמין במאמר הגדרת סוכן תפעול לשרת אינטרנט של Apache.
- מפעילים מחדש את סוכן התפעול:
- כדי להפעיל מחדש את הסוכן, מריצים את הפקודה הבאה במופע:
sudo systemctl restart google-cloud-ops-agent
- כדי לוודא שהסוכן הופעל מחדש, מריצים את הפקודה הבאה ומוודאים שהרכיבים Metrics Agent ו-Logging Agent הופעלו:
sudo systemctl status "google-cloud-ops-agent*"
- כדי להפעיל מחדש את הסוכן, מריצים את הפקודה הבאה במופע:
צפייה ביומנים של שרת האינטרנט Apache
כדי לראות את היומנים במסוף Google Cloud , משתמשים ב-Logs Explorer:
-
במסוף Google Cloud , נכנסים לדף Logs Explorer:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
היומנים האחרונים מוצגים בחלונית Query results.
בסרגל הכלים, מוודאים שהאפשרות Show query (הצגת שאילתה) מופעלת.
כדי להציג את היומנים של שרת האינטרנט Apache, יוצרים ומריצים שאילתה:
מרחיבים את רשימת הפרויקטים מבורר הפרויקטים Google Cloud Google Cloud ומעתיקים את מזהה הפרויקטGoogle Cloud ללוח.
בביטוי הבא, מדביקים את המזהה שהועתק בשדה PROJECT_ID ואז מעתיקים את הביטוי לעורך השאילתות:
resource.type="gce_instance" logName=("projects/PROJECT_ID/logs/apache_access" OR "projects/PROJECT_ID/logs/apache_error")כשמריצים את השאילתה הקודמת, מוצגים רק רשומות היומן
apache_accessו-apache_error.לוחצים על
Run query .התוצאות של השאילתה מוצגות בחלונית Query results.
הגדרתם את סוכן תפעול לאיסוף יומנים ומדדים משרת האינטרנט של Apache, ועיינתם ביומנים האלה. השלב הבא הוא ליצור מדיניות התראות כדי לקבל התראה כשדפוס ספציפי מופיע ביומן.
יצירת ערוץ התראות באימייל
לפני שיוצרים מדיניות התראות, צריך להגדיר את ערוצי ההתראות שבהם רוצים להשתמש במדיניות ההתראות. Cloud Monitoring תומך בסוגים רבים ושונים של ערוצי התראות, כולל אימייל, Slack, PagerDuty ו-Pub/Sub. מידע נוסף מופיע במאמר בנושא יצירה וניהול של ערוצי התראות. כדי לקבל התראות באימייל:-
נכנסים לדף notifications Alerting במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שבה הכותרת המשנית היא Monitoring.
- בסרגל הכלים, לוחצים על עריכת ערוצי התראות.
- בדף Notification channels (ערוצי התראות), גוללים אל
Email (אימייל) ולוחצים על Add new (הוספת חדש). - מזינים את כתובת האימייל, שם לתצוגה כמו
My email, ואז לוחצים על שמירה.
יצירת התראה שמבוססת על יומן
כדי לקבל התראה כשמופיעה הודעה ספציפית ברשומות ביומן, צריך ליצור התראה שמבוססת על יומן. בקטע הזה יוצרים התראה מבוססת-יומן כדי לקבל התראה כשמופיעה הודעה 404 Not Found ברשומות היומן.
-
במסוף Google Cloud , נכנסים לדף Logs Explorer:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
בסרגל הכלים Query results, לוחצים על add_alert Create alert. תיפתח החלונית של מדיניות ההתראות שמבוססת על יומנים.
בקטע פרטי ההתראה, בשדה שם מדיניות ההתראה, מזינים
404 Not Found.בקטע Choose logs to include in this alert (בחירת יומנים שייכללו בהתראה הזו), מבצעים את הפעולות הבאות:
- מסירים את כל התוכן משדה המסנן של היומן.
מעתיקים את השאילתה הבאה ומדביקים אותה בשדה של מסנן היומן:
severity>=DEFAULT /help httpRequest.status=404המסנן הקודם של היומן מחפש רשומות ביומן עם
severityרמה של לפחותDEFAULT, שמכילות את הטקסט/help, ושמכילות סטטוסhttpRequestשל404.
בקטע הגדרת תדירות ההתראות ומשך הזמן לסגירה אוטומטית, מבצעים את הפעולות הבאות:
- מגדירים בשדה Time between notifications את הערך 5 min.
- מגדירים את השדה משך הזמן לסגירה אוטומטית של אירוע לערך 30 דקות.
בקטע Who should be notified? (למי לשלוח התראה?), בוחרים את כתובת האימייל שלכם בתפריט Notification Channels (ערוצי התראות) ולוחצים על Save (שמירה).
בדיקת מדיניות ההתראות
כדי לבדוק את מדיניות ההתראות:
עוברים לטרמינל SSH של מכונת ה-VM. אם לא פתוח טרמינל, צריך לפעול לפי השלבים הבאים:
-
נכנסים לדף VM instances במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים את התוצאה שבה כותרת המשנה היא Compute Engine.
- מאתרים את המכונה הווירטואלית החדשה ולוחצים על SSH.
-
כדי לחפש בשרת את הדף המזויף
localhost/help, מריצים את הפקודה הבאה:curl localhost/helpאחרי שמופיעה ההודעה
404 Not Foundבמסוף, נשלחת התראה באימייל. התהליך הזה נמשך כמה דקות.ההתראה באימייל שתקבלו תיראה בערך כך:
כדי לראות את הרשומות החדשות ביומן:
-
במסוף Google Cloud , נכנסים לדף Logs Explorer:
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שכותרת המשנה שלה היא Logging.
- בסרגל הכלים, לוחצים על מעבר למיקום הנוכחי.
-
הגדרתם את סוכן תפעול לאיסוף יומנים ומדדים משרת האינטרנט של Apache, אבל צפיתם רק ביומנים. מידע על צפייה במדדים של שרת אינטרנט Apache זמין במאמר איסוף מדדים של שרת אינטרנט Apache באמצעות סוכן תפעול: יצירת תנועה.
הסרת המשאבים
כדי לא לצבור חיובים לחשבון Google Cloud על המשאבים שבהם השתמשתם בדף הזה, פועלים לפי השלבים הבאים:
אם יצרתם פרויקט חדש ואתם כבר לא צריכים אותו, אתם יכולים למחוק את הפרויקט.
אם השתמשתם בפרויקט קיים, צריך לבצע את הפעולות הבאות:
אם יצרתם מכונה וירטואלית, אתם יכולים למחוק אותה:
- נכנסים לדף VM instances במסוף Google Cloud .
- מסמנים את התיבה שלצד המופע שרוצים למחוק.
- כדי למחוק את המכונה, לוחצים על More actions ואז על Delete ופועלים לפי ההוראות.
מוחקים את מדיניות ההתראות שיצרתם:
-
נכנסים לדף notifications Alerting במסוף Google Cloud :
אם משתמשים בסרגל החיפוש כדי למצוא את הדף הזה, בוחרים בתוצאה שבה הכותרת המשנית היא Monitoring.
- בוחרים את מדיניות ההתראות שיצרתם ולוחצים על
מחיקה .
-
המאמרים הבאים
מידע על סוכן תפעול ושילובים נתמכים זמין במאמרים הבאים:
מידע על צפייה ביומנים ב-Logs Explorer מופיע במאמר צפייה ביומנים באמצעות Logs Explorer.
מידע על שליחת שאילתות ב-Logs Explorer מופיע במאמר יצירת שאילתות ב-Logs Explorer.
למידע על איך לאסוף ולהציג מדדים של שרת אינטרנט Apache, ראו את המדריך למתחילים איסוף מדדים של שרת אינטרנט Apache באמצעות סוכן תפעול.
מידע נוסף על Monitoring והקשר שלו ל-Cloud Logging מופיע במאמר Monitoring.