Monitoring Node.js

Sie können den Instana-Kollektor Node.js verwenden, um Node.js -Anwendungen zu überwachen.

Kollektor ' Instana Node.js '

Der Instana Node.js-Kollektor ist ein npm-Paket, das Sie zu den Abhängigkeiten Ihrer Node.js-Anwendungen hinzufügen. Es ermöglicht die Sammlung von Metriken und die automatische Rückverfolgung sowie die Meldung von Metriken und Rückverfolgungen an Instana.

Einschränkungen

Das Node.js -Kollektorpaket von Instana dient zur Überwachung von Node.js -Serveranwendungen mit Instana.

Informationen zur Überwachung von JavaScript -Anwendungen, die auf den folgenden Plattformen ausgeführt werden, finden Sie auf der entsprechenden Seite:

Instana-Kollektor Node.js installieren

Installieren Sie das npm-Paket @instana/collector mit dem folgenden Befehl, um den Instana-Kollektor Node.js zu installieren und Instana für die Überwachung Ihrer Node.js -Anwendungen zu aktivieren:

npm install --save @instana/collector

Nach der Installation des Kollektors müssen Sie den Kollektor in der Anwendung aktivieren. Damit der Collector ordnungsgemäß aktiviert wird, müssen Sie ihn laden und initialisieren, bevor andere Dateien geladen werden. Fügen Sie dazu die folgende Zeile als erste Anweisung zum Anwendungscode hinzu:

require('@instana/collector')();

// All other require statements must be done after the collector is initialized.
// Note the () after the require statement of the collector which initializes it.

// const express = require('express');

Weitere Informationen finden Sie unter Kollektor für Node.js.

Kubernetes

Wenn Ihre Node.js-Anwendungen ausschließlich auf Kubernetes laufen, können Sie stattdessen die Instana AutoTrace Webhook-Methode verwenden, die keine Änderungen an Ihren Anwendungen erfordert.

Wenn Sie den Instana AutoTrace Webhook verwenden und planen, das Instana Node.js SDK zu verwenden, lesen Sie den Abschnitt Verwendung der API zusammen mit dem AutoTrace Webhook.

Apigee Microgateway

Weitere Informationen zur Verwendung des Instana-Pakets für den Node.js -Collector mit Apigee Microgateway (auch bekannt als edgemicro) finden Sie auf der Seite Apigee Microgateway.

Kollektor ' Node.js ' konfigurieren

Weitere Informationen zur Konfiguration des Kollektors 'Instana Node.js ' finden Sie unter Konfiguration des Kollektors 'Node.js '.

Kubernetes und Red Hat OpenShift

Wenn Ihre Node.js -Anwendung und der Instantagent in einem Kubernetes -Cluster ausgeführt werden, müssen Sie den Netzzugriff für überwachte Anwendungen konfigurieren. Weitere Informationen finden Sie unter Kubernetes -Netzzugriff.

Cloud Foundry

Anmerkungen:

  • Der Instanagent kann auf den Diego-Zellen der Cloud Foundry -Basis ausgeführt werden. Diego-Zellen sind die grundlegenden Ausführungseinheiten innerhalb der Diego-Laufzeit von Cloud Foundry . Sie stellen die erforderliche Infrastruktur für die Ausführung von Anwendungen in Cloud Foundrybereit. Jede Diego-Zelle ist eine virtuelle oder physische Maschine, die für die Verwaltung und Ausführung von Anwendungsinstanzen verantwortlich ist, einschließlich Tasks wie Planung, Skalierung und Statusüberwachung. Ohne einen Agenten, der in der zugrunde liegenden Diego-Zelle ausgeführt wird, wird die Überwachung von Cloud Foundry -Anwendungen nicht unterstützt.

  • Für Tile 1.177.0 und höhere Versionen automatisiert instana_buildpack die Konfiguration von Node.js -Anwendungen in Cloud Foundry. Weitere Informationen finden Sie unter Instana buildpack.

Weitere Informationen zum Einrichten von Instana-Hostagenten und den zugehörigen Cloud Foundry -oder Pivotal-Plattformfunktionen finden Sie unter Cloud Foundry und Pivotal Platform.

Auf Cloud Foundry ist keine Konfiguration auf der Ebene von cf push und beim Anwendungsmanifest erforderlich. Der einzige erforderliche Schritt besteht darin, das Paket @instana/collector wie beschrieben zur Cloud Foundry Node.js hinzuzufügen.

