ngxtop – צפה בקבצי לוג של Nginx בזמן אמת ב-Linux

ngxtop הוא כלי למעקב בזמן אמת, פתוח, חופשי, פשוט, גמיש וניתן להגדרה מלאה לשרת nginx. הוא אוסף נתונים על ידי פענוח יומן הגישה של nginx (המיקום הברירת מחדל הוא תמיד /var/log/nginx/access.log) ומציג מדדים שימושיים של השרת שלך, עוזר לך לעקוב אחר השרת של האינטרנט שלך בזמן אמת. הוא מאפשר גם לך לפענח יומני Apache משרת מרוחק.

איך להתקין ולהשתמש ב־Ngxtop ב־Linux

כדי להתקין את ngxtop, תחילה עליך להתקין PIP ב־Linux, לאחר שהתקנת pip במערכת שלך, תוכל להתקין את ngxtop באמצעות הפקודה הבאה.

$ sudo pip install ngxtop

למעקב אחר בקשות שרת Nginx

עכשיו שהתקנת את ngxtop, הדרך הקלה ביותר להריץ אותו היא בלי שום ארגומנטים. זה יפענח את /var/log/nginx/access.log וירוץ במצב מעקב (צפה בשורות חדשות כשהן נכתבות ליומן הגישה) כברירת מחדל.

$ sudo ngxtop
פלט דוגמה
running for 411 seconds, 64332 records processed: 156.60 req/sec

Summary:
|   count |   avg_bytes_sent |   2xx |   3xx |   4xx |   5xx |
|---------+------------------+-------+-------+-------+-------|
|   64332 |         2775.251 | 61262 |  2994 |    71 |     5 |

Detailed:
| request_path                             |   count |   avg_bytes_sent |   2xx |   3xx |   4xx |   5xx |
|------------------------------------------+---------+------------------+-------+-------+-------+-------|
| /abc/xyz/xxxx                            |   20946 |          434.693 | 20935 |     0 |    11 |     0 |
| /xxxxx.json                              |    5633 |         1483.723 |  5633 |     0 |     0 |     0 |
| /xxxxx/xxx/xxxxxxxxxxxxx                 |    3629 |         6835.499 |  3626 |     0 |     3 |     0 |
| /xxxxx/xxx/xxxxxxxx                      |    3627 |        15971.885 |  3623 |     0 |     4 |     0 |
| /xxxxx/xxx/xxxxxxx                       |    3624 |         7830.236 |  3621 |     0 |     3 |     0 |
| /static/js/minified/utils.min.js         |    3031 |         1781.155 |  2104 |   927 |     0 |     0 |
| /static/js/minified/xxxxxxx.min.v1.js    |    2889 |         2210.235 |  2068 |   821 |     0 |     0 |
| /static/tracking/js/xxxxxxxx.js          |    2594 |         1325.681 |  1927 |   667 |     0 |     0 |
| /xxxxx/xxx.html                          |    2521 |          573.597 |  2520 |     0 |     1 |     0 |
| /xxxxx/xxxx.json                         |    1840 |          800.542 |  1839 |     0 |     1 |     0 |

כדי לצאת, לחץ על [Ctrl + C].

פרק יומן גישה שונה

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

$ sudo ngxtop -l /var/log/nginx/site1/access.log

רשימת כתובות IP מקור עליונות של לקוחות

הפקודה הבאה תפרט את כל כתובות ה־IP מקור העליונות של לקוחות שגושים לאתר.

$ sudo ngxtop remote_addr -l  /var/log/nginx/site1/access.log
פלט דוגמה
running for 20 seconds, 3215 records processed: 159.62 req/sec

top remote_addr
| remote_addr     |   count |
|-----------------+---------|
| 118.173.177.161 |      20 |
| 110.78.145.3    |      16 |
| 171.7.153.7     |      16 |
| 180.183.67.155  |      16 |
| 183.89.65.9     |      16 |
| 202.28.182.5    |      16 |
| 1.47.170.12     |      15 |
| 119.46.184.2    |      15 |
| 125.26.135.219  |      15 |
| 125.26.213.203  |      15 |

שימוש בפורמט יומן ספציפי

כדי להשתמש בפורמט יומן שצוין בהנחיית log_format, יש להשתמש באפשרות -f כפי שמוצג.

$ sudo ngxtop -f main -l /var/log/nginx/site1/access.log

פירוש יומן של אפאצ'י משרת מרוחק

כדי לפענח את קובץ היומן של אפאצ'י משרת מרוחק בפורמט רגיל, ניתן להשתמש בפקודה דומה לזו (יש לציין את שם המשתמש וכתובת ה-IP של השרת המרוחק).

$ ssh user@remote_server tail -f /var/log/apache2/access.log | ngxtop -f common
פלט דוגמה
running for 20 seconds, 1068 records processed: 53.01 req/sec

Summary:
|   count |   avg_bytes_sent |   2xx |   3xx |   4xx |   5xx |
|---------+------------------+-------+-------+-------+-------|
|    1068 |        28026.763 |  1029 |    20 |    19 |     0 |

Detailed:
| request_path                             |   count |   avg_bytes_sent |   2xx |   3xx |   4xx |   5xx |
|------------------------------------------+---------+------------------+-------+-------+-------+-------|
| /xxxxxxxxxx                              |     199 |        55150.402 |   199 |     0 |     0 |     0 |
| /xxxxxxxx/xxxxx                          |     167 |        47591.826 |   167 |     0 |     0 |     0 |
| /xxxxxxxxxxxxx/xxxxxx                    |      25 |         7432.200 |    25 |     0 |     0 |     0 |
| /xxxx/xxxxx/x/xxxxxxxxxxxxx/xxxxxxx      |      22 |          698.727 |    22 |     0 |     0 |     0 |
| /xxxx/xxxxx/x/xxxxxxxxxxxxx/xxxxxx       |      19 |         7431.632 |    19 |     0 |     0 |     0 |
| /xxxxx/xxxxx/                            |      18 |         7840.889 |    18 |     0 |     0 |     0 |
| /xxxxxxxx/xxxxxxxxxxxxxxxxx              |      15 |         7356.000 |    15 |     0 |     0 |     0 |
| /xxxxxxxxxxx/xxxxxxxx                    |      15 |         9978.800 |    15 |     0 |     0 |     0 |
| /xxxxx/                                  |      14 |            0.000 |     0 |    14 |     0 |     0 |
| /xxxxxxxxxx/xxxxxxxx/xxxxx               |      13 |        20530.154 |    13 |     0 |     0 |     0 |

לאפשרויות שימוש נוספות, ניתן לצפות בהודעת העזרה של ngxtop באמצעות הפקודה הבאה.

$ ngxtop -h  

מאגר ה-Github של ngxtop: https://github.com/lebinh/ngxtop

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

Source:
https://www.tecmint.com/ngxtop-monitor-nginx-log-files-in-real-time-in-linux/