Delen via


Node.js-services en -apps bewaken met Application Insights

Application Insights bewaakt uw onderdelen na de implementatie om prestaties en andere problemen te detecteren. U kunt Application Insights gebruiken voor Node.js services die worden gehost in uw datacenter, Azure-VM's en web-apps, en zelfs in andere openbare clouds.

Als u uw bewakingsgegevens wilt ontvangen, opslaan en verkennen, neemt u de SDK op in uw code. Stel vervolgens een bijbehorende Application Insights-resource in Azure in. Met de SDK worden gegevens naar deze resource verzonden voor verdere analyse en onderzoek.

De Node.js-clientbibliotheek kan automatisch binnenkomende en uitgaande HTTP-aanvragen, uitzonderingen en enkele metrische systeemgegevens bewaken. Vanaf versie 0.20 kan de clientbibliotheek ook enkele algemene pakketten van derden bewaken, zoals MongoDB, MySQL en Redis.

Alle gebeurtenissen met betrekking tot een binnenkomende HTTP-aanvraag worden gecorreleerd voor snellere probleemoplossing.

U kunt de TelemetryClient-API gebruiken om handmatig meer aspecten van uw app en systeem te instrumenteren en te bewaken. De TelemetryClient-API wordt verderop in dit artikel meer gedetailleerd beschreven.

Notitie

De volgende documentatie is afhankelijk van de klassieke Application Insights-API. Het langetermijnplan voor Application Insights is het verzamelen van gegevens met behulp van OpenTelemetry. Zie Azure Monitor OpenTelemetry inschakelen voor .NET-, Node.js-, Python- en Java-toepassingen en onze OpenTelemetry Roadmap voor meer informatie. Migratierichtlijnen zijn beschikbaar voor .NET, Node.js en Python.

Aan de slag

Voltooi de volgende taken om de bewaking voor een app of service in te stellen.

Vereisten

Voordat u begint, moet u ervoor zorgen dat u een Azure-abonnement hebt of moet u een gratis nieuw abonnement aanvragen. Als uw organisatie al een Azure-abonnement heeft, kan een beheerder deze instructies volgen om u eraan toe te voegen.

Een Application Insights-resource instellen

  1. Meld u aan bij het Azure-portaal.
  2. Een Application Insights-resource maken.

Notitie

Op 31 maart 2025 eindigt de ondersteuning voor opname van instrumentatiesleutels. Opname van instrumentatiesleutels blijft werken, maar we bieden geen updates of ondersteuning meer voor de functie. Overgang naar verbindingsreeks s om te profiteren van nieuwe mogelijkheden.

De Node.js-clientbibliotheek instellen

Neem de SDK op in uw app, zodat deze gegevens kan verzamelen.

  1. Kopieer de verbindingsreeks van uw resource uit uw nieuwe resource. Application Insights gebruikt de verbindingsreeks om gegevens toe te wijzen aan uw Azure-resource. Voordat de SDK uw verbindingsreeks kan gebruiken, moet u de verbindingsreeks opgeven in een omgevingsvariabele of in uw code.

    Schermopname van het Application Insights-overzicht en verbindingsreeks.

  2. Voeg de Node.js-clientbibliotheek toe aan de afhankelijkheden van uw app via package.json. Voer in de hoofdmap van uw app de volgende opdracht uit:

    npm install applicationinsights --save
    

    Notitie

    Als u TypeScript gebruikt, installeert u geen afzonderlijke 'typen'-pakketten. Dit NPM-pakket bevat ingebouwde typings.

  3. Laad de bibliotheek expliciet in de code. Laad de bibliotheek zo vroeg mogelijk, zelfs vóór andere require-instructies, omdat de SDK instrumentatie in veel andere bibliotheken injecteert.

    let appInsights = require('applicationinsights');
    
  4. U kunt ook een verbindingsreeks opgeven via de omgevingsvariabeleAPPLICATIONINSIGHTS_CONNECTION_STRING, in plaats van deze handmatig door te geven aan setup() ofnew appInsights.TelemetryClient(). Met deze procedure kunt u verbindingsreeks van vastgelegde broncode behouden en kunt u verschillende verbindingsreeks s opgeven voor verschillende omgevingen. Als u handmatig wilt configureren, roept u het aan appInsights.setup('[your connection string]');.

    Zie de volgende secties voor meer configuratieopties.

    U kunt de SDK uitproberen zonder telemetrie te verzenden door appInsights.defaultClient.config.disableAppInsights = true in te stellen.

  5. Begin automatisch met het verzamelen en verzenden van gegevens door aan te roepen appInsights.start();.