-API

Das Kollektorpaket Node.js von Instana stellt eine API für die angepasste Traceerstellung bereit. Weitere Informationen finden Sie auf der API-Seite.

Unterstützte Node.js -Versionen

Der Node.js-Collector von Instana unterstützt die folgenden Node.js-Versionen:

Node.js -Versionen Collector-Versionen
22.0.0 und höher 3.7.0 -neueste
21.0.0 und höher 3.0.0 -neueste
20.3.0 und höher 2.26.0 -neueste
18.0.0 und höher 2.4.0 -neueste
16.0.0 und höher 1.125.0 - aktuellste
14.0.0 und höher 1.97.0 - aktuellste
12.0.0 und höher 1.67.0 - aktuellste
10.4.0 und höher 1.38.0 - aktuellste
8.2.1 und höher 1.28.0 - 1.x
6.0.0 und höher 1.0.0 - 1.x
4.5 und höher 1.0.0 - 1.103.0
5.10 und höher 1.0.0 - 1.103.0

-Hauptkollektorversionen

  • Aktuelle Hauptversion: Version 3
  • Vorherige Hauptversion: Version 2

Für die Vorgängerversion werden nur die Sicherheit mit dem Schweregrad Hoch und Fehlerkorrekturen freigegeben. Sie müssen zur aktuellen Hauptversion wechseln.

Langfristige Unterstützung

Die Node.js -Überwachungsunterstützung für Instana folgt dem offiziellen LTS-Zeitplan und dem EOL-Zeitplan (EOL-End-of-Life) aus Node.js.

Wenn eine Node.js -Version ihr EOL-Datum erreicht, wird ihr ein zusätzlicher Unterstützungszeitraum von ein bis zwei Jahren angeboten. Aktualisieren Sie Ihre Node.js -Version regelmäßig, um Probleme zu vermeiden.

Die Unterstützung für Node.js 10 und 12 wird im Paket @instana/collector@3.x eingestellt. Wenn Sie diese Node.js -Versionen weiterhin bevorzugen, verwenden Sie das Paket @instana/collector@2 .

Die Unterstützung für Node.js 6 und 8 wird im Paket @instana/collector@2.x eingestellt. Wenn Sie diese Node.js -Versionen weiterhin bevorzugen, verwenden Sie das Paket @instana/collector@1 .

-Versionssteuerung

Die Instana npm-Pakete entsprechen der semver-Spezifikation.

Hinweise:

  • npm install @instana/collector@latest installiert immer die neueste Hauptversion.

  • Sie können die Version des Kollektors in Ihrer Datei package.json pinnen, indem Sie beispielsweise einen Versionsbereich wie @instana/collector: ^3.x.yverwenden. Das bedeutet, dass Sie automatisch neue Funktionen (Nebenreleases) und Fehlerkorrekturen (Patch-Releases) erhalten, aber ein Hauptversionsupdate wie Version 2 bis 3 erfordert eine manuelle Konfiguration. Weitere Informationen finden Sie in der Liste der unterbrechenden Änderungen.

Weitere Informationen zum Versionssteuerungsschema für AWS Fargate und Google Cloud Run container base images finden Sie in den entsprechenden Abschnitten:

Änderungen aufheben

Eine detaillierte Liste der Änderungen für jede Version (einschließlich unterbrechender Änderungen für Hauptversionen) finden Sie auch im GitHub -Änderungsprotokoll.

Upgrade von Version 2 auf 3

Die Unterstützung für die folgenden Technologien wird eingestellt. Weitere Informationen zu unterbrechenden Änderungen in Version 3 finden Sie unter GitHub -Änderungsprotokoll.

  • Die Unterstützung für Node.js 10 und 12 wird eingestellt. Führen Sie ein Upgrade auf Node.js 14.0.0 oder höher durch.

  • Das /opt/instana/instrumentation/nodejs/runtime-version-switch interne Skript wird aus dem Instana AutoTrace Webhook entfernt. Wenn Sie dieruntime-version-switch module not found Fehlermeldung, siehe Fehlerbehebung .

  • Die Unterstützung für die Elasticsearch -Bibliothek wurde entfernt.

    Wichtig:Vor der Aktualisierung auf Version 3 müssen Sie auf @elastic/elasticsearchmigrieren.

  • Die Unterstützung für die BibliothekgRPC wurde entfernt.

    Wichtig: Vor der Aktualisierung auf Version 3 müssen Sie auf @grpc/grpc-jsmigrieren.

  • Die Unterstützung für node-redis 0 wird eingestellt. Weitere Informationen finden Sie unter node-redis.

  • Die Unterstützung für MSSQL 8 wird eingestellt. Weitere Informationen finden Sie unter node-mssql.

  • Die Unterstützung für GraphQL 14 wird eingestellt. Weitere Informationen finden Sie unter graphql-js.

  • Die Bibliothek 'kafka-node' ist offiziell veraltet.

  • Die Unterstützung für fastify 1 wird eingestellt.

