Node.js proxy'lerinde hata ayıklama ve sorun giderme

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
bilgi

Bir proxy'ye eklediğiniz Node.js kodunun Edge'e dağıtılmadan önce çalıştığından emin olmanız önerilir. Bu konuda, dağıtıldıktan sonra Node.js uygulamalarını içeren proxy'lerde hata ayıklama ve sorun giderme yöntemleri ele alınmaktadır.

Performansı artırmak için bağlantı havuzu boyutunu artırma

Yavaş performans fark ederseniz maxSockets ile varsayılan Node.js bağlantı havuzu boyutunu artırarak veya soket havuzunu tamamen devre dışı bırakarak sorunu çözebilirsiniz. Daha fazla bilgi ve örnek kod için Apigee Topluluğu'ndaki Node.js Performans İpuçları: Soket Havuzu başlıklı makaleyi inceleyin.

Node.js günlüklerini görüntüleme

Node.js uygulamanızla ilgili günlük bilgilerini görüntülemek için:

  1. Ana API proxy'leri sayfasında görüntülemek istediğiniz proxy'yi tıklayın.
  2. Seçilen proxy'nin özet sayfasında, araç çubuğunun sağ tarafındaki Node.js Günlükleri'ni tıklayın.

Günlükler sayfasında, aşağıda gösterildiği gibi, görüntülenecek bir günlük zaman aralığı belirleyebilirsiniz. Günlükler; HTTP yöntemi çağrılarını, çağrıların başarılı veya başarısız olduğunu, console.log mesajlarını ve benzeri bilgileri kaydeder. Dizeyi içeren tüm günlük girişlerini görüntülemek için arama alanına bir arama dizesi girin.

İzleme aracını kullanma

İzleme aracı, genel proxy hata ayıklama için kullanışlıdır. İzleme aracının kullanımıyla ilgili ayrıntılı bilgi için İzleme aracını kullanma başlıklı makaleyi inceleyin.

Yazdırma konsolu çıkışı

Node.js kodunuza console.log ifadeleri yerleştirebilir ve çıkışı izleme aracında görüntüleyebilirsiniz. Örneğin, aşağıdaki ifade config.user değişkeninin değerini yazdırır:

console.log('Logging in as %s', config.username);

Takip aracında console.log mesajlarının çıkışını görüntülemek için Takip Aracı'nda API'nizi çağırın ve çıkış panelini açmak için Tüm İşlemlerden Çıkış 'ı tıklayın:

Aşağıdaki kodu yürüttüğünüz varsayıldığında...

var http = require('http');

console.log('node.js application starting...');

var svr = http.createServer(function(req, resp) {
    resp.end('Hello, World!');
});

svr.listen(9000, function() {
    console.log('Node HTTP server is listening');
});

... konsol ifadeleri panelde görünür:

Nginx hedef zaman aşımı ayarlarını yapılandırma

Proxy olarak Nginx kullanıyorsanız ve "Hatalı Ağ Geçidi" hataları görüyorsanız Nginx proxy zaman aşımı yapılandırmasını burada açıklandığı şekilde artırmayı deneyin:

Örneğin:

proxy_connect_timeout       60;
proxy_read_timeout          120;

Sunucunun yanıt vermesi ne kadar sürerse ideal zaman aşımı yapılandırmalarınızı belirler. Örneğin, makul bir arabelleğe sahip olmak için 45-60 saniyelik bir okuma zaman aşımı ideal olabilir.

Apigee hedef zaman aşımı ayarlarını yapılandırma

Apigee varsayılan zaman aşımı değerlerini TargetEndpoint'teki HttpTargetConnection öğesinde de yapılandırabilirsiniz. Varsayılan değerler:

connect.timeout.millis - 60 seconds
io.timeout.millis - 120 seconds
<HTTPTargetConnection>
    <Properties>
        <Property name="connect.timeout.millis">5000</Property>
        <Property name="io.timeout.millis">5000</Property>
    </Properties>
    <URL>http://www.google.com</URL>
</HTTPTargetConnection>

Ayrıca Uç nokta özellikleri referansı başlıklı makaleyi inceleyin.

Daha fazla bilgi için

Hata ayıklama hakkında daha fazla bilgi edinmek için:

Sonraki adımlar

HTTP/HTTPS, TLS ve diğer ileri seviye konularla ilgili destek bilgileri de dahil olmak üzere Apigee Edge'de Node.js modülü desteği hakkında bilgi edinmek için Node.js modülleri için Edge desteğini anlama başlıklı makaleyi inceleyin.