Notitie

Als onderdeel van het gebruik van Application Insights-instrumentatie verzamelen en verzenden we diagnostische gegevens naar Microsoft. Met deze gegevens kunnen we Application Insights uitvoeren en verbeteren. U kunt niet-essentiële gegevensverzameling uitschakelen. Meer informatie.

Uw app bewaken

De SDK verzamelt automatisch telemetrie over de Node.js runtime en enkele algemene modules van derden. Gebruik de toepassing om een aantal van deze gegevens te genereren.

Ga vervolgen in Azure Portal naar de Application Insights-resource die u hebt gemaakt. Zoek in de Overzichtstijdlijn naar de eerste gegevenspunten. Selecteer verschillende onderdelen in de grafieken om meer gedetailleerde gegevens te zien.

Als u de topologie wilt bekijken die voor uw app is gedetecteerd, kunt u Toepassingsoverzicht gebruiken.

Geen gegevens

Omdat de SDK gegevens batcheert voor verzending, kan er een vertraging optreden voordat items in de portal worden weergegeven. Als u geen gegevens ziet in de resource, kunt u de volgende oplossingen proberen:

  • Ga door met het gebruiken van de toepassing. Neem meer acties om meer telemetrie te genereren.
  • Selecteer Vernieuwen in de portalresourceweergave. Grafieken worden periodiek automatisch gegeneerd, maar als u ze handmatig vernieuwt, worden ze onmiddellijk vernieuwd.
  • Controleer of de vereiste uitgaande poorten open zijn.
  • Gebruik Zoeken om naar specifieke gebeurtenissen te zoeken.
  • Raadpleeg de Veelgestelde vragen.

Basaal gebruik

Voor out-of-the-box verzameling HTTP-aanvragen, populaire bibliotheekgebeurtenissen van derden, onverwerkte uitzonderingen en metrische systeemgegevens:


let appInsights = require("applicationinsights");
appInsights.setup("[your connection string]").start();

Notitie

Als de verbindingsreeks is ingesteld in de omgevingsvariabeleAPPLICATIONINSIGHTS_CONNECTION_STRING, .setup() kunnen zonder argumenten worden aangeroepen. Hierdoor kunt u eenvoudig verschillende verbindingsreeks s gebruiken voor verschillende omgevingen.

Laad de Application Insights-bibliotheek require("applicationinsights") zo vroeg mogelijk in uw scripts voordat u andere pakketten laadt. Deze stap is nodig, zodat de Application Insights-bibliotheek latere pakketten kan voorbereiden voor het bijhouden. Als er conflicten optreden met andere bibliotheken die vergelijkbare voorbereiding uitvoeren, laadt u de Application Insights-bibliotheek daarna.

Vanwege de manier waarop JavaScript callbacks verwerkt, is er meer werk nodig om een aanvraag bij te houden voor externe afhankelijkheden en latere callbacks. Deze extra tracering is standaard ingeschakeld. Schakel dit uit door aan te roepen setAutoDependencyCorrelation(false) zoals beschreven in de sectie SDK-configuratie .

Migreren van versies vóór 0.22

Er zijn wijzigingen die fouten veroorzaken tussen releases vóór versie 0.22 en na. Deze wijzigingen zijn ontworpen om consistentie te brengen met andere Application Insights SDK's en toekomstige uitbreidbaarheid mogelijk te maken.