Upgrade von Version 1 auf 2

Weitere Informationen zu unterbrechenden Änderungen in Version 2 finden Sie unter GitHub -Änderungsprotokoll.

  • Die Unterstützung für Knoten 6 und 8 wird mit Version 2.0.0 aller Instana npm-Pakete (@instana/collector, @instana/aws-fargate, @instana/aws-lambdaund @instana/google-cloud-run) gelöscht. Führen Sie ein Upgrade Ihrer Node.js -Version auf mindestens 10.4.0durch.

  • Die Unterstützung für reportUncaughtException wurde entfernt. Dieses Feature ist seit Version 1.112.0veraltet. Wenn Sie diese Funktion zuvor verwendet haben, können Sie sich stattdessen auf die Funktion Erkennung abnormaler Prozessbeendigungen verlassen. Die Erkennung abnormaler Prozessbeendigungen ist standardmäßig aktiviert.

  • Die Konfigurationsoption timeBetweenHealthcheckCalls wurde von instana({ tracing: { timeBetweenHealthcheckCalls: Boolean }}) nach instana({ tracing: { metrics: { timeBetweenHealthcheckCalls }}})verschoben. Weitere Informationen finden Sie unter Vollständige Konfigurationsreferenz.

  • Die Konfigurationsoption für logger wurde entfernt. Sie können instana({logger: logger})nicht mehr verwenden. Verwenden Sie stattdessen instana.setLogger(logger) . Weitere Informationen finden Sie im Abschnitt Protokollfunktion nach Initialisierung festlegen.

  • Die Konfigurationsoption disableAutomaticTracing wurde entfernt. Sie können instana({ tracing: { disableAutomaticTracing: Boolean }})nicht mehr verwenden. Verwenden Sie stattdessen instana({ tracing: { automaticTracingEnabled: Boolean }}) . Weitere Informationen finden Sie unter Automatische Traceerstellung inaktivieren.

Unterstützte Bibliotheken

HTTP

Die Spalte "Collectorversion" gibt die Mindestversion des @instana/collector -Pakets an, die für ein bestimmtes Feature erforderlich ist. Weitere Informationen finden Sie im GitHub -Änderungsprotokoll.

Bibliothek Support-Richtlinie Collector-Version
Express -Fehlerbehandlung und -Pfadvorlagen 45 Tage 1.32.0, 1.43.0
Fastify Pfadvorlagen 45 Tage 1.44.0
HTTP (s) -Clients 0 Tag 1.10.0
HTTP (s) -Server 0 Tag 1.10.0
HTTP/2 -Clients 0 Tag 1.103.0
HTTP/2 -Server 0 Tag 1.103.0
hapi Pfadvorlagen 45 Tage 1.68.0
Pfadvorlagen für koa-router 45 Tage 1.56.0
request-promise[1] 45 Tage 1.10.0
anforderung[2] 45 Tage 1.10.0
Superagent 45 Tage 1.102.0
abrufen 0 Tag 2.15.0
TSOA 45 Tage 1.140.0

RPC

Die Spalte "Collectorversion" gibt die Mindestversion des @instana/collector -Pakets an, die für ein bestimmtes Feature erforderlich ist. Weitere Informationen finden Sie im GitHub -Änderungsprotokoll.

Bibliothek Support-Richtlinie Collector-Version
Apollo-Föderation[3] 45 Tage 1.87.0
Apollo-Unterdiagramm 45 Tage 3.1.2
JavaScript gRPC 45 Tage 1.5.7
GraphQL 45 Tage 1.69.0

-Datenbanken

Die Spalte "Collectorversion" gibt die Mindestversion des @instana/collector -Pakets an, die für ein bestimmtes Feature erforderlich ist. Weitere Informationen finden Sie im GitHub -Änderungsprotokoll.

