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.
Kariyerime 26 yıl önce başladım. Windows ve Linux sistemlerinin kurulumu, yapılandırılması, yönetimi ve bakımı dahil olmak üzere birden fazla sistem üzerinde uzmanlaştım.
Açık kaynak dünyasındaki en son gelişmelerden haberdar olmaktan ve Linux hakkındaki en son araçları, özellikleri ve hizmetleri denemekten hoşlanıyorum.
Son 6 yıldır sistem ve ağ yöneticisi olarak görev yapıyorum ayrıca Pardus Dönüşüm Projesini yönetiyorum ve Pardus İşletim Sisteminin yaygınlaşması adına uğraş gösteriyorum.
Boş zamanlarımda açık kaynaklı uygulamaların Türkçe çevirisine katılıyorum ve The Document Foundation üyesiyim.