Övervaka Azure Digital Twins med mått, aviseringar och diagnostik
Azure Digital Twins integreras med Azure Monitor för att tillhandahålla mått och diagnostikinformation som du kan använda för att övervaka dina Azure Digital Twins-resurser. Mått är aktiverade som standard och ger dig information om tillståndet för Azure Digital Twins-resurser i din Azure-prenumeration. Aviseringar kan meddela dig proaktivt när vissa villkor finns i dina måttdata. Du kan också samla in diagnostikloggar för din tjänstinstans för att övervaka dess prestanda, åtkomst och andra data.
De här övervakningsfunktionerna kan hjälpa dig att utvärdera den övergripande hälsan för Azure Digital Twins-tjänsten och de resurser som är anslutna till den. Du kan använda dem för att förstå vad som händer i din Azure Digital Twins-instans och analysera rotorsaker till problem utan att behöva kontakta Azure-supporten.
De kan nås från Azure-portalen, grupperade under rubriken Övervakning för Azure Digital Twins-resursen.
Mått och aviseringar
Allmän information om hur du visar Azure-resursmått finns i Komma igång med Metrics Explorer i Azure Monitor-dokumentationen. Allmän information om hur du konfigurerar aviseringar för Azure-mått finns i Skapa en ny aviseringsregel.
Resten av det här avsnittet beskriver de mått som spåras av varje Azure Digital Twins-instans och hur varje mått relaterar till den övergripande statusen för din instans.
Mått för att spåra tjänstbegränsningar
Du kan konfigurera dessa mått för att spåra när du närmar dig en publicerad tjänstgräns för någon aspekt av din lösning.
Om du vill konfigurera spårning använder du aviseringsfunktionen i Azure Monitor. Du kan definiera tröskelvärden för dessa mått så att du får en avisering när ett mått når en viss procentandel av den publicerade gränsen.
Metric | Måttvisningsnamn | Enhet | Sammansättningstyp | beskrivning | Dimensioner |
---|---|---|---|---|---|
TwinCount | Antal tvillingar (förhandsversion) | Antal | Totalt | Totalt antal tvillingar i Azure Digital Twins-instansen. Använd det här måttet för att avgöra om du närmar dig tjänstgränsen för maximalt antal tvillingar som tillåts per instans. | Ingen |
ModelCount | Antal modeller (förhandsversion) | Antal | Totalt | Totalt antal modeller i Azure Digital Twins-instansen. Använd det här måttet för att avgöra om du närmar dig tjänstgränsen för maximalt antal modeller som tillåts per instans. | Ingen |
API-begärandemått
Mått som har att göra med API-begäranden:
Metric | Måttvisningsnamn | Enhet | Sammansättningstyp | beskrivning | Dimensioner |
---|---|---|---|---|---|
ApiRequests | API-begäranden | Antal | Totalt | Antalet API-begäranden som gjorts för Digital Twins-läs-, skriv-, borttagnings- och frågeåtgärder. | Autentisering Drift Protokollet Statuskod, Statuskodklass, Statustext |
ApiRequestsFailureRate | Felfrekvens för API-begäranden | Procent | Genomsnitt | Procentandelen API-begäranden som tjänsten tar emot för din instans som ger ett internt fel (500) svarskod för Digital Twins läs-, skriv-, borttagnings- och frågeåtgärder. | Autentisering Drift Protokollet Statuskod, Statuskodklass, Statustext |
ApiRequestsLatency | Svarstid för API-begäranden | Millisekunder | Genomsnitt | Svarstiden för API-begäranden. Det här värdet refererar till tiden från det att begäran tas emot av Azure Digital Twins tills tjänsten skickar ett lyckat/misslyckat resultat för Digital Twins läs-, skriv-, borttagnings- och frågeåtgärder. | Autentisering Drift Protokoll |
Faktureringsmått
Mått som har att göra med fakturering:
Metric | Måttvisningsnamn | Enhet | Sammansättningstyp | beskrivning | Dimensioner |
---|---|---|---|---|---|
BillingApiOperations | API-åtgärder för fakturering | Antal | Totalt | Faktureringsmått för antalet API-begäranden som görs mot Azure Digital Twins-tjänsten. | Mätar-ID |
BillingMessagesProcessed | Bearbetade faktureringsmeddelanden | Antal | Totalt | Faktureringsmått för antalet meddelanden som skickas från Azure Digital Twins till externa slutpunkter. För att betraktas som ett enda meddelande i faktureringssyfte får en nyttolast inte vara större än 1 KB. Nyttolaster som är större än den här gränsen räknas som ytterligare meddelanden i steg om 1 KB (så ett meddelande mellan 1 KB och 2 KB räknas som 2 meddelanden, mellan 2 KB och 3 KB blir 3 meddelanden och så vidare). Den här begränsningen gäller även för svar, så ett anrop som returnerar 1,5 KB i svarstexten debiteras till exempel som två åtgärder. |
Mätar-ID |
BillingQueryUnits | Frågeenheter för fakturering | Antal | Totalt | Antalet frågeenheter, ett internt beräknat mått på användning av tjänstresurser, som förbrukas för att köra frågor. Det finns också ett hjälp-API för mätning av frågeenheter: QueryChargeHelper-klass | Mätar-ID |
Mer information om hur Azure Digital Twins faktureras finns i Prissättning för Azure Digital Twins.
Ingressmått
Mått som har att göra med data ingress:
Metric | Måttvisningsnamn | Enhet | Sammansättningstyp | beskrivning | Dimensioner |
---|---|---|---|---|---|
IngressEvents | Ingångshändelser | Antal | Totalt | Antalet inkommande enhetstelemetrihändelser i Azure Digital Twins. | Resultat |
IngressEventsFailureRate | Felfrekvens för inkommande händelser | Procent | Genomsnitt | Procentandelen inkommande enhetstelemetrihändelser som tjänsten returnerar ett internt fel (500) svarskod för. | Resultat |
IngressEventsLatency | Svarstid för ingresshändelser | Millisekunder | Genomsnitt | Tiden från när en händelse kommer till när den är redo att tas ut av Azure Digital Twins, då tjänsten skickar ett resultat som lyckades/misslyckades. | Resultat |
Mått för massåtgärder (från jobb-API:erna)
Mått som har att göra med massåtgärder från jobb-API :erna:
Metric | Måttvisningsnamn | Enhet | Sammansättningstyp | beskrivning | Dimensioner |
---|---|---|---|---|---|
ImportJobLatency | Svarstid för importjobb | Millisekunder | Genomsnitt | Total tid det tar för ett importjobb att slutföras. | Drift Autentisering Protokoll |
ImportJobEntityCount | Antal importjobbsentiteter | Antal | Totalt | Antalet tvillingar, modeller eller relationer som bearbetas av ett importjobb. | Drift Resultat |
DeleteJobLatency | Ta bort jobbsvarstid | Millisekunder | Genomsnitt | Total tid det tar för ett borttagningsjobb att slutföras. | Drift Autentisering Protokoll |
DeleteJobEntityCount | Ta bort jobbentitetsantal | Antal | Totalt | Antalet modeller, tvillingar och/eller relationer som tagits bort som en del av ett borttagningsjobb. | Drift Resultat |
Routningsmått
Mått som har att göra med routning:
Metric | Måttvisningsnamn | Enhet | Sammansättningstyp | beskrivning | Dimensioner |
---|---|---|---|---|---|
MessagesRouted | Meddelanden dirigerade | Antal | Totalt | Antalet meddelanden som dirigeras till en Azure-slutpunktstjänst, till exempel Event Hubs, Service Bus eller Event Grid. | Slutpunktstyp, Resultat |
RoutingFailureRate | Felfrekvens för routning | Procent | Genomsnitt | Procentandelen händelser som resulterar i ett fel när de dirigeras från Azure Digital Twins till en Azure-slutpunktstjänst som Event Hubs, Service Bus eller Event Grid. | Slutpunktstyp, Resultat |
RoutingLatency | Svarstid för routning | Millisekunder | Genomsnitt | Tiden förflutit mellan en händelse som dirigeras från Azure Digital Twins till när den publiceras till Slutpunktstjänsten i Azure, till exempel Event Hubs, Service Bus eller Event Grid. | Slutpunktstyp, Resultat |
Måttdimensioner
Dimensioner hjälper dig att identifiera mer information om måtten. Vissa routningsmått innehåller information per slutpunkt. Tabellen nedan visar möjliga värden för dessa dimensioner.
Dimension | Värden |
---|---|
Autentisering | OAuth |
Åtgärd (för API-begäranden) | Microsoft.DigitalTwins/digitaltwins/delete, Microsoft.DigitalTwins/digitaltwins/write, Microsoft.DigitalTwins/digitaltwins/read, Microsoft.DigitalTwins/eventroutes/read, Microsoft.DigitalTwins/eventroutes/write, Microsoft.DigitalTwins/eventroutes/delete, Microsoft.DigitalTwins/models/read, Microsoft.DigitalTwins/models/write, Microsoft.DigitalTwins/models/delete, Microsoft.DigitalTwins/query/action |
Typ av slutpunkt | Event Grid, Event Hubs, Service Bus |
Protokoll | HTTPS |
Resultat | Framgång Misslyckades |
Statuskod | 200, 404, 500 och så vidare. |
Statuskodklass | 2xx, 4xx, 5xx och så vidare. |
Statustext | Internt serverfel, hittades inte och så vidare. |
Diagnostikloggar
Allmän information om Azure-diagnostikinställningar, inklusive hur du aktiverar dem, finns i Diagnostikinställningar i Azure Monitor. Information om hur du kör frågor mot diagnostikloggar med Log Analytics finns i Översikt över Log Analytics i Azure Monitor.
Resten av det här avsnittet beskriver de diagnostikloggkategorier som Azure Digital Twins kan samla in och deras scheman.
LOGGKATEGORIER
Här följer mer information om de kategorier av loggar som Azure Digital Twins samlar in.
Loggkategori | beskrivning |
---|---|
ADTModelsOperation | Logga alla API-anrop som är relaterade till modeller |
ADTQueryOperation | Logga alla API-anrop som är relaterade till frågor |
ADTEventRoutesOperation | Logga alla API-anrop relaterade till händelsevägar och utgående händelser från Azure Digital Twins till en slutpunktstjänst som Event Grid, Event Hubs och Service Bus |
ADTDigitalTwinsOperation | Logga alla API-anrop som är relaterade till enskilda tvillingar |
Varje loggkategori består av åtgärder för skrivning, läsning, borttagning och åtgärd. De här kategorierna mappas till REST API-anrop på följande sätt:
Händelsetyp | REST API-åtgärder |
---|---|
Skriv | PUT och PATCH |
Läs | GET |
Delete | DELETE |
Åtgärd | POST |
Här är en omfattande lista över de åtgärder och motsvarande REST API-anrop för Azure Digital Twins som loggas i varje kategori.
Kommentar
Varje loggkategori innehåller flera åtgärder/REST API-anrop. I tabellen nedan mappar varje loggkategori till alla åtgärder/REST API-anrop under den tills nästa loggkategori visas.
Loggkategori | Åtgärd | REST API-anrop och andra händelser |
---|---|---|
ADTModelsOperation | Microsoft.DigitalTwins/models/write | Uppdaterings-API för digitala tvillingmodeller |
Microsoft.DigitalTwins/models/read | Api:er för Digital Twin-modeller hämta efter ID och lista | |
Microsoft.DigitalTwins/models/delete | Api för borttagning av digitala tvillingmodeller | |
Microsoft.DigitalTwins/models/action | Digital Twin-modeller Lägg till API | |
ADTQueryOperation | Microsoft.DigitalTwins/query/action | Frågetvillings-API |
ADTEventRoutesOperation | Microsoft.DigitalTwins/eventroutes/write | Lägg till API för händelsevägar |
Microsoft.DigitalTwins/eventroutes/read | Api:er för händelsevägar hämta efter ID och lista | |
Microsoft.DigitalTwins/eventroutes/delete | Borttagnings-API för händelsevägar | |
Microsoft.DigitalTwins/eventroutes/action | Fel vid försök att publicera händelser till en slutpunktstjänst (inte ett API-anrop) | |
ADTDigitalTwinsOperation | Microsoft.DigitalTwins/digitaltwins/write | Digital Twins Add, Add Relationship, Update, Update Component |
Microsoft.DigitalTwins/digitaltwins/read | Digital Twins Get By ID, Get Component, Get Relationship by ID, List Incoming Relationships, List Relationships | |
Microsoft.DigitalTwins/digitaltwins/delete | Digital Twins Ta bort, Ta bort relation | |
Microsoft.DigitalTwins/digitaltwins/action | Digital Twins Send Component Telemetry, Send Telemetry |
Loggscheman
Varje loggkategori har ett schema som definierar hur händelser i den kategorin rapporteras. Varje enskild loggpost lagras som text och formateras som en JSON-blob. Fälten i loggen och JSON-exempelkropparna anges för varje loggtyp nedan.
ADTDigitalTwinsOperation
, ADTModelsOperation
och ADTQueryOperation
använder ett konsekvent API-loggschema. ADTEventRoutesOperation
utökar schemat så att det innehåller ett endpointName
fält i egenskaper.
API-loggscheman
Det här loggschemat är konsekvent för ADTDigitalTwinsOperation
, ADTModelsOperation
, ADTQueryOperation
. Samma schema används också för ADTEventRoutesOperation
, förutom åtgärdsnamnet Microsoft.DigitalTwins/eventroutes/action
(mer information om schemat finns i nästa avsnitt, Utgående loggscheman).
Schemat innehåller information som är relevant för API-anrop till en Azure Digital Twins-instans.
Här är fält- och egenskapsbeskrivningar för API-loggar.
Fältnamn | Datatyp | beskrivning |
---|---|---|
Time |
Datum/tid | Datum och tid då den här händelsen inträffade i UTC |
ResourceId |
String | Resurs-ID:t för Azure Resource Manager för resursen där händelsen ägde rum |
OperationName |
String | Vilken typ av åtgärd som utförs under händelsen |
OperationVersion |
String | API-versionen som användes under händelsen |
Category |
String | Vilken typ av resurs som genereras |
ResultType |
String | Resultatet av händelsen |
ResultSignature |
String | Http-statuskod för händelsen |
ResultDescription |
String | Ytterligare information om händelsen |
DurationMs |
String | Hur lång tid det tog att utföra händelsen i millisekunder |
CallerIpAddress |
String | En maskerad käll-IP-adress för händelsen |
CorrelationId |
GUID | Unik identifierare för händelsen |
ApplicationId |
GUID | Program-ID som används i ägarauktorisering |
Level |
Int | Händelsens allvarlighetsgrad för loggning |
Location |
String | Regionen där händelsen ägde rum |
RequestUri |
Uri | Slutpunkten som användes under händelsen |
TraceId |
String | TraceId , som en del av W3C:s spårningskontext. ID:t för hela spårningen som används för att unikt identifiera en distribuerad spårning mellan system. |
SpanId |
String | SpanId som en del av W3C:s spårningskontext. ID:t för den här begäran i spårningen. |
ParentId |
String | ParentId som en del av W3C:s spårningskontext. En begäran utan ett överordnat ID är roten för spårningen. |
TraceFlags |
String | TraceFlags som en del av W3C:s spårningskontext. Styr spårningsflaggor som sampling, spårningsnivå och så vidare. |
TraceState |
String | TraceState som en del av W3C:s spårningskontext. Ytterligare leverantörsspecifik spårningsidentifieringsinformation som sträcker sig över olika distribuerade spårningssystem. |
Nedan visas exempel på JSON-organ för dessa typer av loggar.
ADTDigitalTwinsOperation
{
"time": "2020-03-14T21:11:14.9918922Z",
"resourceId": "/SUBSCRIPTIONS/BBED119E-28B8-454D-B25E-C990C9430C8F/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
"operationName": "Microsoft.DigitalTwins/digitaltwins/write",
"operationVersion": "2020-10-31",
"category": "DigitalTwinOperation",
"resultType": "Success",
"resultSignature": "200",
"resultDescription": "",
"durationMs": 8,
"callerIpAddress": "13.68.244.*",
"correlationId": "2f6a8e64-94aa-492a-bc31-16b9f0b16ab3",
"identity": {
"claims": {
"appId": "872cd9fa-d31f-45e0-9eab-6e460a02d1f1"
}
},
"level": "4",
"location": "southcentralus",
"uri": "https://myinstancename.api.scus.digitaltwins.azure.net/digitaltwins/factory-58d81613-2e54-4faa-a930-d980e6e2a884?api-version=2020-10-31",
"properties": {},
"traceContext": {
"traceId": "95ff77cfb300b04f80d83e64d13831e7",
"spanId": "b630da57026dd046",
"parentId": "9f0de6dadae85945",
"traceFlags": "01",
"tracestate": "k1=v1,k2=v2"
}
}
ADTModelsOperation
{
"time": "2020-10-29T21:12:24.2337302Z",
"resourceId": "/SUBSCRIPTIONS/BBED119E-28B8-454D-B25E-C990C9430C8F/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
"operationName": "Microsoft.DigitalTwins/models/write",
"operationVersion": "2020-10-31",
"category": "ModelsOperation",
"resultType": "Success",
"resultSignature": "201",
"resultDescription": "",
"durationMs": "80",
"callerIpAddress": "13.68.244.*",
"correlationId": "9dcb71ea-bb6f-46f2-ab70-78b80db76882",
"identity": {
"claims": {
"appId": "872cd9fa-d31f-45e0-9eab-6e460a02d1f1"
}
},
"level": "4",
"location": "southcentralus",
"uri": "https://myinstancename.api.scus.digitaltwins.azure.net/Models?api-version=2020-10-31",
"properties": {},
"traceContext": {
"traceId": "95ff77cfb300b04f80d83e64d13831e7",
"spanId": "b630da57026dd046",
"parentId": "9f0de6dadae85945",
"traceFlags": "01",
"tracestate": "k1=v1,k2=v2"
}
}
ADTQueryOperation
{
"time": "2020-12-04T21:11:44.1690031Z",
"resourceId": "/SUBSCRIPTIONS/BBED119E-28B8-454D-B25E-C990C9430C8F/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
"operationName": "Microsoft.DigitalTwins/query/action",
"operationVersion": "2020-10-31",
"category": "QueryOperation",
"resultType": "Success",
"resultSignature": "200",
"resultDescription": "",
"durationMs": "314",
"callerIpAddress": "13.68.244.*",
"correlationId": "1ee2b6e9-3af4-4873-8c7c-1a698b9ac334",
"identity": {
"claims": {
"appId": "872cd9fa-d31f-45e0-9eab-6e460a02d1f1"
}
},
"level": "4",
"location": "southcentralus",
"uri": "https://myinstancename.api.scus.digitaltwins.azure.net/query?api-version=2020-10-31",
"properties": {},
"traceContext": {
"traceId": "95ff77cfb300b04f80d83e64d13831e7",
"spanId": "b630da57026dd046",
"parentId": "9f0de6dadae85945",
"traceFlags": "01",
"tracestate": "k1=v1,k2=v2"
}
}
ADTEventRoutesOperation
Här är ett exempel på JSON-brödtext för en ADTEventRoutesOperation
som inte är av Microsoft.DigitalTwins/eventroutes/action
typen (mer information om schemat finns i nästa avsnitt, Utgående loggscheman).
{
"time": "2020-10-30T22:18:38.0708705Z",
"resourceId": "/SUBSCRIPTIONS/BBED119E-28B8-454D-B25E-C990C9430C8F/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
"operationName": "Microsoft.DigitalTwins/eventroutes/write",
"operationVersion": "2020-10-31",
"category": "EventRoutesOperation",
"resultType": "Success",
"resultSignature": "204",
"resultDescription": "",
"durationMs": 42,
"callerIpAddress": "212.100.32.*",
"correlationId": "7f73ab45-14c0-491f-a834-0827dbbf7f8e",
"identity": {
"claims": {
"appId": "872cd9fa-d31f-45e0-9eab-6e460a02d1f1"
}
},
"level": "4",
"location": "southcentralus",
"uri": "https://myinstancename.api.scus.digitaltwins.azure.net/EventRoutes/egressRouteForEventHub?api-version=2020-10-31",
"properties": {},
"traceContext": {
"traceId": "95ff77cfb300b04f80d83e64d13831e7",
"spanId": "b630da57026dd046",
"parentId": "9f0de6dadae85945",
"traceFlags": "01",
"tracestate": "k1=v1,k2=v2"
}
},
Utgående loggscheman
Följande exempel är schemat för loggar som är specifika för ADTEventRoutesOperation
åtgärdsnamnet Microsoft.DigitalTwins/eventroutes/action
. Dessa innehåller information om undantag och API-åtgärder kring utgående slutpunkter som är anslutna till en Azure Digital Twins-instans.
Fältnamn | Datatyp | beskrivning |
---|---|---|
Time |
Datum/tid | Datum och tid då den här händelsen inträffade i UTC |
ResourceId |
String | Resurs-ID:t för Azure Resource Manager för resursen där händelsen ägde rum |
OperationName |
String | Vilken typ av åtgärd som utförs under händelsen |
Category |
String | Vilken typ av resurs som genereras |
ResultDescription |
String | Ytterligare information om händelsen |
CorrelationId |
GUID | Kunden har angett unik identifierare för händelsen |
ApplicationId |
GUID | Program-ID som används i ägarauktorisering |
Level |
Int | Händelsens allvarlighetsgrad för loggning |
Location |
String | Regionen där händelsen ägde rum |
TraceId |
String | TraceId , som en del av W3C:s spårningskontext. ID:t för hela spårningen som används för att unikt identifiera en distribuerad spårning mellan system. |
SpanId |
String | SpanId som en del av W3C:s spårningskontext. ID:t för den här begäran i spårningen. |
ParentId |
String | ParentId som en del av W3C:s spårningskontext. En begäran utan ett överordnat ID är roten för spårningen. |
TraceFlags |
String | TraceFlags som en del av W3C:s spårningskontext. Styr spårningsflaggor som sampling, spårningsnivå och så vidare. |
TraceState |
String | TraceState som en del av W3C:s spårningskontext. Ytterligare leverantörsspecifik spårningsidentifieringsinformation som sträcker sig över olika distribuerade spårningssystem. |
EndpointName |
String | Namnet på utgående slutpunkt som skapats i Azure Digital Twins |
Här är ett exempel på en JSON-brödtext för den ADTEventRoutesOperation
typen Microsoft.DigitalTwins/eventroutes/action
.
{
"time": "2020-11-05T22:18:38.0708705Z",
"resourceId": "/SUBSCRIPTIONS/BBED119E-28B8-454D-B25E-C990C9430C8F/RESOURCEGROUPS/MYRESOURCEGROUP/PROVIDERS/MICROSOFT.DIGITALTWINS/DIGITALTWINSINSTANCES/MYINSTANCENAME",
"operationName": "Microsoft.DigitalTwins/eventroutes/action",
"operationVersion": "",
"category": "EventRoutesOperation",
"resultType": "",
"resultSignature": "",
"resultDescription": "Unable to send EventHub message to [myPath] for event Id [f6f45831-55d0-408b-8366-058e81ca6089].",
"durationMs": -1,
"callerIpAddress": "",
"correlationId": "7f73ab45-14c0-491f-a834-0827dbbf7f8e",
"identity": {
"claims": {
"appId": "872cd9fa-d31f-45e0-9eab-6e460a02d1f1"
}
},
"level": "4",
"location": "southcentralus",
"uri": "",
"properties": {
"endpointName": "myEventHub"
},
"traceContext": {
"traceId": "95ff77cfb300b04f80d83e64d13831e7",
"spanId": "b630da57026dd046",
"parentId": "9f0de6dadae85945",
"traceFlags": "01",
"tracestate": "k1=v1,k2=v2"
}
},
Nästa steg
Läs mer om Azure Monitor och dess funktioner i Azure Monitor-dokumentationen.