Aby agent mógł monitorować aplikację Node.js, należy dodać do niej moduł gromadzący dane i zrestartować ją.
Zanim rozpoczniesz
Zanim będzie można ponownie skonfigurować agenta w tej samej wersji, należy wyczyścić pliki modułu gromadzącego dane, które zostały utworzone w poprzedniej
konfiguracji:
- Przejdź do katalogu katalog_instalacyjny/lx8266/nj/bin.
- Uruchom komendę
./uninstall.sh, aby usunąć istniejące pliki modułu gromadzącego dane.
O tym zadaniu
Agent Node.js to agent o jednej instancji. Agent ten
rejestruje podwęzły dla każdej monitorowanej aplikacji Node.js. Struktura podwęzła jest następująca:
NJ:nazwa-hosta_port:NJAWskazówka: Jeśli jedna aplikacja Node.js nasłuchuje na wielu portach, zostanie
użyty port o najniższym numerze.
Aby agent mógł monitorować aplikację Node.js, należy dodać do niej moduł gromadzący dane i zrestartować ją. Moduł gromadzący dane agenta gromadzi dane i przekazuje je do
agenta Node.js. Obecnie dostępne są następujące moduły gromadzące dane agenta:
- Moduł gromadzący dane zasobów gromadzi informacje na temat monitorowanych zasobów z aplikacji Node.js.
- Moduł gromadzący dane diagnostyczne gromadzi dane diagnostyczne i dane monitorowania zasobów z aplikacji Node.js.
- Moduł gromadzący dane śledzenia metod zbiera dane śledzenia metod, dane diagnostyczne i dane monitorowania zasobów aplikacji Node.js.
Procedura
-
Upewnij się, że identyfikator użytkownika, który jest używany do uruchamiania i zatrzymywania serwera aplikacji, ma pełne uprawnienia do katalogu
katalog_instalacyjny agenta.
-
Przejdź do katalogu katalog_instalacyjny/bin i uruchom komendę:
-
Postępuj zgodnie z instrukcjami, aby określić wartości dla następujących opcji konfiguracyjnych:
- KNJ_NODEJS_RUNTIME_BIN_LOCATION
- Ścieżka katalogu bin środowiska Node.js. Domyślnym katalogiem jest /usr/local/bin.
- KNJ_NPM_RUNTIME_BIN_LOCATION
- Ścieżka katalogu bin zawierającego komendę npm. Domyślnym katalogiem jest /usr/local/bin.
- KNJ_NPM_LIB_LOCATION
- Ścieżka katalogu lib w globalnym katalogu instalacyjnym pakietu npm. Katalogiem domyślnym jest /usr/local/lib. Na przykład, jeśli pakiet npm został zainstalowany za pomocą komendy
npm install -g, katalogiem instalacji jest
/katalog_główny_nodejs/lib/node_modules oraz KNJ_NPM_LIB_LOCATION is
/nodejs_home/lib.
- CP_PORT
- Port wykorzystywany przez agenta do nasłuchiwania danych od klientów gniazda. Wartość
0 oznacza, że używany jest port krótkotrwały. Wartość domyślna:
63336.
Uwaga: Nie można użyć numeru portu, który jest już używany w systemie. Aby sprawdzić, czy port jest już używany, wpisz komendę
netstat -apn | grep numer_portu.
-
Uruchom agenta, wpisując następującą komendę:
-
Upewnij się, że agent dla Node.js został pomyślnie uruchomiony. Jeśli agent uruchomił się pomyślnie, tworzony jest katalog KNJ_NPM_LIB_LOCATION/node_modules/ibmapm.
-
Na podstawie posiadanej oferty i wymagań należy wstawić jedną z następujących pozycji do pliku .js aplikacji Node.js w
celu skonfigurowania modułu gromadzącego dane:
Uwaga: Można dodać tylko jedną pozycję do aplikacji Node.js, aby włączyć gromadzenie danych agenta. W przypadku włączenia funkcji, które nie są uwzględnione w ofercie, może być wykonywana niepotrzebna praca, co zmniejsza wydajność działania aplikacji.
- W przypadku posiadania wyłącznie możliwości monitorowania zasobów można
dodać moduł gromadzący dane zasobów.
W tym celu należy wstawić następujący wiersz na początku pliku aplikacji Node.js:
require('KNJ_NPM_LIB_LOCATION/node_modules/ibmapm');
Jeśli KNJ_NPM_LIB_LOCATION w danym środowisku ma wartość
/usr/local/lib, należy wstawić:
require('/usr/local/lib/node_modules/ibmapm');
- W przypadku posiadania - oprócz możliwości monitorowania zasobów - funkcji diagnozowania, można dodać jeden z następujących modułów gromadzących dane agenta:
- W celu dodania modułu gromadzącego dane śledzenia należy wstawić następujący wiersz na początku pliku aplikacji Node.js:
require('KNJ_NPM_LIB_LOCATION/node_modules/ibmapm/methodtrace.js');
- W celu dodania modułu gromadzącego dane diagnostyczne należy wstawić następujący wiersz na początku pliku aplikacji Node.js:
require('KNJ_NPM_LIB_LOCATION/node_modules/ibmapm/deepdive.js');
- W celu dodania modułu gromadzącego dane monitorowania należy wstawić następujący wiersz na początku pliku aplikacji Node.js:
require('KNJ_NPM_LIB_LOCATION/node_modules/ibmapm');
Aby zagwarantować najlepszą wydajność, moduł gromadzący dane
śledzenia należy dodawać tylko na czas debugowania.
Uwaga: Kod wtyczek zmienił się od produktu Cloud
APM Marzec 2017. W przypadku aktualizowania agenta z wcześniejszej wersji, należy zaktualizować kod istniejących modułów gromadzących dane aplikacji w celu
umożliwienia poprawnej pracy.
-
Zrestartuj aplikację Node.js, aby włączyć moduł gromadzący dane agenta.
Wyniki
Pomyślnie skonfigurowano agenta dla Node.js.