Doküman

ngxtop – Linux’ta Nginx Günlük Dosyalarını Gerçek Zamanlı Olarak İzleyin

ngxtop, nginx sunucusu için ücretsiz bir açık kaynak kodlu, basit, esnek, tamamen yapılandırılabilir ve kullanımı kolay gerçek zamanlı en iyi izleme aracıdır. Nginx erişim günlüğünü ayrıştırarak veri toplar (varsayılan konum her zaman /var/log/nginx/access.log’dur) ve nginx sunucunuzun yararlı ölçümlerini görüntüler, böylece web sunucunuzu gerçek zamanlı olarak izlemenize yardımcı olur. Ayrıca uzak bir sunucudan Apache günlüklerini ayrıştırmanıza da olanak tanır.

Linux’ta Ngxtop Nasıl Kurulur ve Kullanılır

ngxtop’u kurmak için önce Linux’ta PIP kurmanız gerekir, sisteminize pip kurduktan sonra aşağıdaki komutu kullanarak ngxtop’u kurabilirsiniz.

$ sudo pip install ngxtop

Nginx Sunucu İsteklerini İzleyin

Artık ngxtop’u kurduğunuza göre, çalıştırmanın en kolay yolu herhangi bir argüman olmadan başlatmaktır. Bu, /var/log/nginx/access.log dosyasını ayrıştırır ve varsayılan olarak takip modunda çalışır (erişim günlüğüne yazılırken yeni satırları izleyin).

$ sudo ngxtop
Örnek Çıktı
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 |

Çıkmak için [Ctrl + C] tuşlarına basın.

Farklı Erişim Günlüğünü Ayrıştırma

Farklı bir erişim günlüğünü, örneğin gösterildiği gibi -l parametresini kullanarak belirli bir web sitesi veya web uygulaması için ayrıştırabilirsiniz.

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

İstemcilerin En İyi Kaynak IP’lerini Listeleyin

Aşağıdaki komut, siteye erişen istemcilerin tüm üst kaynak IP’lerini listeleyecektir.

$ sudo ngxtop remote_addr -l  /var/log/nginx/site1/access.log
Örnek Çıktı
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 |

Özel Günlük Formatını Kullan

log_format yönergesinde belirtildiği gibi bir günlük formatı kullanmak için, gösterildiği gibi -f seçeneğini kullanın.

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

Uzak Sunucudan Apache Günlüğünü Ayrıştırma

Apache günlük dosyasını bir uzak sunucudan ortak formatta ayrıştırmak için aşağıdakine benzer bir komut kullanın (kullanıcı adınızı ve uzak sunucu IP’nizi belirtin).

$ ssh user@remote_server tail -f /var/log/apache2/access.log | ngxtop -f common
Örnek Çıktı
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 |

Daha fazla kullanım seçeneği için, aşağıdaki komutu kullanarak ngxtop yardım mesajını görüntüleyin.

$ ngxtop -h  

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

Şimdilik bu kadar! Bu yazımızda ngxtop’un Linux sistemlere nasıl kurulacağını ve kullanılacağını anlattık.

Yazının orijinalini buradan okuyabilirsiniz.