Bibliothek Support-Richtlinie Collector-Version
AWS SDK v2 S3 45 Tage 1.115.0
AWS SDK v3 S3 45 Tage 1.129.0
AWS SDK v2 DynamoDB 45 Tage 1.116.0
AWS SDK v3 DynamoDB 45 Tage 1.127.0
Elasticsearch -Client (@elastic/elasticsearch) 45 Tage 1.96.0
Memcached (memcached) (>= 2.2.2) 45 Tage 1.126.0
MongoDB (mongodb) (>= 2.2) 45 Tage 1.13.0
Mongoose (mongoose) 45 Tage 1.13.0
MySQL (mysql) 45 Tage 1.29.0
MySQL (mysql2) 45 Tage 1.37.1
MSSQL (mssql) 45 Tage 1.47.0
Prisma 45 Tage 2.11.0
Postgres (pg) 45 Tage 1.44.2
Postgres (pg-native) 45 Tage 1.86.0
Redis (redis) 45 Tage 1.31.0
Redis (ioredis) 45 Tage 1.33.0
Sequelize 45 Tage Abhängig von der spezifischen Version eines Treibers[4]
IBM Db2 45 Tage 2.2.0
Couchbase 45 Tage 2.21.0

-Messaging

Die Spalte "Collectorversion" gibt die Mindestversion des @instana/collector -Pakets an, die für ein bestimmtes Feature erforderlich ist. Weitere Informationen finden Sie im GitHub -Änderungsprotokoll.

Bibliothek Support-Richtlinie Collector-Version
AWS SNS SDK v2[5] [5] 45 Tage 1.136.0
AWS SQS SDK v2[5: 1] [6: 1] 45 Tage 1.114.0
AWS SQS SDK v3[5: 2] [6: 2] 45 Tage 1.132.0
AWS SDK v2 Kinesis 45 Tage 1.120.0
AWS SDK v3 Kinesis 45 Tage 2.30.0
AWS SDK v2 Lambda 45 Tage 1.122.0
AWS SDK v3 Lambda 45 Tage 2.34.0
Google Cloud PubSub [5:3] (>=1.2.0 ) 45 Tage 1.107.0
NATS-Streaming[5: 4] [7] 45 Tage 1.72.0
NATS[5: 5] [7: 1] 45 Tage 1.72.0
RabbitMQ /amqplib [5:6] 45 Tage 1.51.0
kafka-node [5:7] [7: 2] [8] 45 Tage 1.20.0
kafkajs[5: 8] 45 Tage 1.83.0
node-rdkafka[5: 9] [7: 3] [9] 45 Tage 1.139.0
kafka-avro[5:10] [7: 4] 45 Tage 1.139.0
Bulle[10] 45 Tage 1.119.0
SQS-Konsument 45 Tage 1.119.3

Cloud-Services

Die Spalte "Collectorversion" gibt die Mindestversion des @instana/collector -Pakets an, die für ein bestimmtes Feature erforderlich ist. Weitere Informationen finden Sie im GitHub -Änderungsprotokoll.

Bibliothek Support-Richtlinie Seit Collector-Version
AWS SDK v2 SQS[5:11] [6: 3] 45 Tage 1.114.0
AWS SDK v3 SQS[5:12] [6: 4] 45 Tage 1.132.0
AWS SDK v2 S3 45 Tage 1.115.0
AWS SDK v3 S3 45 Tage 1.129.0
AWS SDK v2 DynamoDB 45 Tage 1.116.0
AWS SDK v3 DynamoDB 45 Tage 1.127.0
AWS SDK v2 SNS 45 Tage 1.136.0
AWS SDK v2 Kinesis 45 Tage 1.120.0
AWS SDK v3 Kinesis 45 Tage 2.30.0
AWS SDK v2 Lambda 45 Tage 1.122.0
AWS SDK v3 Lambda 45 Tage 2.34.0
Google Cloud Storage 45 Tage 1.105.0
Google Cloud PubSub [5:13] (>=1.2.0 ) 45 Tage 1.107.0
SQS-Konsument 45 Tage 1.119.3
Azure Storage-Blob 45 Tage 3.4.0

Protokollierung

Die Spalte 'Kollektorversion' gibt die Mindestversion des @instana/collector -Pakets an, die für eine bestimmte Funktion erforderlich ist. Weitere Informationen finden Sie im GitHub -Änderungsprotokoll.