Over het algemeen kunt u migreren met de volgende acties:

  • Vervang verwijzingen naar appInsights.client door appInsights.defaultClient.
  • Vervang verwijzingen naar appInsights.getClient() door new appInsights.TelemetryClient().
  • Vervang alle argumenten door client.track*-methoden door één object met benoemde eigenschappen als argumenten. Zie de ingebouwde typehints van uw IDE of TelemetryTypes voor het behalve-object voor elk type telemetrie.

Als u toegang hebt tot SDK-configuratiefuncties zonder deze aan elkaar te appInsights.setup()koppelen, kunt u deze functies nu vinden op appInsights.Configurations. Een voorbeeld is appInsights.Configuration.setAutoCollectDependencies(true). Bekijk de wijzigingen in de standaardconfiguratie in de volgende sectie.

SDK-configuratie

Het appInsights object biedt veel configuratiemethoden. Ze worden weergegeven in het volgende codefragment met hun standaardwaarden.

let appInsights = require("applicationinsights");
appInsights.setup("<connection_string>")
    .setAutoDependencyCorrelation(true)
    .setAutoCollectRequests(true)
    .setAutoCollectPerformance(true, true)
    .setAutoCollectExceptions(true)
    .setAutoCollectDependencies(true)
    .setAutoCollectConsole(true)
    .setUseDiskRetryCaching(true)
    .setSendLiveMetrics(false)
    .setDistributedTracingMode(appInsights.DistributedTracingModes.AI)
    .start();

Om gebeurtenissen in een service volledig te correleren, moet u .setAutoDependencyCorrelation(true) instellen. Als deze optie is ingesteld, kan met de SDK de context tussen asynchrone callbacks in Node.js worden getraceerd.

Bekijk de beschrijvingen in het ingebouwde type hints of applicationinsights.ts van uw IDE voor gedetailleerde informatie en optionele secundaire argumenten.

Notitie

setAutoCollectConsole Standaard is geconfigureerd om aanroepen naar en andere consolemethoden uit te console.log sluiten. Alleen aanroepen naar ondersteunde logboekregistraties van derden (bijvoorbeeld winston en bunyan) worden verzameld. U kunt dit gedrag wijzigen om aanroepen naar methoden op te console nemen met behulp van setAutoCollectConsole(true, true).

Steekproeven

Standaard verzendt de SDK alle verzamelde gegevens naar de Application Insights-service. Als u steekproeven wilt inschakelen om de hoeveelheid gegevens te verminderen, stelt u het samplingPercentage veld in op het config object van een client. Als samplingPercentage u op 100 (de standaardinstelling) instelt, worden alle gegevens verzonden en 0 betekent dat er niets wordt verzonden.

Als u automatische correlatie gebruikt, worden alle gegevens die aan één aanvraag zijn gekoppeld, opgenomen of uitgesloten als eenheid.

Voeg code toe, zoals het volgende om steekproeven in te schakelen:

const appInsights = require("applicationinsights");
appInsights.setup("<connection_string>");
appInsights.defaultClient.config.samplingPercentage = 33; // 33% of all telemetry will be sent to Application Insights
appInsights.start();

Meerdere rollen voor toepassingen met meerdere onderdelen

In sommige scenario's bestaat uw toepassing mogelijk uit meerdere onderdelen die u allemaal wilt instrumenteren met dezelfde verbindingsreeks. U wilt deze onderdelen nog steeds zien als afzonderlijke eenheden in de portal, alsof ze afzonderlijke verbindingsreeks s gebruikten. Een voorbeeld is afzonderlijke knooppunten op toepassingsoverzicht. U moet het veld handmatig configureren om de telemetrie van het RoleName ene onderdeel te onderscheiden van andere onderdelen die gegevens naar uw Application Insights-resource verzenden.

Gebruik de volgende code om het RoleName veld in te stellen:

const appInsights = require("applicationinsights");
appInsights.setup("<connection_string>");
appInsights.defaultClient.context.tags[appInsights.defaultClient.context.keys.cloudRole] = "MyRoleName";
appInsights.start();

Browser-SDK-laadprogramma

Notitie

Beschikbaar als openbare preview. Aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews

Automatische web instrumentatie kan worden ingeschakeld voor knooppuntserver via JavaScript (Web) SDK Loader Script injectie door configuratie.

