Amplify – הדרך הקלה והמהירה לניטור שרתי Nginx

Amplify Dashboard - Techblog.co.il

NGINX Amplify הוא כלי ניטור מבוסס SaaS עבור שרתי NGINX  ו- NGINX Plus.
עם NGINX Amplify תוכל לנטר את הביצועים של שרתי ה NGINX שלך, לעשות ניתוחים סטטיסטים וכן לקבל מידע נוסף אודות מערכת ההפעלה, מסדי נתונים ורכיבים אחרים.
NGINX Amplify הנה מערכת קלה להתקנה והגדרה אך עדיין חזקה דיה על מנת לספק תובנות קרטיות אודות המערכת וביצועיה.

הארכיטקטורה של NginxAmplify מושתתת על שלושה מרכיבי מפתח:

  • Nginx Amplify Backend – ליבת המערכת, מיושמת כ Saas (Software as a Service). רכיב זה אחראי על איסוף הנתונים הנשלחים מה Agent והעברתם דך המנוע האנליטי אשר אחראי לניתוח הנתונים.
  • Agent – יישום מבוסס פייתון המקשר בין השרת לבין ה Backend ואחראי על איסוף הנתונים השונים ושליחתם לשרת בצורה מאובטחת כאשר ה Agent הוא זה שיוזם את התקשורת.
  • Web Ui – ממשק המשתמש של המערכת בו יוצגו ההנתונים שנשלחו מהשרת. הממשק בעל תאימות למובייל ולדפדפני השונים ונגיש רק ב SSL/TLS.

 

חלק א' – התקנת ה Agent

תחילה יש ליצור חשבון בכתובת הבאה: https://amplify.nginx.com/login.

לאחר ההתחברות לחשבון שזה עתה יצרתם, המסך הראשון בו תתקלו הוא מסך ההוראות להתקנת ה Agent הראשון שלכם:

Amplify - Agent Installation

על מנת לבצע את ההתקנה יש להתחבר לשרת במצעות SSH (שלב 1).
את הורדת ה Agent ניתן לעשות דרך curl או wget (שלב 2):

wget https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh
OR
curl -L -O https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh

כעת, התקינו את ה agent על ידי הפקודה הבאה תוך שימוש בהרשאות superuser על ידי שימוש בפקודת sudo:

sudo API_KEY='e734d614c729a22fd7227f2aa4840b46' sh ./install.sh

***הערה*** – יתכן ובמהלך ההתקנה תתקבל הודעת שגיאה המצביעה על כך שלא קנפגנו stub_status אותו נגדיר בשלב הבא.

חלק ב' – הגדרת stub_status

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

sudo nano /etc/nginx/conf.d/sub_status.conf

והדביקו את התוכן הבא:

server {
listen 127.0.0.1:80;
server_name 127.0.0.1;
location /nginx_status {
stub_status;
allow 127.0.0.1;
deny all;
}
}

לחצו על ctrl+x על מנת לסגור את הקובץ ולחצו על y לשמירת השינויים.

כעת נאתחל את ה Nginx על מנת שיטען את מודול ה sub_status על ידי הפקודה הבאה:

sudo systemctl restart nginx

חלק ג' – הגדרת ערכים נוספים לניטור

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

nanu /etc/nginx/nginx.conf

אתרו את החלק שמתחיל ב log setting והוסיפו תחתיו את החלק הבא:

log_format main_ext '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" '
'"$host" sn="$server_name" ' 'rt=$request_time '
'ua="$upstream_addr" us="$upstream_status" '
'ut="$upstream_response_time" ul="$upstream_response_length" '
'cs=$upstream_cache_status' ;

כעת אתרו את השורות הבאות:

access_log /var/log/nginx/access_log;
error_log /var/log/nginx/error_log;

ושנו אותן כדי שיראו כך:

access_log /var/log/nginx/access_log main_ext;
error_log /var/log/nginx/error_log  warn;

כעת אתחלו את ה Nginx על ידי הפקודה הבאה:

sudo systemctl restart nginx

*** הערה *** – שימו לב כי יתכן ויעבור 2-5 דקות עד שהשרת יתווסף לרשימה.

חלק ד' – לוח הבקרה והגדרת המוניטורים

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

בנוסף, בצד שמאל למטה יופיע כפתור דרכו נוכל להוסיף שרתים נוספים לניטור.

Nginx Amplify - Main screen

בטאב "Analyzer" נוכל לראות מידע נוסף אודות השרת כגון:

  • מספר אתרים מאובטחים.
  • שגיאות / אזהרות
  • מידע אודות גרסאת השרת
  • ועוד

Nginx Amplify - Analyzer - הבלוג הטכנולוגי של תומר קליין

הטאב הבא הוא "Dashboards" בו נוכל לייצר לעצמנו תצוגות עבור הנתונים השונים:

Nginx Amplify - Dashboards - techblog.co.il

הטאב האחרון עליו אדבר הוא "Alerts" בו נוכל להגדיר באיזה מקרים נרצה לקבל התראה, לדוגמה אם יש שגיאה מסוג 404 ומעל איזה כמות/טווח זמן נגדיר את ההגדרה הבאה:

Nginx Amplify - Alert

Nginx Amplify - Alert Mail

 

Be the first to comment

Leave a Reply

כתובת האימייל שלך לא תפורסם


*