Bibliothek Support-Richtlinie Collector-Version
Bunyan 45 Tage 1.54.0
express-winston[11] 45 Tage 1.88.0
log4js 45 Tage 1.84.0
Pino 45 Tage 1.52.0
Winston (> = 3.x) 45 Tage 1.53.0
Winston (< = 2.x) 45 Tage 1.88.0

Asynchron

Die Spalte "Collectorversion" gibt die Mindestversion des @instana/collector -Pakets an, die für ein bestimmtes Feature erforderlich ist. Weitere Informationen finden Sie im GitHub -Änderungsprotokoll.

Bibliothek Support-Richtlinie Collector-Version
asynchron 45 Tage 1.10.0
Bluebird 45 Tage 1.35.0
Native Zusagen 0 Tag 1.10.0
q[12] 45 Tage 1.10.0
Zeitgeber 0 Tag 1.10.0

Andere

Die Spalte 'Kollektorversion' enthält die Mindestversion des @instana/collector -Pakets, die für eine bestimmte Funktion erforderlich ist. Weitere Informationen finden Sie im GitHub -Änderungsprotokoll.

Bibliothek Support-Richtlinie Collector-Version Kommentar
Apigee Microgateway/edgemicro (2.4, 2.5, > = 3.x) 45 Tage 1.89.0 Erfordert zusätzliche Installationsschritte.[13]

OpenTelemetry -Instrumentierungen

Instana verwendet bestimmte OpenTelemetry -Anweisungen, um die Bibliotheksabdeckung zu erhöhen.

Die Spalte 'Kollektorversion' in der folgenden Tabelle enthält die Mindestversion des Instana-Kollektors Node.js , die für eine Funktion erforderlich ist. Weitere Informationen finden Sie im GitHub -Änderungsprotokoll.

Bibliothek Support-Richtlinie Seit Collector-Version
socket.io 45 Tage 2.24.0
socket.io-client 45 Tage 2.24.0
restify 45 Tage 2.24.0
fs 45 Tage 2.24.0
tedious[14] 45 Tage 3.2.0

Wenn Probleme mit der OpenTelemetry -Integration auftreten, können Sie sie inaktivieren. Weitere Informationen zum Inaktivieren der Integration finden Sie unter OpenTelemetry -Integration inaktivieren.

Metriken anzeigen

Gehen Sie wie folgt vor, um die Metriken anzuzeigen:

  1. Wählen Sie in der Seitenleiste der Instana-Benutzerschnittstelle Infrastrukturaus.
  2. Klicken Sie auf einen bestimmten überwachten Host.

Sie können ein Host-Dashboard mit allen erfassten Metriken und überwachten Prozessen anzeigen.

Verfolgte Konfiguration Metriken
Laufzeitversionen GC-Aktivität
Implementierte Apps Speicherbelegung
Name Heapspeicherbereiche
Version Ereignisschleife
Beschreibung HTTP-Server - Anforderungs-/Antwortzeiten
Argumente Zustandsprüfungsstatus und Zeitpunkt der letzten Statusänderung
Abhängigkeiten
HTTP-Server-Konfiguration
Statusprüfungen (über admin-plugin-healthcheck)

Die Abhängigkeiten eines Node.js -Prozesses können auch vom API-Endpunkt für Softwareversionenabgerufen werden.

Signaturen Allgemeinzustand

  • Garbage-Collection-Aktivität
  • Latenzzeit
  • Aufrufe
  • Fehler
  • Fehlgeschlagene Statusprüfungen (siehe Health Check Support)

Unterstützung für Statusprüfung

Der Instana-Kollektor Node.js führt angepasste Statusprüfungen durch und führt sie alle zehn Sekunden aus. Wenn die Prüfungen für mindestens 30 Sekunden fehlschlagen, tritt ein Problem auf, um den Benutzer zu informieren.

Statusprüfungen werden aus installierten admin-plugin-healthcheck -Modulen zusammengestellt.

Zustandsprüfung

Statusprüfungen werden im Dashboard Node.js aufgelistet. Anschließend wird ein Problem bezüglich fehlgeschlagener Statusprüfungen ausgelöst.

Problem

Node.js EOL-Versionswarnung

Ab 1.136.0sendet der Kollektor ein Problemereignis , wenn Anwendungen unter einer EOL-Version (End of Life, Ende des Lebenszyklus) von Node.jsausgeführt werden.