let appInsights = require("applicationinsights");
appInsights.setup("<connection_string>")
    .enableWebInstrumentation(true)
    .start();

of door omgevingsvariabele APPLICATIONINSIGHTS_WEB_INSTRUMENTATION_ENABLED = truein te stellen.

Web Instrumentation is ingeschakeld op knooppuntserverreacties wanneer aan alle volgende vereisten wordt voldaan:

  • Antwoord heeft statuscode 200.
  • Antwoordmethode is GET.
  • Serverreactie heeft Content-Type HTML.
  • Serverantwoord bevat zowel <head> als </head> Tags.
  • Als het antwoord is gecomprimeerd, moet het slechts één Content-Encoding type hebben en moet het coderingstype een van gzip, br of deflate.
  • Antwoord bevat geen huidige CDN-eindpunten voor /backup-web-instrumentatie. (huidige en back-up van WEB Instrumentation CDN-eindpunten hier)

web Instrumentation CDN-eindpunt kan worden gewijzigd door omgevingsvariabele APPLICATIONINSIGHTS_WEB_INSTRUMENTATION_SOURCE = "web Instrumentation CDN endpoints"in te stellen. web Instrumentation verbindingsreeks kan worden gewijzigd door omgevingsvariabele in te stellenAPPLICATIONINSIGHTS_WEB_INSTRUMENTATION_CONNECTION_STRING = "web Instrumentation connection string"

Notitie

Web Instrumentation kan de reactietijd van de server vertragen, met name wanneer de reactiegrootte groot is of het antwoord wordt gecomprimeerd. Voor het geval waarin sommige middelste lagen worden toegepast, kan dit ertoe leiden dat web instrumentatie niet werkt en het oorspronkelijke antwoord wordt geretourneerd.

Automatische instrumentatie van derden

Als u context wilt bijhouden voor asynchrone aanroepen, zijn sommige wijzigingen vereist in bibliotheken van derden, zoals MongoDB en Redis. Application Insights gebruikt standaard diagnostic-channel-publishers om een aantal van deze bibliotheken te patchen. Deze functie kan worden uitgeschakeld door de APPLICATION_INSIGHTS_NO_DIAGNOSTIC_CHANNEL omgevingsvariabele in te stellen.

Notitie

Door deze omgevingsvariabele in te stellen, zijn gebeurtenissen mogelijk niet correct gekoppeld aan de juiste bewerking.

Afzonderlijke apenpatches kunnen worden uitgeschakeld door de APPLICATION_INSIGHTS_NO_PATCH_MODULES omgevingsvariabele in te stellen op een door komma's gescheiden lijst met pakketten die moeten worden uitgeschakeld. Gebruik bijvoorbeeld APPLICATION_INSIGHTS_NO_PATCH_MODULES=console,redis om patches console en redis pakketten te voorkomen.

Op dit moment zijn er negen pakketten geïnstrueerd: ,,,,,,redis,,winston,pg en pg-pool.mysqlmongodb-coremongodbconsolebunyan Zie het LEESMIJ-bestand van de diagnostische kanaaluitgevers voor informatie over precies welke versie van deze pakketten wordt gepatcht.

Met de bunyanpatches winstonworden console traceringsevenementen van Application Insights gegenereerd op basis van of setAutoCollectConsole deze is ingeschakeld. De rest genereert Application Insights-afhankelijkheidsevenementen op basis van of setAutoCollectDependencies deze is ingeschakeld.

Live metrische gegevens

Als u het verzenden van live metrische gegevens vanuit uw app naar Azure wilt inschakelen, gebruikt u setSendLiveMetrics(true). Op dit moment wordt het filteren van live metrische gegevens in de portal niet ondersteund.

Uitgebreide metrische gegevens

Notitie

De mogelijkheid om uitgebreide systeemeigen metrische gegevens te verzenden, is toegevoegd in versie 1.4.0.

Installeer het afzonderlijke systeemeigen metrische gegevenspakket om uitgebreide systeemeigen metrische gegevens van uw app naar Azure te verzenden. De SDK wordt automatisch geladen wanneer deze is geïnstalleerd en begint met het verzamelen van Node.js systeemeigen metrische gegevens.

