Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin. bilgi
Bu bölümde, Apigee Edge'de ağ ve JVM ile ilgili sorunları gidermek için kullanabileceğiniz ağ araçları, JVM araçları ve teşhis günlükleri ele alınmaktadır.
TCP/IP paket algılayıcı (tcpdump) yardımcı programı
tcpdump aracı, bir ağ üzerinden alınan veya aktarılan TCP/IP paketlerini yakalamanıza ya da filtrelemenize olanak tanıyan bir komut satırı paket algılayıcı aracıdır. Linux/Unix tabanlı işletim sistemlerinde kullanılabilir. Bu yardımcı programı yum kullanarak aşağıdaki gibi yükleyebilirsiniz:
yum install tcpdump
tcpdump aracı, ağ ve SSL ile ilgili sorunların giderilmesi için kullanışlıdır. Örneğin:
- 502 Hatalı Ağ Geçidi Hataları (EOF İstisnasından kaynaklanan)
- 503 Hizmet Kullanılamıyor Hataları
- SSL El Sıkışma Hataları
Bu sorunlardan herhangi birini gidermek için önce hatanın oluştuğu bileşen çiftini belirlemeniz gerekir. Edge söz konusu olduğunda aşağıdaki çiftlerden biri olabilir:
- İstemci uygulaması ve yönlendirici
- Yönlendirici ve Mesaj İşleyici
- Mesaj İşleyici ve Arka Uç sunucusu
Sorunlu bileşen çiftini tespit ettikten sonra bu bileşenlerin birinde veya her ikisinde tcpdump'ı kullanarak ağ paketlerini yakalayabilirsiniz.
tcpdump kullanarak belirli bir ana makineye gönderilen/alınan paketleri yakalama
Belirli bir ana makineye (IP adresi) gönderilen veya buradan alınan tüm paketleri yakalamak ve bilgileri belirtilen dosyaya kaydetmek için aşağıdaki tcpdump komutunu kullanın:
tcpdump -i any -s 0 host <IP address> -w <File name>
Burada:
Parametre | Açıklama |
-i | (interface), paketlerin yakalanacağı arayüzü belirtir. "Herhangi biri" değerinin kullanılması, tüm arayüzlerden paketlerin yakalanmasına olanak tanır. |
-sn. | (snarf/snaplen), yakalanacak her bir paketin miktarını belirtir. 0 (sıfır) değerini kullanmak, paketin tamamını yakalamanıza olanak tanır. |
IP adresi | paketleri yakalamak istediğimiz ana makinenin IP adresidir |
Dosya Adı | tcpdump'un yazılması gereken dosyanın adıdır |
Örnek
Mesaj İşleyici ile Arka Uç Sunucusu arasındaki paketleri yakalamak istediğinizi varsayalım:
- Message Processor makinesine giriş yapın.
- Paketleri yakalamak istediğimiz Arka Uç Sunucusu'nun IP adresini belirleyin (adresin 22.22.22.22 olduğunu varsayın).
Belirli bir IP adresine sahip bir ana makinenin ağ paketlerini yakalamak için aşağıdaki komutu kullanın:
tcpdump -i any -s 0 host 22.22.22.22 -w rmp-123.pcap
Arka uç sunucusu birden fazla IP adresine çözümlenirse tcpdump komutunda arka uç sunucusunun ana makine adını aşağıda gösterildiği gibi kullanın:
tcpdump -i any -s 0 host <Hostname> -w rmp-123.pcap
Farklı IP adreslerine sahip birden fazla arka uç sunucusu varsa (22.22.22.22, 33.33.33.33 ve 44.44.44.44) aşağıdaki tcpdump komutunu kullanın:
tcpdump -i any -s 0 host 22.22.22.22 or host 33.33.33.33 or host 44.44.44.44 -w rmp-123.pcap
TCPdump'ları analiz etme
tcpdump komutunu veya GUI tabanlı aracı Wireshark'ı kullanarak tcpdump'ları görüntüleyebilir ya da analiz edebilirsiniz.
Referanslar
Yığın dökümleri
Yığın dökümleri, bir Java işleminin belleğinin anlık görüntüsüdür. Yığın dökümü toplandığı anda yığındaki Java nesneleri ve sınıfları hakkında bilgi içerir. Bu dosyalar, genellikle 100 MB ile birkaç GB arasında değişen oldukça büyük boyutlara sahiptir.
Yığın dökümü, İleti İşleyici gibi bir Java işlemi şunları gösterdiğinde çok yararlıdır:
- Yüksek Bellek Kullanımı
- OutofMemoryError
Java işlemi için Yığın dökümü oluşturma
Java, çalışan bir Java işleminin bellek istatistiklerini veya yığın dökümlerini oluşturmanıza olanak tanıyan jmap adlı bir yardımcı program sunar.
Bir Java işleminin yığın dökümünü oluşturmak için aşağıdaki jmap komutunu kullanın:
sudo -u apigee <JAVA_HOME>/bin/jmap -dump:live,format=b,file=<filename> <pid>
Burada:
Parametre | Açıklama |
JAVA_HOME | Java yükleme dizinidir |
filename | Yığın dökümünün yazılacağı dosyanın adıdır |
pid | Başlık dökümü yakalanması gereken Java uygulamasının işlem kimliğidir |
Örnek
Mesaj İşleyici mp-east'in bellek kullanımının yüksek olduğunu veya OutOfMemory Hataları verdiğini varsayalım. Unix işletim sisteminde ps komutunu kullanarak Mesaj İşleyici'nin işlem kimliğini belirleyin. 24569 olduğunu varsayalım.
Yığın dökümü oluşturmak için jmap yardımcı programını aşağıdaki gibi çalıştırın:
sudo -u apigee <JAVA_HOME>/bin/jmap -dump:live,format=b,file=mp-east-heapdump.bin 24569
Yığın Dökümlerini Analiz Etme
Yığın dökümleri, Eclipse MAT (Bellek Analiz Aracı) kullanılarak analiz edilebilir. Böylece, olası bellek sızıntılarını veya hangi Java nesnelerinin yüksek bellek kullanımına neden olduğunu belirleyebilirsiniz.
Referanslar
İş parçacığı dökümleri
İş parçacığı dökümü, çalışan bir Java işlemindeki tüm iş parçacıklarının durumunun anlık görüntüsüdür. Her iş parçacığının durumu, yığınının içeriğiyle birlikte sunulur. Buna, yığın izleme (stack trace) denir. İş parçacıklarından bazıları çalışan Java uygulamasının parçası olurken bazıları da JVM dahili iş parçacıklarıdır.
İş parçacığı dökümü, uygulamanın her bir iş parçacığı etkinliğiyle ilgili bilgileri gösterir. Bu bilgiler aşağıdakiler için çok yararlı olabilir:
- CPU artışları, yavaş yanıt süreleri veya yanıt vermeyen Java uygulamaları gibi sorunları teşhis edin
- Uygulama ve JVM performansını optimize edin
İş Parçacığı Dökümü Oluşturma
Bir Java işlemi için iş parçacığı dökümü, aşağıda gösterildiği gibi jstack yardımcı programı kullanılarak oluşturulabilir:
sudo -u apigee <JAVA_HOME>/bin/jstack -l <pid> > <filename>
Burada:
Parametre | Açıklama |
JAVA_HOME | Java yükleme dizinidir. |
pid | İş parçacığı yığınını yakalamak istediğiniz Java uygulamasının işlem kimliğidir. |
filename | İş parçacığı dökümünün yazılacağı dosyanın adıdır. |
Örnek
mp-east Mesaj İşleyici'deki 37320 işlem kimliği için iş parçacığı dökümü oluşturmak isterseniz aşağıdaki komutu kullanın:
sudo -u apigee <JAVA_HOME>/bin/jstack -l 37320 > /opt/apigee/edge-message-processor/mp-east-threadDump.txt
Yukarıdaki örneğe göre, işlemin iş parçacığı dökümü /opt/Apigee/edge-message-processor/mp-east-threadDump.txt dosyasına kaydedilir.
İş Parçacığı Dökümlerini Analiz Etme
İleti dizisi dökümlerini vi (Linux), not defteri (Windows) gibi herhangi bir metin düzenleyicide görüntüleyebilirsiniz. İş Parçacığı Dökümü'nün farklı bölümleri ve bilgilerin nasıl yorumlanacağıyla ilgili ayrıntılar için İş Parçacığı Dökümü bölümüne bakın.