EOL Node.js-Versionen erhalten keine Updates mehr, wodurch Anwendungen anfällig für Sicherheitsprobleme sind und wichtige Laufzeitverbesserungen, wie die Optimierung des CPU- und Speicherbedarfs, verpassen.

Kunden, die sich auf diese Versionen verlassen, sollten ein Update auf aktive Versionen von Node.jsdurchführen.

Wichtig: Trotz der Empfehlung, aktiv verwaltete Laufzeiten zu verwenden, unterstützt Instana ältere Versionen von Node.js.

Traceunterstützung

Instana unterstützt die folgende Traceerstellung:

OpenCensus Instana Trace Exporter

Instana stellt ein OpenCensus Trace Exporter für Anwendungen bereit, die in Node.jsgeschrieben sind. Durch Verwendung der Instana-Agentenprozesse als Proxy leitet Instana Traces, die von Anwendungen exportiert werden, die mit Census instrumentiert sind, an das Instana-Back-End weiter.

Weitere Informationen finden Sie auf der Website OpenCensus Exporters .

AutoProfile™

Diese Funktion befindet sich in der öffentlichen Vorschau.

AutoProfile™ generiert und meldet Prozessprofile automatisch und kontinuierlich an Instana. Weitere Informationen zu Profilen finden Sie unter Profile analysieren.

Informationen zum Aktivieren von AutoProfile™finden Sie unter Node.js -Kollektorkonfiguration.

Monitoring-Probleme

Node.js -Collector nicht installiert

Überwachungsproblemtyp: nodejs_collector_not_installed

Der Node.js -Prozess stellt aus einem der folgenden Gründe keine Verbindung zum Agenten her, um Traces und Metriken zu senden:

  1. Das Paket @instana/collector ist in der Anwendung Node.js nicht ordnungsgemäß installiert.
  2. Der Node.js-Prozess kann aufgrund von Problemen bei der Netzkonnektivität keine Berichte an den Hostagenten auf demselben Host senden.

Prüfen Sie, ob der Prozess instrumentiert ist.

Wenn das Paket @instana/collector zu Ihrer Anwendung hinzugefügt und ordnungsgemäß aktiviert wurde, werden die folgenden Einträge in Ihren Anwendungsprotokollen angezeigt:

Attempting agent communication via <hostname>:<port>

Wenn Sie keine solche Nachricht in Ihrem Anwendungsprotokoll sehen, ist das @instana/collector-Paket wahrscheinlich nicht ordnungsgemäß installiert und initialisiert. Weitere Informationen zu den Schritten zur Installation von InstanaNode.js Kollektor je nach Anwendung, siehe Installieren derNode.js Kollektor . Weitere Informationen zu den Fallstricken, die Ihnen im Laufe der Zeit begegnen können, finden Sie im Allgemeine Überlegungen zur Installation Abschnitt.

Wenn Ihre Node.js-Anwendung in Kubernetes läuft, probieren Sie den Instana AutoTrace Webhook aus, der automatisch und transparent die Node.js-Instrumentierung zu Ihren Pods hinzufügt.

Netzprobleme

Wenn der Node.js -Kollektor installiert ist und die folgende Nachricht in Ihren Anwendungsprotokollen angezeigt wird, kann das @instana/collector -Paket aufgrund eines Netzproblems nicht mit dem Hostagenten kommunizieren:

Announce attempt failed: <error>. Will retry in <seconds>s.

Stellen Sie sicher, dass der Node.js-Prozess auf Port 42699 eine Verbindung zum Hostagenten auf demselben Host herstellen kann. Weitere Informationen zur erforderlichen Netzsichtbarkeit finden Sie unter Netzvoraussetzungen für den Instana-Hostagenten.

Auf containerisierten Plattformen treten Netzsichtbarkeitsprobleme zwischen dem Container mit der Anwendung, für die ein Trace erstellt werden soll, und dem Container des Instana-Hostagenten auf. Ein weiteres zugehöriges Problem besteht darin, dass der Anwendungscontainer, für den ein Trace erstellt werden soll, aufgrund einer Overlay-Netzkonfiguration keine Verbindung zum Instana-Agentencontainer auf demselben Host herstellen kann.