npm install applicationinsights-native-metrics

Op dit moment voert het systeemeigen metrische pakket automatische verzameling cpu-tijd, gebeurtenislustekens en heap-gebruik uit:

  • Garbagecollection: de hoeveelheid CPU-tijd die is besteed aan elk type garbagecollection en het aantal exemplaren van elk type.
  • Gebeurtenislus: hoeveel tikken er zijn opgetreden en hoeveel CPU-tijd er in totaal is besteed.
  • Heap versus niet-heap: hoeveel van het geheugengebruik van uw app is in de heap of niet-heap.

Gedistribueerde traceringsmodi

De SDK verzendt standaard headers die worden begrepen door andere toepassingen of services die zijn geïnstrueerd met een Application Insights SDK. U kunt het verzenden en ontvangen van W3C Trace Context-headers inschakelen naast de bestaande AI-headers. Op deze manier breekt u de correlatie met een van uw bestaande verouderde services niet. Als u W3C-headers inschakelt, kan uw app correleren met andere services die niet zijn geïnstrueerd met Application Insights, maar die wel gebruikmaken van deze W3C-standaard.

const appInsights = require("applicationinsights");
appInsights
  .setup("<your connection string>")
  .setDistributedTracingMode(appInsights.DistributedTracingModes.AI_AND_W3C)
  .start()

TelemetryClient-API

Zie Application Insights-API voor aangepaste gebeurtenissen en metrische gegevens voor een volledige beschrijving van de TelemetryClient-API.

U kunt elke aanvraag, gebeurtenis, metrische gegevens of uitzondering bijhouden met behulp van de Application Insights-clientbibliotheek voor Node.js. Het volgende codevoorbeeld toont enkele API's die u kunt gebruiken:

let appInsights = require("applicationinsights");
appInsights.setup().start(); // assuming connection string in env var. start() can be omitted to disable any non-custom data
let client = appInsights.defaultClient;
client.trackEvent({name: "my custom event", properties: {customProperty: "custom property value"}});
client.trackException({exception: new Error("handled exceptions can be logged with this method")});
client.trackMetric({name: "custom metric", value: 3});
client.trackTrace({message: "trace message"});
client.trackDependency({target:"http://dbname", name:"select customers proc", data:"SELECT * FROM Customers", duration:231, resultCode:0, success: true, dependencyTypeName: "ZSQL"});
client.trackRequest({name:"GET /customers", url:"http://myserver/customers", duration:309, resultCode:200, success:true});

let http = require("http");
http.createServer( (req, res) => {
  client.trackNodeHttpRequest({request: req, response: res}); // Place at the beginning of your request handler
});

Afhankelijkheden bijhouden

Gebruik de volgende code om de afhankelijkheden bij te houden:

let appInsights = require("applicationinsights");
let client = new appInsights.TelemetryClient();

var success = false;
let startTime = Date.now();
// execute dependency call here....
let duration = Date.now() - startTime;
success = true;

client.trackDependency({target:"http://dbname", name:"select customers proc", data:"SELECT * FROM Customers", duration:duration, resultCode:0, success: true, dependencyTypeName: "ZSQL"});;

Een voorbeeldhulpprogramma waarmee trackMetric wordt gemeten hoe lang het plannen van een gebeurtenislus duurt:

function startMeasuringEventLoop() {
  var startTime = process.hrtime();
  var sampleSum = 0;
  var sampleCount = 0;

  // Measure event loop scheduling delay
  setInterval(() => {
    var elapsed = process.hrtime(startTime);
    startTime = process.hrtime();
    sampleSum += elapsed[0] * 1e9 + elapsed[1];
    sampleCount++;
  }, 0);

  // Report custom metric every second
  setInterval(() => {
    var samples = sampleSum;
    var count = sampleCount;
    sampleSum = 0;
    sampleCount = 0;

    if (count > 0) {
      var avgNs = samples / count;
      var avgMs = Math.round(avgNs / 1e6);
      client.trackMetric({name: "Event Loop Delay", value: avgMs});
    }
  }, 1000);
}

