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
- Meld u aan bij het Azure-portaal.
- 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.
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.
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.
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');
U kunt ook een verbindingsreeks opgeven via de omgevingsvariabele
APPLICATIONINSIGHTS_CONNECTION_STRING
, in plaats van deze handmatig door te geven aansetup()
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 aanappInsights.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.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
doorappInsights.defaultClient
. - Vervang verwijzingen naar
appInsights.getClient()
doornew 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 = true
in 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 vangzip
,br
ofdeflate
. - 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
.mysql
mongodb-core
mongodb
console
bunyan
Zie het LEESMIJ-bestand van de diagnostische kanaaluitgevers voor informatie over precies welke versie van deze pakketten wordt gepatcht.
Met de bunyan
patches winston
worden 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 beltstart()
. - 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 isAppCrashing
Leegmaken 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.