Häufig besteht das Problem darin, dass der Node.js -Collector die falsche IP-Adresse oder den falschen DNS-Namen verwendet, um mit dem Instanziagenten zu kommunizieren. Sie können den Kollektor Node.js anweisen, eine bestimmte Netzadresse zu verwenden, indem Sie die Umgebungsvariable INSTANA_AGENT_HOST verwenden.

In seltenen Fällen richten Kunden ihren Netzbetrieb so ein, dass es sich bei dem Problem nicht um die Netzadresse, sondern um den vom Collector verwendeten Port handelt.

Wenn Sie eine Portneuzuordnung benötigen, weil der Hostagent nicht am Port 42699 empfangsbereit ist, sondern etwas anderes, können Sie den Collector anweisen, einen anderen Port zu verwenden, indem Sie die Umgebungsvariable INSTANA_AGENT_PORT verwenden.

Wenn Sie das Problem mit keiner der oben genannten Lösungen beheben können, öffnen Sie ein Support-Ticket.

-Collector zu spät initialisiert

Überwachungsproblemtyp: nodejs_collector_initialized_too_late

Um sicherzustellen, dass das Tracing korrekt funktioniert, fordern und initialisieren Sie die@instana/collector Paket vor allen anderenNode.js Pakete. Allerdings@instana/collector Das Paket kann zu spät erkennen, dass es initialisiert wurde. Wenn vor der Initialisierung andere Pakete geladen wurden,nodejs_collector_initialized_too_late Warnung wird auf IhremNode.js Armaturenbrett. Weitere Informationen finden Sie unter Installieren derNode.js Kollektor Und Allgemeine Überlegungen zur Installation .

Häufig kann der Ansatz, der in Installation ohne Änderung des Quellcodes beschrieben wird, auch helfen, dieses Problem in erweiterten Build-und Implementierungsszenarios zu beheben, insbesondere wenn Sie einen Bundler (z. B. Webpack) oder einen Transpiler (Babel und TypeScript) verwenden.

Paket AutoProfile nicht verfügbar

Überwachungsproblemtyp: nodejs_collector_native_addon_autoprofile_missing

Sie haben den Node.js -Prozess für die Verwendung des FeaturesAutoProfile von Instanakonfiguriert, aber das Paket @instana/autoprofile wurde möglicherweise nicht geladen. Daher erhalten Sie keine Profilermittlungsinformationen für diese Node.js -App in Instana. Das Paket @instana/autoprofile ist eine optionale Abhängigkeit von @instana/collectorund wird nach Möglichkeit automatisch installiert. Da es sich jedoch um ein natives Add-on handelt, kann die Installation fehlschlagen.

Ein häufiger Grund für das Fehlschlagen der Installation von @instana/autoprofile (insbesondere für containerisierte Anwendungen) ist das Fehlen erforderlicher Betriebssystempakete für die Erstellung von C + + -Code. Dieses Problem tritt auf, wenn diese Pakete auf der Zielmaschine oder im Zielcontainer-Image fehlen.

Eine weitere mögliche Fehlerursache ist die Art und Weise, wie das Container-Image erstellt wird. Node.js-Pakete müssen auf dem Zielimage installiert werden. Wenn Sie npm install oder yarn auf einem Buildsystem ausführen und dann den gesamten node_modules -Ordner in ein Container-Image mit einer potenziell anderen Architektur oder einem Betriebssystem kopieren, funktioniert dies nicht. Dieser Schritt muss im Zielimage ausgeführt werden.

Wenn die Befehle npm install --no-optional oder yarn --ignore-optional zum Installieren von Abhängigkeiten verwendet werden, kann das Paket ebenfalls fehlen.

Weitere Informationen finden Sie unter Native Add-ons.

Fehlende Aufrufe aufgrund nicht unterstützter Auslöser

Normalerweise erfassen Instana-Tracer nur abgehende Anrufe, wenn ein aktiver Eintragsbereich vorhanden ist. In einigen Edge-Fällen kann diese Regel dazu führen, dass Aufrufe, von denen Sie erwarten, dass sie erfasst werden, nicht erfasst werden. Dies ist beispielsweise der Fall, wenn Arbeit durch einen Mechanismus ausgelöst wird, der von der automatischen Instana-Instrumentierung nicht unterstützt wird. Die Lösung für diese Anwendungsfälle besteht darin, mithilfe des Instana Node.js SDK einen Eintragsbereich durch angepasste Traceerstellung zu erstellen. Weitere Informationen zum Node.js SDK finden Sie unter Tracing is inactive when no active entry span exists.