Een aangepaste eigenschap toevoegen aan alle gebeurtenissen

Gebruik de volgende code om een aangepaste eigenschap toe te voegen aan alle gebeurtenissen:

appInsights.defaultClient.commonProperties = {
  environment: process.env.SOME_ENV_VARIABLE
};

HTTP GET-aanvragen traceren

Gebruik de volgende code om HTTP GET-aanvragen handmatig bij te houden:

Notitie

  • Alle aanvragen worden standaard bijgehouden. Als u automatische verzameling wilt uitschakelen, belt .setAutoCollectRequests(false) u voordat u belt start().
  • Systeemeigen api-aanvragen voor ophalen worden niet automatisch bijgehouden door klassieke Application Insights; handmatig bijhouden van afhankelijkheden is vereist.
appInsights.defaultClient.trackRequest({name:"GET /customers", url:"http://myserver/customers", duration:309, resultCode:200, success:true});

U kunt aanvragen ook bijhouden met behulp van de trackNodeHttpRequest methode:

var server = http.createServer((req, res) => {
  if ( req.method === "GET" ) {
      appInsights.defaultClient.trackNodeHttpRequest({request:req, response:res});
  }
  // other work here....
  res.end();
});

Serveropstarttijd traceren

Gebruik de volgende code om serveropstarttijd bij te houden:

let start = Date.now();
server.on("listening", () => {
  let duration = Date.now() - start;
  appInsights.defaultClient.trackMetric({name: "server startup time", value: duration});
});

Spoelen

Telemetrie wordt standaard gedurende 15 seconden gebufferd voordat deze naar de opnameserver wordt verzonden. Als uw toepassing een korte levensduur heeft, zoals een CLI-hulpprogramma, kan het nodig zijn om uw gebufferde telemetrie handmatig leeg te maken wanneer de toepassing wordt beëindigd met behulp van appInsights.defaultClient.flush().

Als de SDK detecteert dat uw toepassing vastloopt, wordt deze door u aanroepen met behulp van appInsights.defaultClient.flush({ isAppCrashing: true }). Met de optie isAppCrashingLeegmaken wordt ervan uitgegaan dat uw toepassing een abnormale status heeft en niet geschikt is om telemetrie te verzenden. In plaats daarvan slaat de SDK alle gebufferde telemetrie op in permanente opslag en kan uw toepassing worden beëindigd. Wanneer uw toepassing opnieuw wordt gestart, wordt geprobeerd om telemetriegegevens te verzenden die zijn opgeslagen in permanente opslag.

De gegevens vooraf verwerken met telemetrieprocessors

U kunt verzamelde gegevens verwerken en filteren voordat deze worden verzonden voor retentie met behulp van telemetrieprocessors. Telemetrieprocessors worden één voor één genoemd in de volgorde waarin ze zijn toegevoegd voordat het telemetrie-item naar de cloud wordt verzonden.

public addTelemetryProcessor(telemetryProcessor: (envelope: Contracts.Envelope, context: { http.RequestOptions, http.ClientRequest, http.ClientResponse, correlationContext }) => boolean)

Als een telemetrieprocessor retourneert false, wordt dat telemetrie-item niet verzonden.

Alle telemetrieprocessors ontvangen de telemetriegegevens en de envelop die moeten worden gecontroleerd en gewijzigd. Ze ontvangen ook een contextobject. De inhoud van dit object wordt gedefinieerd door de contextObjects parameter bij het aanroepen van een trackmethode voor handmatig bijgehouden telemetrie. Voor automatisch verzamelde telemetrie wordt dit object gevuld met beschikbare aanvraaggegevens en de inhoud van de permanente aanvraag zoals opgegeven appInsights.getCorrelationContext() (als automatische afhankelijkheidscorrelatie is ingeschakeld).

Het TypeScript voor een telemetrieprocessor is:

telemetryProcessor: (envelope: ContractsModule.Contracts.Envelope, context: { http.RequestOptions, http.ClientRequest, http.ClientResponse, correlationContext }) => boolean;

