Abfragen für die AzureDiagnostics-Tabelle
Informationen zur Verwendung dieser Abfragen im Azure-Portal finden Sie im Log Analytics-Lernprogramm. Informationen zur REST-API finden Sie unter "Abfrage".
Abfragen für microsoft.automation
Fehler in Automatisierungsaufträgen
Finden Sie Protokolle, die Fehler in Automatisierungsaufträgen vom letzten Tag melden.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION"
| where StreamType_s == "Error"
| project TimeGenerated, Category, JobId_g, OperationName, RunbookName_s, ResultDescription
Suchen von Protokollen, die Fehler in Automatisierungsaufträgen vom letzten Tag melden
Listet alle Fehler in den Automatisierungsaufträgen auf.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION"
| where StreamType_s == "Error"
| project TimeGenerated, Category, JobId_g, OperationName, RunbookName_s, ResultDescription, _ResourceId
Azure Automation-Aufträge, die fehlgeschlagen, angehalten oder beendet wurden
Listet alle Automatisierungsaufträge auf, die fehlgeschlagen sind, angehalten oder beendet wurden.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and (ResultType == "Failed" or ResultType == "Stopped" or ResultType == "Suspended")
| project TimeGenerated , RunbookName_s , ResultType , _ResourceId , JobId_g
Runbook wurde erfolgreich mit Fehlern abgeschlossen.
Listet alle Aufträge auf, die mit Fehlern abgeschlossen wurden.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobStreams" and StreamType_s == "Error"
| project TimeGenerated , RunbookName_s , StreamType_s , _ResourceId , ResultDescription , JobId_g
Historischen Auftragsstatus anzeigen
Listet alle Automatisierungsaufträge auf.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType != "started"
| summarize AggregatedValue = count() by ResultType, bin(TimeGenerated, 1h) , RunbookName_s , JobId_g, _ResourceId
Azure Automation-Aufträge, die abgeschlossen sind
Listet alle Automatisierungsaufträge auf, die abgeschlossen wurden.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.AUTOMATION" and Category == "JobLogs" and ResultType == "Completed"
| project TimeGenerated , RunbookName_s , ResultType , _ResourceId , JobId_g
Abfragen für "microsoft.batch"
Erfolgreiche Aufgaben pro Auftrag
Stellt die Anzahl der erfolgreichen Vorgänge pro Auftrag bereit.
AzureDiagnostics
| where OperationName=="TaskCompleteEvent"
| where executionInfo_exitCode_d==0 // Your application may use an exit code other than 0 to denote a successful operation
| summarize successfulTasks=count(id_s) by jobId=jobId_s
Fehlgeschlagene Vorgänge pro Auftrag
Listet fehlgeschlagene Aufgaben nach übergeordnetem Auftrag auf.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where OperationName=="TaskFailEvent"
| summarize failedTaskList=make_list(id_s) by jobId=jobId_s, ResourceId
Vorgangsdauer
Gibt die verstrichene Zeit von Vorgängen in Sekunden, von Vorgangsbeginn bis zum Abschluss der Aufgabe.
AzureDiagnostics
| where OperationName=="TaskCompleteEvent"
| extend taskId=id_s, ElapsedTime=datetime_diff('second', executionInfo_endTime_t, executionInfo_startTime_t) // For longer running tasks, consider changing 'second' to 'minute' or 'hour'
| summarize taskList=make_list(taskId) by ElapsedTime
Poolgröße ändern
Listen Sie die Größe nach Pool und Ergebniscode (Erfolg oder Fehler) auf.
AzureDiagnostics
| where OperationName=="PoolResizeCompleteEvent"
| summarize operationTimes=make_list(startTime_s) by poolName=id_s, resultCode=resultCode_s
Fehler beim Ändern der Größe des Pools
Fehler beim Ändern der Größe des Pools nach Fehlercode und -uhrzeit auflisten.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where OperationName=="PoolResizeCompleteEvent"
| where resultCode_s=="Failure" // Filter only on failed pool resizes
| summarize by poolName=id_s, resultCode=resultCode_s, resultMessage=resultMessage_s, operationTime=startTime_s, ResourceId
Abfragen für microsoft.cdn
[Microsoft CDN (klassisch)] Anforderungen pro Stunde
Renderliniendiagramm mit gesamter Anforderung pro Stunde.
// Summarize number of requests per hour
// Change bins resolution from 1hr to 5m to get real time results)
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where OperationName == "Microsoft.Cdn/Profiles/AccessLog/Write" and Category == "AzureCdnAccessLog"
| where isReceivedFromClient_b == "true"
| summarize RequestCount = count() by bin(TimeGenerated, 1h), Resource, _ResourceId
| render timechart
[Microsoft CDN (klassisch)] Datenverkehr nach URL
Zeigen Sie den Ausgang vom CDN-Edge nach URL an.
// Change bins resolution from 1 hour to 5 minutes to get real time results)
// CDN edge response traffic by URL
AzureDiagnostics
| where OperationName == "Microsoft.Cdn/Profiles/AccessLog/Write" and Category == "AzureCdnAccessLog"
| where isReceivedFromClient_b == true
| summarize ResponseBytes = sum(toint(responseBytes_s)) by requestUri_s
[Microsoft CDN (klassisch)] 4XX-Fehlerrate nach URL
4XX-Fehlerrate nach URL anzeigen.
// Request errors rate by URL
// Count number of requests with error responses by URL.
// Summarize number of requests by URL, and status codes are 4XX
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where OperationName == "Microsoft.Cdn/Profiles/AccessLog/Write" and Category == "AzureCdnAccessLog" and isReceivedFromClient_b == true
| extend Is4XX = (toint(httpStatusCode_s ) >= 400 and toint(httpStatusCode_s ) < 500)
| summarize 4xxrate = (1.0 * countif(Is4XX) / count()) * 100 by requestUri_s, bin(TimeGenerated, 1h), _ResourceId
[Microsoft CDN (klassisch)] Anfordern von Fehlern durch den Benutzer-Agent
Anzahl der Anforderungen mit Fehlerantworten nach Benutzer-Agent.
// Summarize number of requests per user agent and status codes >= 400
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where OperationName == "Microsoft.Cdn/Profiles/AccessLog/Write" and Category == "AzureCdnAccessLog"
| where isReceivedFromClient_b == true
| where toint(httpStatusCode_s) >= 400
| summarize RequestCount = count() by UserAgent = userAgent_s, StatusCode = httpStatusCode_s , Resource, _ResourceId
| order by RequestCount desc
[Microsoft CDN (klassisch)] Top 10 URL-Anforderungsanzahl
Top 10 URLs nach Anforderungsanzahl anzeigen.
// top URLs by request count
// Render line chart showing total requests per hour .
// Summarize number of requests per hour
AzureDiagnostics
| where OperationName == "Microsoft.Cdn/Profiles/AccessLog/Write" and Category == "AzureCdnAccessLog"
| where isReceivedFromClient_b == true
| summarize UserRequestCount = count() by requestUri_s
| order by UserRequestCount
| limit 10
[Microsoft CDN (klassisch)] Anzahl eindeutiger IP-Anforderungen
Eindeutige IP-Anforderungsanzahl anzeigen.
AzureDiagnostics
| where OperationName == "Microsoft.Cdn/Profiles/AccessLog/Write"and Category == "AzureCdnAccessLog"
| where isReceivedFromClient_b == true
| summarize dcount(clientIp_s) by bin(TimeGenerated, 1h)
| render timechart
[Microsoft CDN (klassisch)] Top 10 Client-IPs und HTTP-Versionen
Die wichtigsten 10 Client-IPs und HTTP-Versionen anzeigen.
// Top 10 client IPs and http versions
// Show top 10 client IPs and http versions.
// Summarize top 10 client ips and http versions
AzureDiagnostics
| where OperationName == "Microsoft.Cdn/Profiles/AccessLog/Write" and Category == "AzureCdnAccessLog"
| where isReceivedFromClient_b == true
| summarize RequestCount = count() by ClientIP = clientIp_s, HttpVersion = httpVersion_s, Resource
| top 10 by RequestCount
| order by RequestCount desc
[Azure Front Door Standard/Premium] Top 20 blockierte Clients nach IP und Regel
Anzeigen der 20 wichtigsten blockierten Clients nach IP- und Regelname.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorWebApplicationFirewallLog"
| where action_s == "Block"
| summarize RequestCount = count() by ClientIP = clientIP_s, UserAgent = userAgent_s, RuleName = ruleName_s,Resource
| top 20 by RequestCount
| order by RequestCount desc
[Azure Front Door Standard/Premium] Anforderungen an den Ursprung nach Route
Anzahl der Anforderungen für jede Route und jeden Ursprung pro Minute. Fassen Sie die Anzahl der Anforderungen pro Minute für jede Route und jeden Ursprung zusammen.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorAccessLog"
| summarize RequestCount = count() by bin(TimeGenerated, 1m), Resource, RouteName = routingRuleName_s, originName = originName_s, ResourceId
[Azure Front Door Standard/Premium] Anfordern von Fehlern durch den Benutzer-Agent
Anzahl der Anforderungen mit Fehlerantworten nach Benutzer-Agent. Fassen Sie die Anzahl der Anforderungen pro Benutzer-Agent und Statuscodes >= 400 zusammen.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorAccessLog"
| where toint(httpStatusCode_s) >= 400
| summarize RequestCount = count() by UserAgent = userAgent_s, StatusCode = httpStatusCode_s , Resource, ResourceId
| order by RequestCount desc
[Azure Front Door Standard/Premium] Top 10 Client-IPs und HTTP-Versionen
Anzeigen der wichtigsten 10 Client-IPs und HTTP-Versionen nach Anforderungsanzahl.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorAccessLog"
| summarize RequestCount = count() by ClientIP = clientIp_s, HttpVersion = httpVersion_s, Resource
|top 10 by RequestCount
| order by RequestCount desc
[Azure Front Door Standard/Premium] Anfordern von Fehlern nach Host und Pfad
Anzahl der Anforderungen mit Fehlerantworten nach Host und Pfad. Fassen Sie die Anzahl der Anforderungen nach Host-, Pfad- und Statuscodes >= 400 zusammen.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorAccessLog"
| where toint(httpStatusCode_s) >= 400
| extend ParsedUrl = parseurl(requestUri_s)
| summarize RequestCount = count() by Host = tostring(ParsedUrl.Host), Path = tostring(ParsedUrl.Path), StatusCode = httpStatusCode_s, ResourceId
| order by RequestCount desc
[Azure Front Door Standard/Premium] Anzahl blockierter Firewallanforderungen pro Stunde
Anzahl der blockierten Firewallanforderungen pro Stunde. Fassen Sie die Anzahl der blockierten Firewallanforderungen pro Stunde nach Richtlinie zusammen.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorWebApplicationFirewallLog"
| where action_s == "Block"
| summarize RequestCount = count() by bin(TimeGenerated, 1h), Policy = policy_s, PolicyMode = policyMode_s, Resource, ResourceId
| order by RequestCount desc
[Azure Front Door Standard/Premium] Anzahl der Firewallanforderungen nach Host, Pfad, Regel und Aktion
Zählen Von Firewall verarbeitete Anforderungen nach Host, Pfad, Regel und ausgeführter Aktion. Fassen Sie die Anforderungsanzahl nach Host, Pfad, Regel und Aktion zusammen.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorWebApplicationFirewallLog"
| extend ParsedUrl = parseurl(requestUri_s)
| summarize RequestCount = count() by Host = tostring(ParsedUrl.Host), Path = tostring(ParsedUrl.Path), RuleName = ruleName_s, Action = action_s, ResourceId
| order by RequestCount desc
[Azure Front Door Standard/Premium] Anforderungen pro Stunde
Renderliniendiagramm mit Gesamtanforderungen pro Stunde für jede FrontDoor-Ressource.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorWebApplicationFirewallLog"
| summarize RequestCount = count() by bin(TimeGenerated, 1h), Resource, ResourceId
| render timechart
[Azure Front Door Standard/Premium] Top 10 URL-Anforderungsanzahl
Top 10 URLs nach Anforderungsanzahl anzeigen.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorAccessLog"
| summarize UserRequestCount = count() by requestUri_s
| order by UserRequestCount
| limit 10
[Azure Front Door Standard/Premium] Top 10 URL-Anforderungsanzahl
Zeigen Sie den Ausgang des AFD-Edges nach URL an. Ändern Sie die Bins-Auflösung von 1hr bis 5m, um Echtzeitergebnisse zu erhalten.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorAccessLog"
| summarize ResponseBytes = sum(toint(responseBytes_s)) by requestUri_s
[Azure Front Door Standard/Premium] Anzahl eindeutiger IP-Anforderungen
Eindeutige IP-Anforderungsanzahl anzeigen.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.CDN" and Category == "FrontDoorAccessLog"
| summarize dcount(clientIp_s) by bin(TimeGenerated, 1h)
| render timechart
Abfragen für microsoft.containerservice
Suchen in AzureDiagnostics
Suchen Sie in AzureDiagnostics nach einem bestimmten Wert in der AzureDiagnostics-Tabelle./nNote, dass für diese Abfrage ein Update des <SeachValue-Parameters> erforderlich ist, um Ergebnisse zu erzielen.
// This query requires a parameter to run. Enter value in SearchValue to find in table.
let SearchValue = "<SearchValue>";//Please update term you would like to find in the table.
AzureDiagnostics
| where ResourceProvider == "Microsoft.ContainerService"
| where * contains tostring(SearchValue)
| take 1000
Abfragen für microsoft.dbformariadb
Ausführungszeit, die einen Schwellenwert überschreitet
Identifizieren Sie Abfragen, die ihre Laufzeit 10 Sekunden überschreitet.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider =="MICROSOFT.DBFORMARIADB"
| where Category == 'MySqlSlowLogs'
| project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s, ResourceId
| where query_time_d > 10 // You may change the time threshold
Anzeigen der langsamsten Abfragen
Identifizieren Sie die 5 langsamsten Abfragen.
AzureDiagnostics
| where ResourceProvider =="MICROSOFT.DBFORMARIADB"
| where Category == 'MySqlSlowLogs'
| project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s
| top 5 by query_time_d desc
Abfragestatistiken anzeigen
Erstellen Sie eine Zusammenfassungsstatistiktabelle nach Abfrage.
AzureDiagnostics
| where ResourceProvider =="MICROSOFT.DBFORMARIADB"
| where Category == 'MySqlSlowLogs'
| project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s
| summarize count(), min(query_time_d), max(query_time_d), avg(query_time_d), stdev(query_time_d), percentile(query_time_d, 95) by LogicalServerName_s ,sql_text_s
| top 50 by percentile_query_time_d_95 desc
Überprüfen von Überwachungsprotokollereignissen in der GENERAL-Klasse
Identifizieren Sie allgemeine Klassenereignisse für Ihren Server.
AzureDiagnostics
| where ResourceProvider =="MICROSOFT.DBFORMARIADB"
| where Category == 'MySqlAuditLogs' and event_class_s == "general_log"
| project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s
| order by TimeGenerated asc
Überprüfen von Überwachungsprotokollereignissen in der CONNECTION-Klasse
Identifizieren Sie verbindungsbezogene Ereignisse für Ihren Server.
AzureDiagnostics
| where ResourceProvider =="MICROSOFT.DBFORMARIADB"
| where Category == 'MySqlAuditLogs' and event_class_s == "connection_log"
| project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s
| order by TimeGenerated asc
Abfragen für microsoft.dbformysql
Ausführungszeit, die einen Schwellenwert überschreitet
Identifizieren Sie Abfragen, die ihre Laufzeit 10 Sekunden überschreitet.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DBFORMYSQL"
| where Category == 'MySqlSlowLogs'
| project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s, ResourceId
| where query_time_d > 10 //You may change the time threshold
Anzeigen der langsamsten Abfragen
Identifizieren Sie die 5 langsamsten Abfragen.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DBFORMYSQL"
| where Category == 'MySqlSlowLogs'
| project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s
| top 5 by query_time_d desc
Abfragestatistiken anzeigen
Erstellen Sie eine Zusammenfassungsstatistiktabelle nach Abfrage.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DBFORMYSQL"
| where Category == 'MySqlSlowLogs'
| project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s
| summarize count(), min(query_time_d), max(query_time_d), avg(query_time_d), stdev(query_time_d), percentile(query_time_d, 95) by LogicalServerName_s ,sql_text_s
| top 50 by percentile_query_time_d_95 desc
Überprüfen von Überwachungsprotokollereignissen in der GENERAL-Klasse
Identifizieren Sie allgemeine Klassenereignisse für Ihren Server.
AzureDiagnostics
| where ResourceProvider =="MICROSOFT.DBFORMYSQL"
| where Category == 'MySqlAuditLogs' and event_class_s == "general_log"
| project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s
| order by TimeGenerated asc
Überprüfen von Überwachungsprotokollereignissen in der CONNECTION-Klasse
Identifizieren Sie verbindungsbezogene Ereignisse für Ihren Server.
AzureDiagnostics
| where ResourceProvider =="MICROSOFT.DBFORMYSQL"
| where Category == 'MySqlAuditLogs' and event_class_s == "connection_log"
| project TimeGenerated, LogicalServerName_s, event_class_s, event_subclass_s, event_time_t, user_s , ip_s , sql_text_s
| order by TimeGenerated asc
Abfragen für microsoft.dbforpostgresql
Autovacuum-Ereignisse
Suchen Sie nach Autovacuum-Ereignissen in den letzten 24 Stunden. Der Parameter "log_autovacuum_min_duration" ist aktiviert.
AzureDiagnostics
| where TimeGenerated > ago(1d)
| where ResourceProvider =="MICROSOFT.DBFORPOSTGRESQL"
| where Category == "PostgreSQLLogs"
| where Message contains "automatic vacuum"
Serverneustarts
Suchen Sie nach heruntergefahrenen Servern und serverbereiten Ereignissen.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where TimeGenerated > ago(7d)
| where ResourceProvider =="MICROSOFT.DBFORPOSTGRESQL"
| where Category == "PostgreSQLLogs"
| where Message contains "database system was shut down at" or Message contains "database system is ready to accept"
Fehler suchen
Suchen Sie nach Fehlern in den letzten 6 Stunden.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where TimeGenerated > ago(6h)
| where Category == "PostgreSQLLogs"
| where errorLevel_s contains "error"
Nicht autorisierte Verbindungen
Suchen Sie nach nicht autorisierten (abgelehnten) Verbindungsversuchen.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider =="MICROSOFT.DBFORPOSTGRESQL"
| where Category == "PostgreSQLLogs"
| where Message contains "password authentication failed" or Message contains "no pg_hba.conf entry for host"
Deadlocks
Suchen Sie nach Deadlock-Ereignissen.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider =="MICROSOFT.DBFORPOSTGRESQL"
| where Category == "PostgreSQLLogs"
| where Message contains "deadlock detected"
Konflikt bei Sperre
Suchen Sie nach Sperrkonflikten. Sie erfordert log_lock_waits=ON und hängt von deadlock_timeout Einstellung ab.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider =="MICROSOFT.DBFORPOSTGRESQL"
| where Message contains "still waiting for ShareLock on transaction"
Überwachungsprotokolle
Ruft alle Überwachungsprotokolle ab. Es erfordert, dass Überwachungsprotokolle aktiviert werden [https://docs.microsoft.com/azure/postgresql/concepts-audit].
AzureDiagnostics
| where ResourceProvider =="MICROSOFT.DBFORPOSTGRESQL"
| where Category == "PostgreSQLLogs"
| where Message contains "AUDIT:"
Überwachungsprotokolle für Tabellen und Ereignistypen
Suchen Sie nach Überwachungsprotokollen für eine bestimmte Tabelle und einen bestimmten Ereignistyp DDL. Andere Ereignistypen sind READ, WRITE, FUNCTION, MISC. Es ist überwachungsprotokolle aktiviert. [https://docs.microsoft.com/azure/postgresql/concepts-audit].
AzureDiagnostics
| where ResourceProvider =="MICROSOFT.DBFORPOSTGRESQL"
| where Category == "PostgreSQLLogs"
| where Message contains "AUDIT:"
| where Message contains "table name" and Message contains "DDL"
Abfragen mit Ausführungszeit, die einen Schwellenwert überschreiten
Identifizieren Sie Abfragen, die länger als 10 Sekunden dauern. Der Abfragespeicher normalisiert tatsächliche Abfragen, um ähnliche Abfragen zu aggregieren. Standardmäßig werden Einträge alle 15 Minuten aggregiert. Die Abfrage verwendet die mittlere Ausführungszeit alle 15 Minuten und andere Abfragestatistiken wie max. Min. können je nach Bedarf verwendet werden.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DBFORPOSTGRESQL"
| where Category == "QueryStoreRuntimeStatistics"
| where user_id_s != "10" //exclude azure system user
| project TimeGenerated, LogicalServerName_s, event_type_s , mean_time_s , db_id_s , start_time_s , query_id_s, _ResourceId
| where todouble(mean_time_s) > 0 // You may change the time threshold
Langsamste Abfragen
Identifizieren Sie die 5 langsamsten Abfragen.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DBFORPOSTGRESQL"
| where Category == "QueryStoreRuntimeStatistics"
| where user_id_s != "10" //exclude azure system user
| summarize avg(todouble(mean_time_s)) by event_class_s , db_id_s ,query_id_s
| top 5 by avg_mean_time_s desc
Abfragestatistik
Erstellen Sie eine Zusammenfassungsstatistiktabelle nach Abfrage.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DBFORPOSTGRESQL"
| where Category == "QueryStoreRuntimeStatistics"
| where user_id_s != "10" //exclude azure system user
| summarize sum(toint(calls_s)), min(todouble(min_time_s)),max(todouble(max_time_s)),avg(todouble(mean_time_s)),percentile(todouble(mean_time_s),95) by db_id_s ,query_id_s
| order by percentile_mean_time_s_95 desc nulls last
Trends bei der Ausführungsanzahl
Ausführungstrend nach Abfrage aggregiert nach 15 Minuten-Intervallen.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DBFORPOSTGRESQL"
| where Category == "QueryStoreRuntimeStatistics"
| where user_id_s != "10" //exclude azure system user
| summarize sum(toint(calls_s)) by tostring(query_id_s), bin(TimeGenerated, 15m), ResourceId
| render timechart
Wichtigste Warteereignisse
Identifizieren Sie die 5 wichtigsten Wait-Ereignisse nach Abfragen.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DBFORPOSTGRESQL"
| where Category == "QueryStoreWaitStatistics"
| where user_id_s != "10" //exclude azure system user
| where query_id_s != 0
| summarize sum(toint(calls_s)) by event_s, query_id_s, bin(TimeGenerated, 15m)
| top 5 by sum_calls_s desc nulls last
Warteereignistrends
Anzeigen von Warteereignistrends im Laufe der Zeit.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DBFORPOSTGRESQL"
| where Category == "QueryStoreWaitStatistics"
| where user_id_s != "10" //exclude azure system user
| extend query_id_s = tostring(query_id_s)
| summarize sum(toint(calls_s)) by event_s, query_id_s, bin(TimeGenerated, 15m), ResourceId // You may change the time threshold
| render timechart
Abfragen für microsoft.devices
Connectvity-Fehler
Identifizieren Sie Geräteverbindungsfehler.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
| where Category == "Connections" and Level == "Error"
Geräte mit den meisten Drosselungsfehlern
Identifizieren Sie Geräte, die die meisten Anforderungen ausgegeben haben, was zu Drosselungsfehlern führte.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
| where ResultType == "429001"
| extend DeviceId = tostring(parse_json(properties_s).deviceId)
| summarize count() by DeviceId, Category , _ResourceId
| order by count_ desc
Tote Endpunkte
Identifizieren Sie unzustellbare oder fehlerhafte Endpunkte anhand der Häufigkeit, mit der das Problem gemeldet wurde, sowie den Grund dafür.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
| where Category == "Routes" and OperationName in ("endpointDead", "endpointUnhealthy")
| extend parsed_json = parse_json(properties_s)
| extend Endpoint = tostring(parsed_json.endpointName), Reason =tostring(parsed_json.details)
| summarize count() by Endpoint, OperationName, Reason, _ResourceId
| order by count_ desc
Fehlerzusammenfassung
Anzahl von Fehlern über alle Vorgänge nach Typ.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
| where Level == "Error"
| summarize count() by ResultType, ResultDescription, Category, _ResourceId
Zuletzt verbundene Geräte
Liste der Geräte, die im angegebenen Zeitraum mit IoT Hub verbunden wurden.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
| where Category == "Connections" and OperationName == "deviceConnect"
| extend DeviceId = tostring(parse_json(properties_s).deviceId)
| summarize max(TimeGenerated) by DeviceId, _ResourceId
SDK-Version von Geräten
Liste der Geräte und deren SDK-Versionen.
// this query works on device connection or when your device uses device to cloud twin operations
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.DEVICES" and ResourceType == "IOTHUBS"
| where Category == "Connections" or Category == "D2CTwinOperations"
| extend parsed_json = parse_json(properties_s)
| extend SDKVersion = tostring(parsed_json.sdkVersion) , DeviceId = tostring(parsed_json.deviceId)
| distinct DeviceId, SDKVersion, TimeGenerated, _ResourceId
Abfragen für microsoft.documentdb
Verbrauchte RU/s in den letzten 24 Stunden
Identifizieren sie verbrauchte RU/s in Cosmos-Datenbanken und -Sammlungen.
// To create an alert for this query, click '+ New alert rule'
//You can compare the RU/s consumption with your provisioned RU/s to determine if you should scale up or down RU/s based on your workload.
AzureDiagnostics
| where TimeGenerated >= ago(24hr)
| where Category == "DataPlaneRequests"
//| where collectionName_s == "CollectionToAnalyze" //Replace to target the query to a collection
| summarize ConsumedRUsPerMinute = sum(todouble(requestCharge_s)) by collectionName_s, _ResourceId, bin(TimeGenerated, 1m)
| project TimeGenerated , ConsumedRUsPerMinute , collectionName_s, _ResourceId
| render timechart
Sammlungen mit Drosselungen (429) in den letzten 24 Stunden
Identifizieren Sie Sammlungen und Vorgänge, die 429 (Drosselungen) erhalten haben, die auftreten, wenn der verbrauchte Durchsatz (RU/s) den bereitgestellten Durchsatz überschreitet.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where TimeGenerated >= ago(24hr)
| where Category == "DataPlaneRequests"
| where statusCode_s == 429
| summarize numberOfThrottles = count() by databaseName_s, collectionName_s, requestResourceType_s, _ResourceId, bin(TimeGenerated, 1hr)
| order by numberOfThrottles
Top-Vorgänge nach verbrauchten Anforderungseinheiten (RUs) in den letzten 24 Stunden
Identifizieren Sie die wichtigsten Vorgänge in Cosmos-Ressourcen nach Anzahl und verbrauchter RU pro Vorgang.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where TimeGenerated >= ago(24h)
| where Category == "DataPlaneRequests"
| summarize numberOfOperations = count(), totalConsumedRU = sum(todouble(requestCharge_s)) by databaseName_s, collectionName_s, OperationName, requestResourceType_s, requestResourceId_s, _ResourceId
| extend averageRUPerOperation = totalConsumedRU / numberOfOperations
| order by numberOfOperations
Oberste logische Partitionsschlüssel nach Speicher
Identifizieren Sie die größten Werte des logischen Partitionsschlüssels. PartitionKeyStatistics gibt Daten für die wichtigsten logischen Partitionsschlüssel nach Speicher aus.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where Category == "PartitionKeyStatistics"
//| where collectionName_s == "CollectionToAnalyze" //Replace to target the query to a collection
| summarize arg_max(TimeGenerated, *) by databaseName_s, collectionName_s, partitionKey_s, _ResourceId //Get the latest storage size
| extend utilizationOf20GBLogicalPartition = sizeKb_d / 20000000 //20GB
| project TimeGenerated, databaseName_s , collectionName_s , partitionKey_s, sizeKb_d, utilizationOf20GBLogicalPartition, _ResourceId
Abfragen für microsoft.eventhub
[Klassisch] Dauer des Erfassungsfehlers
Fasst die Duaration des Fehlers bei der Erfassung zusammen.
AzureDiagnostics
| where ResourceProvider == \"MICROSOFT.EVENTHUB\"
| where Category == \"ArchiveLogs\"
| summarize count() by \"failures\", \"durationInSeconds\", _ResourceId
[Klassisch] Beitrittsanforderung für Den Client
Der Status der Beitrittsanforderung für den Client wurde zusammengefasst.
AzureDiagnostics // Need to turn on the Capture for this
| where ResourceProvider == \"MICROSOFT.EVENTHUB\"
| project \"OperationName\"
[Klassisch] Zugriff auf keyvault – Schlüssel nicht gefunden
Fasst den Zugriff auf keyvault zusammen, wenn der Schlüssel nicht gefunden wird.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == \"MICROSOFT.EVENTHUB\"
| where Category == \"Error\" and OperationName == \"wrapkey\"
| project Message, _ResourceId
[Klassisch] Mit keyvault ausgeführter Vorgang
Fasst den mit keyvault ausgeführten Vorgang zusammen, um den Schlüssel zu deaktivieren oder wiederherzustellen.
AzureDiagnostics
| where ResourceProvider == \"MICROSOFT.EVENTHUB\"
| where Category == \"info\" and OperationName == \"disable\" or OperationName == \"restore\"
| project Message
Fehler in den letzten 7 Tagen
Dadurch werden alle Fehler für die letzten 7 Tage aufgelistet.
AzureDiagnostics
| where TimeGenerated > ago(7d)
| where ResourceProvider =="MICROSOFT.EVENTHUB"
| where Category == "OperationalLogs"
| summarize count() by "EventName", _ResourceId
Dauer des Erfassungsfehlers
Fasst die Duaration des Fehlers bei der Erfassung zusammen.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.EVENTHUB"
| where Category == "ArchiveLogs"
| summarize count() by "failures", "durationInSeconds", _ResourceId
Beitrittsanforderung für Den Client
Der Status der Beitrittsanforderung für den Client wurde zusammengefasst.
AzureDiagnostics // Need to turn on the Capture for this
| where ResourceProvider == "MICROSOFT.EVENTHUB"
| project "OperationName"
Zugriff auf keyvault – Schlüssel nicht gefunden
Fasst den Zugriff auf keyvault zusammen, wenn der Schlüssel nicht gefunden wird.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.EVENTHUB"
| where Category == "Error" and OperationName == "wrapkey"
| project Message, ResourceId
Mit keyvault ausgeführter Vorgang
Fasst den mit keyvault ausgeführten Vorgang zusammen, um den Schlüssel zu deaktivieren oder wiederherzustellen.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.EVENTHUB"
| where Category == "info" and OperationName == "disable" or OperationName == "restore"
| project Message
Abfragen für "microsoft.keyvault"
[Klassisch] Wie aktiv war dieser KeyVault?
[Klassisch] Liniendiagramm, das den Trend des KeyVault-Anforderungsvolumens pro Vorgang im Laufe der Zeit zeigt.
// KeyVault diagnostic currently stores logs in AzureDiagnostics table which stores logs for multiple services.
// Filter on ResourceProvider for logs specific to a service.
AzureDiagnostics
| where ResourceProvider =="MICROSOFT.KEYVAULT"
| summarize count() by bin(TimeGenerated, 1h), OperationName // Aggregate by hour
| render timechart
[Klassisch] Wer nennt diesen KeyVault?
[Klassisch] Liste der Anrufer, die von ihrer IP-Adresse mit der Anforderungsanzahl identifiziert wurden.
// KeyVault diagnostic currently stores logs in AzureDiagnostics table which stores logs for multiple services.
// Filter on ResourceProvider for logs specific to a service.
AzureDiagnostics
| where ResourceProvider =="MICROSOFT.KEYVAULT"
| summarize count() by CallerIPAddress
[Klassisch] Gibt es langsame Anforderungen?
[Klassisch] Liste der KeyVault-Anforderungen, die länger als 1Sec dauerten.
// To create an alert for this query, click '+ New alert rule'
let threshold=1000; // let operator defines a constant that can be further used in the query
AzureDiagnostics
| where ResourceProvider =="MICROSOFT.KEYVAULT"
| where DurationMs > threshold
| summarize count() by OperationName, _ResourceId
[Klassisch] Wie schnell wird dieser KeyVault Anforderungen bedient?
[Klassisch] Liniendiagramm mit Trend der Anforderungsdauer im Laufe der Zeit mithilfe verschiedener Aggregationen.
AzureDiagnostics
| where ResourceProvider =="MICROSOFT.KEYVAULT"
| summarize avg(DurationMs) by requestUri_s, bin(TimeGenerated, 1h) // requestUri_s contains the URI of the request
| render timechart
[Klassisch] Gibt es Fehler?
[Klassisch] Anzahl der fehlgeschlagenen KeyVault-Anforderungen nach Statuscode.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider =="MICROSOFT.KEYVAULT"
| where httpStatusCode_d >= 300 and not(OperationName == "Authentication" and httpStatusCode_d == 401)
| summarize count() by requestUri_s, ResultSignature, _ResourceId
// ResultSignature contains HTTP status, e.g. "OK" or "Forbidden"
// httpStatusCode_d contains HTTP status code returned by the request (e.g. 200, 300 or 401)
// requestUri_s contains the URI of the request
[Klassisch] Welche Änderungen sind im letzten Monat aufgetreten?
[Klassisch] Listet alle Update- und Patchanforderungen aus den letzten 30 Tagen auf.
// KeyVault diagnostic currently stores logs in AzureDiagnostics table which stores logs for multiple services.
// Filter on ResourceProvider for logs specific to a service.
AzureDiagnostics
| where TimeGenerated > ago(30d) // Time range specified in the query. Overrides time picker in portal.
| where ResourceProvider =="MICROSOFT.KEYVAULT"
| where OperationName == "VaultPut" or OperationName == "VaultPatch"
| sort by TimeGenerated desc
[Klassisch] Auflisten aller Eingabeen deserialisierungsfehlers
[Klassisch] Zeigt Fehler an, die aufgrund falsch formatierter Ereignisse verursacht wurden, die vom Auftrag nicht deserialisiert werden konnten.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.KEYVAULT" and parse_json(properties_s).DataErrorType in ("InputDeserializerError.InvalidData", "InputDeserializerError.TypeConversionError", "InputDeserializerError.MissingColumns", "InputDeserializerError.InvalidHeader", "InputDeserializerError.InvalidCompressionType")
| project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
[Klassisch] Suchen in AzureDiagnostics
[Klassisch] Suchen Sie in AzureDiagnostics nach einem bestimmten Wert in der AzureDiagnostics-Tabelle./nNote, dass für diese Abfrage ein Update des <SeachValue-Parameters> erforderlich ist, um Ergebnisse zu erzielen.
// This query requires a parameter to run. Enter value in SearchValue to find in table.
let SearchValue = "<SearchValue>";//Please update term you would like to find in the table.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.KEYVAULT"
| where * contains tostring(SearchValue)
| take 1000
Abfragen für "microsoft.logic"
Gesamtzahl der abrechenbaren Ausführungen
Gesamtzahl der abrechnenden Ausführungen nach Vorgangsname.
// Total billable executions
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.LOGIC"
| where Category == "WorkflowRuntime"
| where OperationName has "workflowTriggerStarted" or OperationName has "workflowActionStarted"
| summarize dcount(resource_runId_s) by OperationName, resource_workflowName_s
Verteilung der Logik-App-Ausführung nach Workflows
Stündliche Zeitdiagramm für die Ausführung der Logik-App, Verteilung nach Workflows.
// Hourly Time chart for Logic App execution distribution by workflows
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.LOGIC"
| where Category == "WorkflowRuntime"
| where OperationName has "workflowRunStarted"
| summarize dcount(resource_runId_s) by bin(TimeGenerated, 1h), resource_workflowName_s
| render timechart
Verteilung der Ausführung der Logik-App nach Status
Abgeschlossene Ausführungen nach Workflow, Status und Fehler.
//logic app execution status summary
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.LOGIC"
| where OperationName has "workflowRunCompleted"
| summarize dcount(resource_runId_s) by resource_workflowName_s, status_s, error_code_s
| project LogicAppName = resource_workflowName_s , NumberOfExecutions = dcount_resource_runId_s , RunStatus = status_s , Error = error_code_s
Anzahl ausgelöster Fehler
Aktions-/Auslöserfehler für alle Ausführungen der Logik-App nach Ressourcennamen anzeigen.
// To create an alert for this query, click '+ New alert rule'
//Action/Trigger failures for all Logic App executions
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.LOGIC"
| where Category == "WorkflowRuntime"
| where status_s == "Failed"
| where OperationName has "workflowActionCompleted" or OperationName has "workflowTriggerCompleted"
| extend ResourceName = coalesce(resource_actionName_s, resource_triggerName_s)
| extend ResourceCategory = substring(OperationName, 34, strlen(OperationName) - 43) | summarize dcount(resource_runId_s) by code_s, ResourceName, resource_workflowName_s, ResourceCategory, _ResourceId
| project ResourceCategory, ResourceName , FailureCount = dcount_resource_runId_s , ErrorCode = code_s, LogicAppName = resource_workflowName_s, _ResourceId
| order by FailureCount desc
Abfragen für microsoft.network
Anforderungen pro Stunde
Anzahl der eingehenden Anforderungen auf dem Anwendungsgateway.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess"
| summarize AggregatedValue = count() by bin(TimeGenerated, 1h), _ResourceId
| render timechart
Nicht-SSL-Anforderungen pro Stunde
Anzahl der Nicht-SSL-Anforderungen für das Anwendungsgateway.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess" and sslEnabled_s == "off"
| summarize AggregatedValue = count() by bin(TimeGenerated, 1h), _ResourceId
| render timechart
Fehlgeschlagene Anforderungen pro Stunde
Anzahl der Anforderungen, für die das Anwendungsgateway mit einem Fehler geantwortet hat.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess" and httpStatus_d > 399
| summarize AggregatedValue = count() by bin(TimeGenerated, 1h), _ResourceId
| render timechart
Fehler nach Benutzer-Agent
Anzahl der Fehler nach Benutzer-Agent.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess" and httpStatus_d > 399
| summarize AggregatedValue = count() by userAgent_s, _ResourceId
| sort by AggregatedValue desc
Fehler nach URI
Anzahl der Fehler nach URI.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess" and httpStatus_d > 399
| summarize AggregatedValue = count() by requestUri_s, _ResourceId
| sort by AggregatedValue desc
Top 10 Client-IPs
Anzahl der Anforderungen pro Client-IP.
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess"
| summarize AggregatedValue = count() by clientIP_s
| top 10 by AggregatedValue
Die wichtigsten HTTP-Versionen
Anzahl der Anforderungen pro HTTP-Version.
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess"
| summarize AggregatedValue = count() by httpVersion_s
| top 10 by AggregatedValue
Netzwerksicherheitsereignisse
Suchen Sie nach Netzwerksicherheitsereignissen, die den blockierten eingehenden Datenverkehr melden.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK"
| where Category == "NetworkSecurityGroupEvent"
| where direction_s == "In" and type_s == "block"
Anforderungen pro Stunde
Renderliniendiagramm mit Gesamtanforderungen pro Stunde für jede FrontDoor-Ressource.
// Summarize number of requests per hour for each FrontDoor resource
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "FrontdoorAccessLog"
| summarize RequestCount = count() by bin(TimeGenerated, 1h), Resource, ResourceId
| render timechart
Weitergeleitete Back-End-Anforderungen durch Routingregel
Anzahl der Anforderungen für jede Routingregel und jeden Back-End-Host pro Minute.
// Summarize number of requests per minute for each routing rule and backend host
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "FrontdoorAccessLog"
| summarize RequestCount = count() by bin(TimeGenerated, 1m), Resource, RoutingRuleName = routingRuleName_s, BackendHostname = backendHostname_s, ResourceId
Anfordern von Fehlern nach Host und Pfad
Anzahl der Anforderungen mit Fehlerantworten nach Host und Pfad.
// Summarize number of requests by host, path, and status codes >= 400
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "FrontdoorAccessLog"
| where toint(httpStatusCode_s) >= 400
| extend ParsedUrl = parseurl(requestUri_s)
| summarize RequestCount = count() by Host = tostring(ParsedUrl.Host), Path = tostring(ParsedUrl.Path), StatusCode = httpStatusCode_s, ResourceId
| order by RequestCount desc
Anfordern von Fehlern durch den Benutzer-Agent
Anzahl der Anforderungen mit Fehlerantworten nach Benutzer-Agent.
// Summarize number of requests per user agent and status codes >= 400
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "FrontdoorAccessLog"
| where toint(httpStatusCode_s) >= 400
| summarize RequestCount = count() by UserAgent = userAgent_s, StatusCode = httpStatusCode_s , Resource, ResourceId
| order by RequestCount desc
Top 10 Client-IPs und HTTP-Versionen
Die wichtigsten 10 Client-IPs und HTTP-Versionen anzeigen.
// Summarize top 10 client ips and http versions
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "FrontdoorAccessLog"
| summarize RequestCount = count() by ClientIP = clientIp_s, HttpVersion = httpVersion_s, Resource
| top 10 by RequestCount
| order by RequestCount desc
Anzahl blockierter Firewallanforderungen pro Stunde
Anzahl der blockierten Firewallanforderungen pro Stunde.
// Summarize number of firewall blocked requests per hour by policy
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "FrontdoorWebApplicationFirewallLog"
| where action_s == "Block"
| summarize RequestCount = count() by bin(TimeGenerated, 1h), Policy = policy_s, PolicyMode = policyMode_s, Resource, ResourceId
| order by RequestCount desc
Top 20 blockierte Clients nach IP und Regel
Anzeigen der 20 wichtigsten blockierten Clients nach IP- und Regelname.
// Summarize top 20 blocked clients by IP and rule
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "FrontdoorWebApplicationFirewallLog"
| where action_s == "Block"
| summarize RequestCount = count() by ClientIP = clientIP_s, UserAgent = userAgent_s, RuleName = ruleName_s ,Resource
| top 20 by RequestCount
| order by RequestCount desc
Anzahl der Firewallanforderungen nach Host, Pfad, Regel und Aktion
Zählen Von Firewall verarbeitete Anforderungen nach Host, Pfad, Regel und ausgeführter Aktion.
// Summarize request count by host, path, rule, and action
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "FrontdoorWebApplicationFirewallLog"
| extend ParsedUrl = parseurl(requestUri_s)
| summarize RequestCount = count() by Host = tostring(ParsedUrl.Host), Path = tostring(ParsedUrl.Path), RuleName = ruleName_s, Action = action_s, ResourceId
| order by RequestCount desc
Anwendungsregelprotokolldaten
Analysiert die Anwendungsregelprotokolldaten.
AzureDiagnostics
| where Category == "AzureFirewallApplicationRule"
//this first parse statement is valid for all entries as they all start with this format
| parse msg_s with Protocol " request from " SourceIP ":" SourcePort:int *
//Parse action as this is the same for all log lines
| parse kind=regex flags=U msg_s with * ". Action\\: " Action "\\."
// case1: Action: A. Reason: R.
| parse kind=regex flags=U msg_s with "\\. Reason\\: " Reason "\\."
//case 2a: to FQDN:PORT Url: U. Action: A. Policy: P. Rule Collection Group: RCG. Rule Collection: RC. Rule: R.
| parse msg_s with * "to " FQDN ":" TargetPort:int * "." *
//Parse policy if present
| parse msg_s with * ". Policy: " Policy ". Rule Collection Group: " RuleCollectionGroup "." *
| parse msg_s with * " Rule Collection: " RuleCollection ". Rule: " Rule
//case 2.b: Web Category: WC.
| parse Rule with * ". Web Category: " WebCategory
//case 3: No rule matched. Proceeding with default action"
| extend DefaultRule = iff(msg_s contains "No rule matched. Proceeding with default action", true, false)
| extend
SourcePort = tostring(SourcePort),
TargetPort = tostring(TargetPort)
| extend
Action = case(Action == "","N/A", case(DefaultRule, "Deny" ,Action)),
FQDN = case(FQDN == "", "N/A", FQDN),
TargetPort = case(TargetPort == "", "N/A", tostring(TargetPort)),
Policy = case(RuleCollection contains ":", split(RuleCollection, ":")[0] ,case(Policy == "", "N/A", Policy)),
RuleCollectionGroup = case(RuleCollection contains ":", split(RuleCollection, ":")[1], case(RuleCollectionGroup == "", "N/A", RuleCollectionGroup)),
RuleCollection = case(RuleCollection contains ":", split(RuleCollection, ":")[2], case(RuleCollection == "", "N/A", RuleCollection)),
WebCategory = case(WebCategory == "", "N/A", WebCategory),
Rule = case(Rule == "" , "N/A", case(WebCategory == "N/A", Rule, split(Rule, '.')[0])),
Reason = case(Reason == "", case(DefaultRule, "No rule matched - default action", "N/A"), Reason )
| project TimeGenerated, msg_s, Protocol, SourceIP, SourcePort, FQDN, TargetPort, Action, Policy, RuleCollectionGroup, RuleCollection, Rule, Reason ,WebCategory
Netzwerkregelprotokolldaten
Analysiert die Netzwerkregelprotokolldaten.
AzureDiagnostics
| where Category == "AzureFirewallNetworkRule"
| where OperationName == "AzureFirewallNatRuleLog" or OperationName == "AzureFirewallNetworkRuleLog"
//case 1: for records that look like this:
//PROTO request from IP:PORT to IP:PORT.
| parse msg_s with Protocol " request from " SourceIP ":" SourcePortInt:int " to " TargetIP ":" TargetPortInt:int *
//case 1a: for regular network rules
| parse kind=regex flags=U msg_s with * ". Action\\: " Action1a "\\."
//case 1b: for NAT rules
//TCP request from IP:PORT to IP:PORT was DNAT'ed to IP:PORT
| parse msg_s with * " was " Action1b:string " to " TranslatedDestination:string ":" TranslatedPort:int *
//Parse rule data if present
| parse msg_s with * ". Policy: " Policy ". Rule Collection Group: " RuleCollectionGroup "." *
| parse msg_s with * " Rule Collection: " RuleCollection ". Rule: " Rule
//case 2: for ICMP records
//ICMP request from 10.0.2.4 to 10.0.3.4. Action: Allow
| parse msg_s with Protocol2 " request from " SourceIP2 " to " TargetIP2 ". Action: " Action2
| extend
SourcePort = tostring(SourcePortInt),
TargetPort = tostring(TargetPortInt)
| extend
Action = case(Action1a == "", case(Action1b == "",Action2,Action1b), split(Action1a,".")[0]),
Protocol = case(Protocol == "", Protocol2, Protocol),
SourceIP = case(SourceIP == "", SourceIP2, SourceIP),
TargetIP = case(TargetIP == "", TargetIP2, TargetIP),
//ICMP records don't have port information
SourcePort = case(SourcePort == "", "N/A", SourcePort),
TargetPort = case(TargetPort == "", "N/A", TargetPort),
//Regular network rules don't have a DNAT destination
TranslatedDestination = case(TranslatedDestination == "", "N/A", TranslatedDestination),
TranslatedPort = case(isnull(TranslatedPort), "N/A", tostring(TranslatedPort)),
//Rule information
Policy = case(Policy == "", "N/A", Policy),
RuleCollectionGroup = case(RuleCollectionGroup == "", "N/A", RuleCollectionGroup ),
RuleCollection = case(RuleCollection == "", "N/A", RuleCollection ),
Rule = case(Rule == "", "N/A", Rule)
| project TimeGenerated, msg_s, Protocol, SourceIP,SourcePort,TargetIP,TargetPort,Action, TranslatedDestination, TranslatedPort, Policy, RuleCollectionGroup, RuleCollection, Rule
Threat Intelligence-Regelprotokolldaten
Analysiert die Threat Intelligence-Regelprotokolldaten.
AzureDiagnostics
| where OperationName == "AzureFirewallThreatIntelLog"
| parse msg_s with Protocol " request from " SourceIP ":" SourcePortInt:int " to " TargetIP ":" TargetPortInt:int *
| parse msg_s with * ". Action: " Action "." Message
| parse msg_s with Protocol2 " request from " SourceIP2 " to " TargetIP2 ". Action: " Action2
| extend SourcePort = tostring(SourcePortInt),TargetPort = tostring(TargetPortInt)
| extend Protocol = case(Protocol == "", Protocol2, Protocol),SourceIP = case(SourceIP == "", SourceIP2, SourceIP),TargetIP = case(TargetIP == "", TargetIP2, TargetIP),SourcePort = case(SourcePort == "", "N/A", SourcePort),TargetPort = case(TargetPort == "", "N/A", TargetPort)
| sort by TimeGenerated desc
| project TimeGenerated, msg_s, Protocol, SourceIP,SourcePort,TargetIP,TargetPort,Action,Message
Azure Firewall-Protokolldaten
Beginnen Sie mit dieser Abfrage, wenn Sie die Protokolle aus Netzwerkregeln, Anwendungsregeln, NAT-Regeln, IDS, Bedrohungserkennung und mehr analysieren möchten, um zu verstehen, warum bestimmter Datenverkehr zulässig oder verweigert wurde. Diese Abfrage zeigt die letzten 100 Protokolldatensätze an, aber durch Hinzufügen einfacher Filteranweisungen am Ende der Abfrage können die Ergebnisse optimiert werden.
// Parses the azure firewall rule log data.
// Includes network rules, application rules, threat intelligence, ips/ids, ...
AzureDiagnostics
| where Category == "AzureFirewallNetworkRule" or Category == "AzureFirewallApplicationRule"
//optionally apply filters to only look at a certain type of log data
//| where OperationName == "AzureFirewallNetworkRuleLog"
//| where OperationName == "AzureFirewallNatRuleLog"
//| where OperationName == "AzureFirewallApplicationRuleLog"
//| where OperationName == "AzureFirewallIDSLog"
//| where OperationName == "AzureFirewallThreatIntelLog"
| extend msg_original = msg_s
// normalize data so it's eassier to parse later
| extend msg_s = replace(@'. Action: Deny. Reason: SNI TLS extension was missing.', @' to no_data:no_data. Action: Deny. Rule Collection: default behavior. Rule: SNI TLS extension missing', msg_s)
| extend msg_s = replace(@'No rule matched. Proceeding with default action', @'Rule Collection: default behavior. Rule: no rule matched', msg_s)
// extract web category, then remove it from further parsing
| parse msg_s with * " Web Category: " WebCategory
| extend msg_s = replace(@'(. Web Category:).*','', msg_s)
// extract RuleCollection and Rule information, then remove it from further parsing
| parse msg_s with * ". Rule Collection: " RuleCollection ". Rule: " Rule
| extend msg_s = replace(@'(. Rule Collection:).*','', msg_s)
// extract Rule Collection Group information, then remove it from further parsing
| parse msg_s with * ". Rule Collection Group: " RuleCollectionGroup
| extend msg_s = replace(@'(. Rule Collection Group:).*','', msg_s)
// extract Policy information, then remove it from further parsing
| parse msg_s with * ". Policy: " Policy
| extend msg_s = replace(@'(. Policy:).*','', msg_s)
// extract IDS fields, for now it's always add the end, then remove it from further parsing
| parse msg_s with * ". Signature: " IDSSignatureIDInt ". IDS: " IDSSignatureDescription ". Priority: " IDSPriorityInt ". Classification: " IDSClassification
| extend msg_s = replace(@'(. Signature:).*','', msg_s)
// extra NAT info, then remove it from further parsing
| parse msg_s with * " was DNAT'ed to " NatDestination
| extend msg_s = replace(@"( was DNAT'ed to ).*",". Action: DNAT", msg_s)
// extract Threat Intellingence info, then remove it from further parsing
| parse msg_s with * ". ThreatIntel: " ThreatIntel
| extend msg_s = replace(@'(. ThreatIntel:).*','', msg_s)
// extract URL, then remove it from further parsing
| extend URL = extract(@"(Url: )(.*)(\. Action)",2,msg_s)
| extend msg_s=replace(@"(Url: .*)(Action)",@"\2",msg_s)
// parse remaining "simple" fields
| parse msg_s with Protocol " request from " SourceIP " to " Target ". Action: " Action
| extend
SourceIP = iif(SourceIP contains ":",strcat_array(split(SourceIP,":",0),""),SourceIP),
SourcePort = iif(SourceIP contains ":",strcat_array(split(SourceIP,":",1),""),""),
Target = iif(Target contains ":",strcat_array(split(Target,":",0),""),Target),
TargetPort = iif(SourceIP contains ":",strcat_array(split(Target,":",1),""),""),
Action = iif(Action contains ".",strcat_array(split(Action,".",0),""),Action),
Policy = case(RuleCollection contains ":", split(RuleCollection, ":")[0] ,Policy),
RuleCollectionGroup = case(RuleCollection contains ":", split(RuleCollection, ":")[1], RuleCollectionGroup),
RuleCollection = case(RuleCollection contains ":", split(RuleCollection, ":")[2], RuleCollection),
IDSSignatureID = tostring(IDSSignatureIDInt),
IDSPriority = tostring(IDSPriorityInt)
| project msg_original,TimeGenerated,Protocol,SourceIP,SourcePort,Target,TargetPort,URL,Action, NatDestination, OperationName,ThreatIntel,IDSSignatureID,IDSSignatureDescription,IDSPriority,IDSClassification,Policy,RuleCollectionGroup,RuleCollection,Rule,WebCategory
| order by TimeGenerated
| limit 100
Azure Firewall-DNS-Proxyprotokolldaten
Beginnen Sie mit dieser Abfrage, wenn Sie die Dns-Proxyprotokolldaten der Firewall verstehen möchten. Diese Abfrage zeigt die letzten 100 Protokolldatensätze an, aber durch Hinzufügen einfacher Filteranweisungen am Ende der Abfrage können die Ergebnisse optimiert werden.
// DNS proxy log data
// Parses the DNS proxy log data.
AzureDiagnostics
| where Category == "AzureFirewallDnsProxy"
| parse msg_s with "DNS Request: " SourceIP ":" SourcePortInt:int " - " QueryID:int " " RequestType " " RequestClass " " hostname ". " protocol " " details
| extend
ResponseDuration = extract("[0-9]*.?[0-9]+s$", 0, msg_s),
SourcePort = tostring(SourcePortInt),
QueryID = tostring(QueryID)
| project TimeGenerated,SourceIP,hostname,RequestType,ResponseDuration,details,msg_s
| order by TimeGenerated
| limit 100
BGP-Routentabelle
Die BPG-Routentabelle wurde in den letzten 12 Stunden gelernt.
AzureDiagnostics
| where TimeGenerated > ago(12h)
| where ResourceType == "EXPRESSROUTECIRCUITS"
| project TimeGenerated , ResourceType , network_s , path_s , OperationName
BGP-Informationsmeldungen
BGP-Informationsmeldungen nach Ebene, Ressourcentyp und Netzwerk.
AzureDiagnostics
| where Level == "Informational"
| project TimeGenerated , ResourceId, Level, ResourceType , network_s , path_s
Endpunkte mit überwachung des Status nach unten
Finden Sie den Grund, warum der Überwachungsstatus von Azure Traffic Manager-Endpunkten nicht mehr angezeigt wird.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceType == "TRAFFICMANAGERPROFILES" and Category == "ProbeHealthStatusEvents"
| where Status_s == "Down"
| project TimeGenerated, EndpointName_s, Status_s, ResultDescription, SubscriptionId , _ResourceId
Erfolgreiche P2S-Verbindungen
Erfolgreiche P2S-Verbindungen in den letzten 12 Stunden.
AzureDiagnostics
| where TimeGenerated > ago(12h)
| where Category == "P2SDiagnosticLog" and Message has "Connection successful"
| project TimeGenerated, Resource ,Message
Fehlgeschlagene P2S-Verbindungen
Fehler bei P2S-Verbindungen in den letzten 12 Stunden.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where TimeGenerated > ago(12h)
| where Category == "P2SDiagnosticLog" and Message has "Connection failed"
| project TimeGenerated, Resource ,Message
Gatewaykonfigurationsänderungen
Erfolgreiche Gatewaykonfigurationsänderungen, die der Administrator während der letzten 24 Stunden vorgenommen hat.
AzureDiagnostics
| where TimeGenerated > ago(24h)
| where Category == "GatewayDiagnosticLog" and operationStatus_s == "Success" and configuration_ConnectionTrafficType_s == "Internet"
| project TimeGenerated, Resource, OperationName, Message, operationStatus_s
S2S-Tunnel-Connet-/Disconnect-Ereignisse
S2S-Tunnel-Connet-/Disconnect-Ereignisse während der letzten 24 Stunden.
AzureDiagnostics
| where TimeGenerated > ago(24h)
| where Category == "TunnelDiagnosticLog" and (status_s == "Connected" or status_s == "Disconnected")
| project TimeGenerated, Resource , status_s, remoteIP_s, stateChangeReason_s
BGP-Routenaktualisierungen
BGP-Routenaktualisierungen in den letzten 24 Stunden.
AzureDiagnostics
| where TimeGenerated > ago(24h)
| where Category == "RouteDiagnosticLog" and OperationName == "BgpRouteUpdate"
Protokolle aus der AzureDiagnostics-Tabelle anzeigen
Listet die neuesten Protokolle in der AzureDiagnostics-Tabelle auf, sortiert nach Uhrzeit (neustes Erstes).
AzureDiagnostics
| top 10 by TimeGenerated
Abfragen für microsoft.recoveryservices
Fehlgeschlagene Sicherungsaufträge
Gefundene Protokolle gemeldete fehlgeschlagene Sicherungsaufträge vom letzten Tag.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.RECOVERYSERVICES" and Category == "AzureBackupReport"
| where OperationName == "Job" and JobOperation_s == "Backup" and JobStatus_s == "Failed"
| project TimeGenerated, JobUniqueId_g, JobStartDateTime_s, JobOperation_s, JobOperationSubType_s, JobStatus_s , JobFailureCode_s, JobDurationInSecs_s , AdHocOrScheduledJob_s
Abfragen für microsoft.servicebus
[Klassisch] Listenverwaltungsvorgänge
Dadurch werden alle Verwaltungsaufrufe aufgelistet.
AzureDiagnostics
| where ResourceProvider ==\"MICROSOFT.SERVICEBUS\"
| where Category == \"OperationalLogs\"
| summarize count() by EventName_s, _ResourceId
[Klassisch] Fehlerzusammenfassung
Fasst alle aufgetretenen Fehler zusammen.
AzureDiagnostics
| where ResourceProvider ==\"MICROSOFT.SERVICEBUS\"
| where Category == \"Error\"
| summarize count() by EventName_s, _ResourceId
[Klassisch] Keyvault-Zugriffsversuch – Schlüssel nicht gefunden
Fasst den Zugriff auf keyvault zusammen, wenn der Schlüssel nicht gefunden wird.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == \"MICROSOFT.SERVICEBUS\"
| where Category == \"Error\" and OperationName == \"wrapkey\"
| project Message, _ResourceId
[Klassisch] AutoDeleted-Entitäten
Zusammenfassung aller Entitäten, die automatisch gelöscht wurden.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == \"MICROSOFT.SERVICEBUS\"
| where Category == \"OperationalLogs\"
| where EventName_s startswith \"AutoDelete\"
| summarize count() by EventName_s, _ResourceId
[Klassisch] Keyvault wurde betriebsbereit ausgeführt
Fasst den mit keyvault ausgeführten Vorgang zusammen, um den Schlüssel zu deaktivieren oder wiederherzustellen.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == \"MICROSOFT.SERVICEBUS\"
| where (Category == \"info\" and (OperationName == \"disable\" or OperationName == \"restore\"))
| project Message, _ResourceId
Verwaltungsvorgänge in den letzten 7 Tagen
Hier werden alle Verwaltungsaufrufe für die letzten 7 Tage aufgelistet.
AzureDiagnostics
| where TimeGenerated > ago(7d)
| where ResourceProvider =="MICROSOFT.SERVICEBUS"
| where Category == "OperationalLogs"
| summarize count() by EventName_s, _ResourceId
Fehlerzusammenfassung
Fasst alle Fehler zusammen, die in den letzten 7 Tagen aufgetreten sind.
AzureDiagnostics
| where TimeGenerated > ago(7d)
| where ResourceProvider =="MICROSOFT.SERVICEBUS"
| where Category == "Error"
| summarize count() by EventName_s, _ResourceId
Keyvault-Zugriffsversuch – Schlüssel nicht gefunden
Fasst den Zugriff auf keyvault zusammen, wenn der Schlüssel nicht gefunden wird.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.SERVICEBUS"
| where Category == "Error" and OperationName == "wrapkey"
| project Message, _ResourceId
AutoDeleted-Entitäten
Zusammenfassung aller Entitäten, die automatisch gelöscht wurden.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.SERVICEBUS"
| where Category == "OperationalLogs"
| where EventName_s startswith "AutoDelete"
| summarize count() by EventName_s, _ResourceId
Keyvault wurde betriebsbereit ausgeführt
Fasst den mit keyvault ausgeführten Vorgang zusammen, um den Schlüssel zu deaktivieren oder wiederherzustellen.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.SERVICEBUS"
| where (Category == "info" and (OperationName == "disable" or OperationName == "restore"))
| project Message, _ResourceId
Abfragen für microsoft.sql
Speicher auf verwalteten Instanzen über 90 %
Alle verwalteten Instanzen mit Speicherauslastung über 90 % anzeigen.
// To create an alert for this query, click '+ New alert rule'
let storage_percentage_threshold = 90;
AzureDiagnostics
| where Category =="ResourceUsageStats"
| summarize (TimeGenerated, calculated_storage_percentage) = arg_max(TimeGenerated, todouble(storage_space_used_mb_s) *100 / todouble (reserved_storage_mb_s))
by _ResourceId
| where calculated_storage_percentage > storage_percentage_threshold
CPU-Auslastung über 95 % bei verwalteten Instanzen
Zeigen Sie alle verwalteten Instanzen an, bei deren CPU-Treshold mehr als 95 % des Anteils liegt.
// To create an alert for this query, click '+ New alert rule'
let cpu_percentage_threshold = 95;
let time_threshold = ago(1h);
AzureDiagnostics
| where Category == "ResourceUsageStats" and TimeGenerated > time_threshold
| summarize avg_cpu = max(todouble(avg_cpu_percent_s)) by _ResourceId
| where avg_cpu > cpu_percentage_threshold
Alle aktiven intelligenten Einblicke anzeigen
Zeigen Sie alle von intelligenten Erkenntnissen erkannten aktiven Leistungsprobleme an. Beachten Sie, dass das SQLInsights-Protokoll für jede überwachte Datenbank aktiviert werden muss.
AzureDiagnostics
| where Category == "SQLInsights" and status_s == "Active"
| distinct rootCauseAnalysis_s
Wartestatistik
Warten Sie Statistiken über die letzte Stunde, nach Logical Server und Database.
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.SQL"
| where TimeGenerated >= ago(60min)
| parse _ResourceId with * "/microsoft.sql/servers/" LogicalServerName "/databases/" DatabaseName
| summarize Total_count_60mins = sum(delta_waiting_tasks_count_d) by LogicalServerName, DatabaseName, wait_type_s
Abfragen für microsoft.streamanalytics
Auflisten aller Eingabedatenfehler
Zeigt alle Fehler an, die beim Verarbeiten der Daten aus Eingaben aufgetreten sind.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and parse_json(properties_s).Type == "DataError"
| project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
Auflisten aller Eingabeen deserialisierungsfehlers
Zeigt Fehler an, die aufgrund falsch formatierter Ereignisse verursacht wurden, die vom Auftrag nicht deserialisiert werden konnten.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and parse_json(properties_s).DataErrorType in ("InputDeserializerError.InvalidData", "InputDeserializerError.TypeConversionError", "InputDeserializerError.MissingColumns", "InputDeserializerError.InvalidHeader", "InputDeserializerError.InvalidCompressionType")
| project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
Alle InvalidInputTimeStamp-Fehler auflisten
Zeigt Fehler an, die aufgrund von Ereignissen verursacht wurden, bei denen der Wert des TIMESTAMP BY-Ausdrucks nicht in "datetime" konvertiert werden kann.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and parse_json(properties_s).DataErrorType == "InvalidInputTimeStamp"
| project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
Alle InvalidInputTimeStampKey-Fehler auflisten
Zeigt Fehler an, die aufgrund von Ereignissen verursacht wurden, bei denen der Wert des TIMESTAMP BY OVER timestampColumn NULL ist.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and parse_json(properties_s).DataErrorType == "InvalidInputTimeStampKey"
| project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
Ereignisse, die verspätet ankamen
Zeigt Fehler aufgrund von Ereignissen an, bei denen die Differenz zwischen Anwendungszeit und Ankunftszeit größer als die Richtlinie für verspätete Ankunft ist.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and parse_json(properties_s).DataErrorType == "LateInputEvent"
| project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
Ereignisse, die früh eingetroffen sind
Zeigt Fehler aufgrund von Ereignissen an, bei denen die Differenz zwischen Anwendungszeit und Ankunftszeit größer als 5 Minuten ist.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and parse_json(properties_s).DataErrorType == "EarlyInputEvent"
| project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
Ereignisse, die außerhalb der Reihenfolge angekommen sind
Zeigt Fehler aufgrund von Ereignissen an, die gemäß der Out-of-Order-Richtlinie außerhalb der Reihenfolge ankommen.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and parse_json(properties_s).DataErrorType == "OutOfOrderEvent"
| project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
Alle Ausgabedatenfehler
Zeigt alle Fehler an, die beim Schreiben der Ergebnisse der Abfrage in die Ausgaben in Ihrem Auftrag aufgetreten sind.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and parse_json(properties_s).DataErrorType in ("OutputDataConversionError.RequiredColumnMissing", "OutputDataConversionError.ColumnNameInvalid", "OutputDataConversionError.TypeConversionError", "OutputDataConversionError.RecordExceededSizeLimit", "OutputDataConversionError.DuplicateKey")
| project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
Auflisten aller RequiredColumnMissing-Fehler
Zeigt alle Fehler an, bei denen der von Ihrem Auftrag erstellte Ausgabedatensatz eine fehlende Spalte aufweist.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and parse_json(properties_s).DataErrorType == "OutputDataConversionError.RequiredColumnMissing"
| project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
Alle ColumnNameInvalid-Fehler auflisten
Zeigt Fehler an, bei denen der von Ihrem Auftrag erstellte Ausgabedatensatz einen Spaltennamen aufweist, der keiner Spalte in der Ausgabe zugeordnet ist.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and parse_json(properties_s).DataErrorType == "OutputDataConversionError.ColumnNameInvalid"
| project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
Alle TypeConversionError-Fehler auflisten
Zeigt Fehler an, bei denen der von Ihrem Auftrag erstellte Ausgabedatensatz eine Spalte enthält, die nicht in einen gültigen Typ in der Ausgabe konvertiert werden kann.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and parse_json(properties_s).DataErrorType == "OutputDataConversionError.TypeConversionError"
| project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
Alle RecordExceededSizeLimit-Fehler auflisten
Zeigt Fehler an, bei denen die Größe des von Ihrem Auftrag erzeugten Ausgabedatensatzes größer als die unterstützte Ausgabegröße ist.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and parse_json(properties_s).DataErrorType == "OutputDataConversionError.RecordExceededSizeLimit"
| project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
Alle DuplicateKey-Fehler auflisten
Zeigt Fehler an, bei denen der von Auftrag erstellte Ausgabedatensatz eine Spalte mit demselben Namen wie eine Systemspalte enthält.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and parse_json(properties_s).DataErrorType == "OutputDataConversionError.DuplicateKey"
| project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
Alle Protokolle mit Ebene "Fehler"
Zeigt alle Protokolle an, die sich wahrscheinlich negativ auf Ihren Auftrag auswirken.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and Level == "Error"
| project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
Vorgänge mit "Fehlgeschlagen"
Zeigt alle Vorgänge in Ihrem Auftrag an, die zu einem Fehler geführt haben.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and status_s == "Failed"
| project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
Ausgabedrosselungsprotokolle (Cosmos DB, Power BI, Event Hubs)
Zeigt alle Instanzen an, in denen das Schreiben in eine Ihrer Ausgaben vom Zieldienst gedrosselt wurde.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and parse_json(properties_s).Type in ("DocumentDbOutputAdapterWriteThrottlingError", "EventHubOutputAdapterEventHubThrottlingError", "PowerBIServiceThrottlingError", "PowerBIServiceThrottlingError")
| project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
Vorübergehende Eingabe- und Ausgabefehler
Zeigt alle Fehler im Zusammenhang mit Eingabe und Ausgabe an, die in der Natur zeitweise auftreten.
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and parse_json(properties_s).Type in ("AzureFunctionOutputAdapterTransientError", "BlobInputAdapterTransientError", "DataLakeOutputAdapterTransientError", "DocumentDbOutputAdapterTransientError", "EdgeHubOutputAdapterEdgeHubTransientError", "EventHubBasedInputInvalidOperationTransientError", "EventHubBasedInputOperationCanceledTransientError", "EventHubBasedInputTimeoutTransientError", "EventHubBasedInputTransientError", "EventHubOutputAdapterEventHubTransientError", "InputProcessorTransientFailure", "OutputProcessorTransientError", "ReferenceDataInputAdapterTransientError", "ServiceBusOutputAdapterTransientError", "TableOutputAdapterTransientError")
| project TimeGenerated, Resource, Region_s, OperationName, properties_s, Level, _ResourceId
Zusammenfassung aller Datenfehler in den letzten 7 Tagen
Zusammenfassung aller Datenfehler in den letzten 7 Tagen.
AzureDiagnostics
| where TimeGenerated > ago(7d) //last 7 days
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and parse_json(properties_s).Type == "DataError"
| extend DataErrorType = tostring(parse_json(properties_s).DataErrorType)
| summarize Count=count(), sampleEvent=any(properties_s) by DataErrorType, JobName=Resource
Zusammenfassung aller Fehler in den letzten 7 Tagen
Zusammenfassung aller Fehler in den letzten 7 Tagen.
AzureDiagnostics
| where TimeGenerated > ago(7d) //last 7 days
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS"
| extend ErrorType = tostring(parse_json(properties_s).Type)
| summarize Count=count(), sampleEvent=any(properties_s) by ErrorType, JobName=Resource
Zusammenfassung der Vorgänge "Fehlgeschlagen" in den letzten 7 Tagen
Zusammenfassung der Vorgänge "Fehlgeschlagen" in den letzten 7 Tagen.
AzureDiagnostics
| where TimeGenerated > ago(7d) //last 7 days
| where ResourceProvider == "MICROSOFT.STREAMANALYTICS" and status_s == "Failed"
| summarize Count=count(), sampleEvent=any(properties_s) by JobName=Resource