ngxtop - ຕິດຕາມກວດກາໄຟລ໌ບັນທຶກ Nginx ໃນເວລາຈິງໃນ Linux


ngxtop ແມ່ນແຫຼ່ງເປີດທີ່ບໍ່ເສຍຄ່າ, ງ່າຍດາຍ, ມີຄວາມຍືດຫຍຸ່ນ, ສາມາດຕັ້ງຄ່າໄດ້ຢ່າງເຕັມທີ່ແລະໃຊ້ງ່າຍໃນການກວດສອບຕົວຈິງທີ່ສຸດໃນເວລາຈິງ ສຳ ລັບ server nginx. ມັນລວບລວມຂໍ້ມູນໂດຍການແຍກບັນທຶກການເຂົ້າເຖິງ nginx (ສະຖານທີ່ເລີ່ມຕົ້ນແມ່ນ /var/log/nginx/access.log) ແລະສະແດງເຄື່ອງວັດແທກທີ່ມີປະໂຫຍດຂອງ server nginx ຂອງທ່ານ, ດັ່ງນັ້ນຈຶ່ງຊ່ວຍໃຫ້ທ່ານຕິດຕາມເບິ່ງເວັບເຊີຟເວີຂອງທ່ານໃນເວລາຈິງ. ມັນຍັງຊ່ວຍໃຫ້ທ່ານສາມາດແຍກບັນທຶກ Apache ຈາກ server ຫ່າງໄກໄດ້.

ວິທີການຕິດຕັ້ງແລະໃຊ້ Ngxtop ໃນ Linux

ເພື່ອຕິດຕັ້ງ ngxtop, ທຳ ອິດທ່ານຕ້ອງຕິດຕັ້ງ PIP ໃນ Linux, ເມື່ອທ່ານໄດ້ຕິດຕັ້ງ pip ໃນລະບົບຂອງທ່ານແລ້ວ, ທ່ານສາມາດຕິດຕັ້ງ ngxtop ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ sudo pip install ngxtop

ໃນປັດຈຸບັນທີ່ທ່ານໄດ້ຕິດຕັ້ງ 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 ທີ່ມາຂອງລູກຄ້າທັງ ໝົດ ທີ່ເຂົ້າເວັບໄຊທ໌້.

$ 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

ເພື່ອແຍກໄຟລ໌ບັນທຶກ Apache ຈາກ server ຫ່າງໄກສອກຫຼີກທີ່ມີຮູບແບບທົ່ວໄປ, ໃຫ້ໃຊ້ ຄຳ ສັ່ງທີ່ຄ້າຍຄືກັບຕໍ່ໄປນີ້ (ລະບຸຊື່ຜູ້ໃຊ້ແລະ IP server ຂອງໄລຍະໄກ).

$ ssh [email _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  

ngxtop Github repository: https://github.com/lebinh/ngxtop

ນັ້ນແມ່ນ ສຳ ລັບດຽວນີ້! ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ອະທິບາຍວິທີການຕິດຕັ້ງແລະໃຊ້ ngxtop ໃນລະບົບ Linux. ຖ້າທ່ານມີ ຄຳ ຖາມ, ຫຼືຄວາມຄິດພິເສດເພື່ອເພີ່ມໃສ່ຄູ່ມືນີ້, ໃຫ້ໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້. ນອກຈາກນັ້ນ, ຖ້າທ່ານໄດ້ຊອກຫາເຄື່ອງມືທີ່ຄ້າຍຄືກັນນີ້, ຍັງແຈ້ງໃຫ້ພວກເຮົາຊາບແລະພວກເຮົາຈະຮູ້ບຸນຄຸນ.