Debugowanie i rozwiązywanie problemów z serwerami proxy Node.js

Przeglądasz dokumentację Apigee Edge.
Przejdź do Dokumentacja Apigee X.
informacje.

Przed wdrożeniem warto upewnić się, że każdy kod Node.js dodany do serwera proxy działa do Edge. W tym temacie omawiamy sposoby debugowania i rozwiązywania problemów z serwerami proxy, które obejmują środowisko Node.js. po ich wdrożeniu.

Zwiększam rozmiar puli połączeń do poprawić wydajność

Jeśli zauważysz niską wydajność, możesz rozwiązać problem, zwiększając wartość domyślną rozmiar puli połączeń Node.js z maxSockets lub po wyłączeniu a także agregację gniazdek elektrycznych. Więcej informacji i przykładowy kod znajdziesz w artykule Node.js Wskazówki dotyczące wydajności: tworzenie puli gniazd w społeczności Apigee.

Wyświetlanie logów Node.js

Aby wyświetlić informacje logu dotyczące aplikacji Node.js:

  1. Na głównej stronie serwerów proxy interfejsu API kliknij serwer proxy, który chcesz wyświetlić.
  2. Na stronie podsumowania wybranego serwera proxy kliknij Node.js Logs (Dzienniki Node.js)? po prawej stronie paska narzędzi.
.

Na stronie Logi możesz wybrać zakres czasowy logów do wyświetlenia, jak pokazano poniżej. Zapis logów wywołania metod HTTP, udane lub nieudane wywołania, komunikaty Console.log itd. Wpisz zapytanie w polu wyszukiwania, aby wyświetlić wszystkie wpisy logu zawierające ten ciąg.

Korzystanie z narzędzia śledzenia

Narzędzie do śledzenia przydaje się do ogólnego debugowania serwera proxy. Szczegółowe informacje na temat korzystania z Zobacz artykuł Korzystanie z narzędzia śledzenia. .

Dane wyjściowe konsoli drukowania

Możesz umieścić instrukcje Console.log w kodzie Node.js i wyświetlać dane wyjściowe w śledzeniu . Na przykład ta instrukcja wyświetla wartość zmiennej config.user:

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

Aby wyświetlić w narzędziu do śledzenia dane wyjściowe komunikatów console.log, wywołaj w interfejsie API do śledzenia i kliknij Wyniki ze wszystkich transakcji , otwórz panel wyników:

Zakładamy, że został wykonany następujący kod...

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');
});

... w panelu pojawią się instrukcje konsoli:

Konfigurowanie ustawień docelowego czasu oczekiwania Nginx

Jeśli używasz Nginx jako serwera proxy i widzisz komunikat „Nieprawidłowa brama” błędów, spróbuj zwiększyć serwer proxy Nginx konfiguracji limitu czasu, jak opisano tutaj:

Na przykład:

proxy_connect_timeout       60;
proxy_read_timeout          120;

W zależności od tego, jak długo serwer odpowiada, można określić idealny czas oczekiwania konfiguracji. Na przykład limit czasu odczytu wynoszący 45–60 sekund może być idealny do zapewnienia i zachować rozsądny bufor.

Konfiguruję ustawienia docelowego limitu czasu Apigee

Możesz też skonfigurować domyślne wartości limitu czasu Apigee w elemencie HttpTargetConnection w docelowym punkcie końcowym. Wartości domyślne to:

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>

Zapoznaj się też z informacjami o właściwościach punktów końcowych.

Więcej informacji

Więcej informacji o debugowaniu:

Dalsze kroki

Informacje o obsłudze modułów Node.js w Apigee Edge, w tym na temat Obsługa protokołów HTTP/HTTPS, TLS i innych zagadnień zaawansowanych zawiera artykuł Omówienie obsługi Edge dla modułów Node.js.