Teşhis araçları ve günlükler

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:

  1. Message Processor makinesine giriş yapın.
  2. 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

Yığın dökümü nasıl toplanır?

jmap yardımcı programı

jmap man sayfası

Bellek Analiz Aracı (MAT)


İş 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.

Referanslar