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 הראשון שלכם:
על מנת לבצע את ההתקנה יש להתחבר לשרת במצעות 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 ברירת מחדל עם נתונים כלליים כגון מספר בקשות, זמני תגובה ועוד.
מצד שמאל נראה את רשימת השרתים המנוטרים.
בנוסף, בצד שמאל למטה יופיע כפתור דרכו נוכל להוסיף שרתים נוספים לניטור.
בטאב "Analyzer" נוכל לראות מידע נוסף אודות השרת כגון:
- מספר אתרים מאובטחים.
- שגיאות / אזהרות
- מידע אודות גרסאת השרת
- ועוד
הטאב הבא הוא "Dashboards" בו נוכל לייצר לעצמנו תצוגות עבור הנתונים השונים:
הטאב האחרון עליו אדבר הוא "Alerts" בו נוכל להגדיר באיזה מקרים נרצה לקבל התראה, לדוגמה אם יש שגיאה מסוג 404 ומעל איזה כמות/טווח זמן נגדיר את ההגדרה הבאה:
Leave a Reply