Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację
Apigee X. info
Dobrym rozwiązaniem jest upewnienie się, że kod Node.js dodany do serwera proxy działa, zanim wdrożysz go w Edge. W tym artykule opisujemy sposoby debugowania i rozwiązywania problemów z serwerami proxy, które zawierają aplikacje Node.js po ich wdrożeniu.
Zwiększanie rozmiaru puli połączeń w celu poprawy wydajności
Jeśli zauważysz spadek wydajności, możesz rozwiązać ten problem, zwiększając domyślny rozmiar puli połączeń Node.js za pomocą maxSockets lub całkowicie wyłączając pulę gniazd. Więcej informacji i przykładowy kod znajdziesz w artykule Node.js Performance Tips: Socket Pooling w społeczności Apigee.
Wyświetlanie logów Node.js
Aby wyświetlić informacje o logach aplikacji Node.js:
- Na głównej stronie serwerów proxy interfejsu API kliknij serwer proxy, który chcesz wyświetlić.
- Na stronie podsumowania wybranego serwera proxy kliknij Logi Node.js po prawej stronie paska narzędzi.
Na stronie Logi możesz wybrać zakres czasu, w którym chcesz wyświetlić logi, jak pokazano poniżej. Logi rejestrują wywołania metod HTTP, powodzenie lub niepowodzenie wywołań, komunikaty console.log itp. Wpisz ciąg wyszukiwania w polu wyszukiwania, aby wyświetlić wszystkie wpisy w logach, które zawierają ten ciąg.

Korzystanie z narzędzia do śledzenia
Narzędzie do śledzenia jest przydatne do ogólnego debugowania serwera proxy. Szczegółowe informacje o korzystaniu z narzędzia do śledzenia znajdziesz w artykule Korzystanie z narzędzia do śledzenia.
Drukowanie danych wyjściowych konsoli
Możesz umieścić instrukcje console.log w kodzie Node.js i wyświetlić dane wyjściowe w narzędziu do śledzenia. Na przykład ta instrukcja wyświetla wartość zmiennej config.user:
console.log('Logging in as %s', config.username);

Aby wyświetlić dane wyjściowe komunikatów console.log w narzędziu do śledzenia, wywołaj interfejs API w narzędziu do śledzenia i kliknij Dane wyjściowe ze wszystkich transakcji , aby otworzyć panel danych wyjściowych:

Załóżmy, że wykonujesz ten 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'); });
... instrukcje konsoli pojawiają się w panelu:

Konfigurowanie ustawień limitu czasu docelowego Nginx
Jeśli używasz Nginx jako serwera proxy i widzisz błędy "Bad Gateway", spróbuj zwiększyć limit czasu serwera proxy Nginx , jak opisano tutaj:
Na przykład:
proxy_connect_timeout 60; proxy_read_timeout 120;
Idealne konfiguracje limitu czasu mogą zależeć od tego, jak długo serwer odpowiada. Na przykład limit czasu odczytu wynoszący 45–60 sekund może być idealny, aby zapewnić rozsądny bufor.
Konfigurowanie ustawień limitu czasu docelowego Apigee
Możesz też skonfigurować domyślne wartości limitu czasu Apigee w elemencie HttpTargetConnection w TargetEndpoint. 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>
Zobacz też Dokumentacja właściwości punktu końcowego.
Więcej informacji
Więcej informacji o debugowaniu znajdziesz w tych artykułach:
- Korzystanie z narzędzia do śledzenia
- Korzystanie z danych dotyczących skuteczności
- Wprowadzenie do rozwiązywania problemów
- Audyty: historia interfejsu API, produktu i organizacji
Dalsze kroki
Informacje o obsłudze modułów Node.js w Apigee Edge, w tym o obsłudze HTTP/HTTPS, TLS i innych zaawansowanych tematach, znajdziesz w artykule Obsługa modułów Node.js w Edge.