Een processor die traceringsgegevens uit uitzonderingen verwijdert, kan bijvoorbeeld als volgt worden geschreven en toegevoegd:

function removeStackTraces ( envelope, context ) {
  if (envelope.data.baseType === "Microsoft.ApplicationInsights.ExceptionData") {
    var data = envelope.data.baseData;
    if (data.exceptions && data.exceptions.length > 0) {
      for (var i = 0; i < data.exceptions.length; i++) {
        var exception = data.exceptions[i];
        exception.parsedStack = null;
        exception.hasFullStack = false;
      }
    }
  }
  return true;
}

appInsights.defaultClient.addTelemetryProcessor(removeStackTraces);

Meerdere verbindingsreeks s gebruiken

U kunt meerdere Application Insights-resources maken en verschillende gegevens naar elk resources verzenden met behulp van hun respectieve verbindingsreeks s.

Voorbeeld:

let appInsights = require("applicationinsights");

// configure auto-collection under one connection string
appInsights.setup("Connection String A").start();

// track some events manually under another connection string
let otherClient = new appInsights.TelemetryClient("Connection String B");
otherClient.trackEvent({name: "my custom event"});

Geavanceerde configuratieopties

Het clientobject bevat een config eigenschap met veel optionele instellingen voor geavanceerde scenario's. Als u deze wilt instellen, gebruikt u:

client.config.PROPERTYNAME = VALUE;

Deze eigenschappen zijn clientspecifiek, zodat u afzonderlijk kunt configureren appInsights.defaultClient van clients die zijn gemaakt met new appInsights.TelemetryClient().

Eigenschappen Beschrijving
connectionString Een id voor uw Application Insights-resource.
endpointUrl Het opname-eindpunt voor het verzenden van telemetrieladingen naar.
quickPulseHost De Live Metrics Stream-host voor het verzenden van telemetriegegevens van live metrische gegevens naar.
proxyHttpUrl Een proxyserver voor SDK HTTP-verkeer. (Optioneel. De standaardwaarde wordt opgehaald uit http_proxy de omgevingsvariabele.)
proxyHttpsUrl Een proxyserver voor SDK HTTPS-verkeer. (Optioneel. De standaardwaarde wordt opgehaald uit https_proxy de omgevingsvariabele.)
httpAgent Een http. Agent die moet worden gebruikt voor SDK HTTP-verkeer. (Optioneel. De standaardwaarde is niet gedefinieerd.)
httpsAgent Een https. Agent die moet worden gebruikt voor SDK HTTPS-verkeer. (Optioneel. De standaardwaarde is niet gedefinieerd.)
maxBatchSize Het maximum aantal telemetrie-items dat moet worden opgenomen in een nettolading naar het opname-eindpunt. (Standaard is 250.)
maxBatchIntervalMs De maximale hoeveelheid tijd die moet worden gewacht tot een nettolading maxBatchSize bereikt. (Standaard is 15000.)
disableAppInsights Een vlag die aangeeft of telemetrieoverdracht is uitgeschakeld. (Standaard is false.)
samplingPercentage Het percentage telemetrie-items dat moet worden verzonden. (Standaard is 100.)
correlationIdRetryIntervalMs De tijd die moet worden gewacht voordat u de id voor correlatie tussen onderdelen opnieuw probeert op te halen. (Standaard is 30000.)
correlationHeaderExcludedDomains Een lijst met domeinen die moeten worden uitgesloten van correlatieheaderinjectie tussen onderdelen. (Standaardinstelling. Zie Config.ts.)

Veelgestelde vragen

Hoe kan ik telemetriecorrelatie uitschakelen?

Als u telemetriecorrelatie wilt uitschakelen, gebruikt u de correlationHeaderExcludedDomains eigenschap in de configuratie. Zie ApplicationInsights-node.js voor meer informatie.

Probleemoplossing

Zie Application Insights-bewaking van Node.js-apps en -services oplossen voor informatie over het oplossen van problemen, waaronder 'geen gegevens'-scenario's en het aanpassen van logboeken.

Volgende stappen