Monitoring StreamInsight-Leistungsindikatoren und -Ereignisse
Sie können nun mit Ihrer vorhandenen Diagnoseinfrastruktur StreamInsight-Prozesse und -Abfragen mit dem Systemmonitor und der Ereignisanzeige überwachen und die Fehlerbehandlung ausführen.
In diesem Thema
Leistungsindikatoren
Konfigurieren von Leistungsindikatoren
Liste der Leistungsindikatoren
Inwiefern können Leistungsindikatoren hilfreich sein?
Verwaltungsereignisse
Konfigurieren der Verwaltungsprotokollierung
Liste der Verwaltungsereignisse
Leistungsindikatoren
StreamInsight installiert und konfiguriert Leistungsindikatoren. Sie können diese Indikatoren mit dem Systemmonitor oder einem anderen Überwachungstool überwachen.
Leistungsindikatoren sind verfügbar für die folgenden StreamInsight-Objekte:
Server
Abfragen
Eingabeadapter
Stabilität
Konfigurieren von Leistungsindikatoren
Die Leistungsindikatoren werden beim Installieren von StreamInsight installiert und konfiguriert. Diese Setupoption kann nicht konfiguriert werden.
Leistungsindikatoren in der Kategorie „Server“ sind standardmäßig aktiviert, und sie können nicht deaktiviert werden. Leistungsindikatoren in den Kategorien „Abfragen“ und „Eingabeadapter“ sind standardmäßig deaktiviert. Wenn Sie Leistungsindikatoren für eine Abfrage aktivieren, werden auch die Leistungsindikatoren für die zugehörigen Eingabeadapter aktiviert. Beim Neustarten einer Instanz von StreamInsight werden diese Standardverhalten wiederhergestellt.
So aktivieren Sie Leistungsindikatoren für eine einzige Abfrage
Sie aktivieren Leistungsindikatoren für eine bestimmte Abfrage und die zugehörigen Eingabeadapter, indem Sie einen neuen Aspect in einem Aufruf von Server.SetDiagnosticSettings aktivieren.
Sie können beispielsweise den folgenden Code angeben, um die Leistungsindikatoren für die Abfrage mit dem URI cep:/Server/Application/MyApp/Query/MyQuery zu aktivieren.
DiagnosticSettings settings = server.GetDiagnosticSettings(new Uri(“cep:/Server/Application/MyApp/Query/MyQuery”);
Settings.Aspects |= DiagnosticAspect.PerformanceCounters;
server.SetDiagnosticSettings(new Uri(“cep:/Server/Application/MyApp/Query/MyQuery”), settings);
Sie können den folgenden Code verwenden, um die Leistungsindikatoren für dieselbe Abfrage zu deaktivieren.
DiagnosticSettings settings = server.GetDiagnosticSettings(new Uri(“cep:/Server/Application/MyApp/Query/MyQuery”);
Settings.Aspects & ~DiagnosticAspect.PerformanceCounters;
server.SetDiagnosticSettings(new Uri(“cep:/Server/Application/MyApp/Query/MyQuery”), settings);
So aktivieren Sie Leistungsindikatoren für alle Abfragen
Sie können die Leistungsindikatoren für alle Abfragen und Eingabeadapter in einer Anwendung auch mit einer foreach-Schleife aktivieren.
foreach (var q in application.Queries)
{
DiagnosticSettings settings = server.GetDiagnosticSettings(q.Value.Name);
settings.Aspects |= DiagnosticAspect.PerformanceCounters;
server.SetDiagnosticSettings(q.Value.Name, settings);
}
Weitere Informationen zu den Klassen und Methoden in den vorherigen Codebeispielen finden Sie in den folgenden Themen:
[OBEN]
Liste der Leistungsindikatoren
Benennungskonventionen
Zeichenfolgen wie Anwendungsnamen, die länger als 16 Zeichen sind, werden gemäß der folgenden Formel gekürzt: first 10 characters + 2 periods + last 4 characters.
In den spezifischen, unten beschriebenen Benennungskonventionen bezieht sich uniqueid auf die ID des Objekts zur Laufzeit.
Leistungsindikatoren für Server
Benennungskonventionen für Serverinstanzen: %PROCESSNAME%[uniqueid], wobei %PROCESSNAME% der Name des Hostingprozesses ist.
Name |
Beschreibung |
---|---|
Ereignisse in Eingabewarteschlangen |
Die Anzahl der Ereignisse in Eingabewarteschlangen aller Abfragen. |
Ereignisse in Ausgabewarteschlangen |
Die Anzahl der Ereignisse in Ausgabewarteschlangen aller Abfragen. |
Arbeitsspeicher |
Der Arbeitsspeicher (in Bytes), der insgesamt für alle Datenströme, Ereignisse und Operatorindizes genutzt wird. |
Ausgeführte Abfragen |
Die Anzahl der derzeit ausgeführten Abfragen. |
Abfrageanzahl
Benennungskonvention für Abfrageinstanzen: %APPLICATION NAME%,%QUERY NAME%[uniqueid],%SERVER_INSTANCE_NAME%, wobei %SERVER_INSTANCE_NAME% der Instanzname des Servers ist, zu dem die Abfrage gehört.
Name |
Beschreibung |
---|---|
Durchschnittlich erzeugte Ereigniswartezeit |
Die durchschnittliche Wartezeit (in Millisekunden) der von der Abfrage pro Sekunde erzeugten Ereignisse. |
Erzeugte CTIs |
Die Anzahl der erzeugten CTIs. |
Ereignisse in Ausgabewarteschlange |
Die Anzahl der Ereignisse in der Ausgabewarteschlange. |
Erzeugte Ereignisse |
Die Anzahl der erzeugten Ereignisse. |
Arbeitsspeicher |
Der insgesamt genutzte Arbeitsspeicher (in Bytes) für Ereignisse, Indizes und Datenströme. |
Erzeugte Ereignisse/s |
Die Anzahl der pro Sekunde erzeugten Ereignisse. |
Anzahl der Eingabeadapter
Benennungskonvention für Adapterinstanzen: %APPLICATION NAME%,%QUERY NAME%,%ADAPTER NAME%[uniqueid],%SERVER_INSTANCE_NAME%.
Name |
Beschreibung |
---|---|
Angepasste Ereignisse |
Die Anzahl der Ereignisse, deren zeitbezogene Metadaten gemäß der AdvanceTimeSettings-Richtlinie angepasst wurden. |
Eingegebene CTIs |
Die Anzahl der an die Eingabewarteschlange gesendeten CTIs. |
Gelöschte Ereignisse |
Die Anzahl der Ereignisse, die gemäß der AdvanceTimeSettings-Richtlinie gelöscht wurden. |
Ereignisse in Eingabewarteschlange |
Die Anzahl der Ereignisse in der Eingabewarteschlange (einschließlich CTIs). |
Eingehende Ereignisse/s |
Die Anzahl der Ereignisse, die vom Adapter pro Sekunde empfangen wurden. |
Fortsetzungen/s |
Die Anzahl der Statusübergänge in den ausgeführten Status pro Sekunde. |
Aussetzungen/s |
Die Anzahl der Statusübergänge in den angehaltenen Status pro Sekunde. |
Ereignisse in Warteschlangen gesamt |
Die Anzahl der Ereignisse in Warteschlangen. |
[OBEN]
Inwiefern können Leistungsindikatoren hilfreich sein?
Im Folgenden finden Sie Beispiele für Szenarien, in denen Sie anhand von Leistungsindikatoren ein Verständnis der StreamInsight-Anwendungen erlangen, diese überwachen und die Fehlerbehandlung ausführen können:
Server-Szenarien
Speicherbedarf. Welche Speichermenge Speicher beansprucht die eingebettete Instanz von StreamInsight, separat von der Hostinganwendung?
Kapazitätsplanung. Wie viele Abfragen können auf diesem Server ausgeführt werden, bis eine Verschlechterung der Leistung eintritt?
Post-Mortem-Analyse. Wie viele Abfragen wurden beim Serverabsturz ausgeführt?
Abfrage-Szenarien
Überwachen des Durchsatzes. Wo liegt der Engpass?
Überwachen der Wartezeit.
[OBEN]
Verwaltungsereignisse
StreamInsight zeichnet Ereignisse im Windows-Anwendungsereignisprotokoll auf. Sie können dieses Protokoll mit der Ereignisanzeige oder einem anderen Überwachungstool überprüfen. Anhand der protokollierten Ereignisse können Sie Statusänderungen überwachen und die Fehlerbehandlung für Anomalien ausführen, die in den StreamInsight-Anwendungen auftreten.
Ereignisse werden durch die folgenden StreamInsight-Objekte protokolliert:
Server
Abfrage
Konfigurieren der Verwaltungsprotokollierung
Die Verwaltungsprotokollierung ist standardmäßig aktiviert. Sie können die Verwaltungsprotokollierung nur auf der Ebene der StreamInsight-Instanz (cep:/Server/) deaktivieren bzw. aktivieren.
So deaktivieren Sie die Verwaltungsprotokollierung
DiagnosticSettings settings = server.GetDiagnosticSettings(new Uri("cep:/Server/"));
settings.Aspects &= ~DiagnosticAspect.AdminLog;
server.SetDiagnosticSettings(new Uri("cep:/Server/"), settings);
So aktivieren Sie die Verwaltungsprotokollierung
DiagnosticSettings settings = server.GetDiagnosticSettings(new Uri("cep:/Server/"));
settings.Aspects |= DiagnosticAspect.AdminLog;
server.SetDiagnosticSettings(new Uri("cep:/Server/"), settings);
[OBEN]
Liste der Verwaltungsereignisse
In der folgenden Tabelle sind die Ereignisse aufgelistet, die im Ereignisprotokoll enthalten sein können.
Die Quelle für alle StreamInsight-Verwaltungsereignisse ist StreamInsight.
Abfrageereignisse
Symbol |
Ereignis-ID |
Grad |
Meldung |
Parameter |
---|---|---|---|---|
QueryInitializing |
11001 |
Information |
Abfrage {0} wird initialisiert. |
Abfrage-URI |
QueryRunning |
11002 |
Information |
Abfrage {0} wird ausgeführt. |
Abfrage-URI |
QueryCheckpointing |
11003 |
Information |
Abfrage [0} führt die Prüfpunktausführung aus. |
Abfrage-URI |
QueryStopping |
11004 |
Information |
Abfrage {0} wird gestoppt. |
Abfrage-URI |
QuerySuspended |
11005 |
Information |
Abfrage {0} wird angehalten. |
Abfrage-URI |
QueryCompleted |
11006 |
Information |
Abfrage {0} ist abgeschlossen. |
Abfrage-URI |
QueryAborted |
11007 |
Warnung |
Abfrage {0} wird abgebrochen. |
Abfrage-URI |
QueryStopped |
11008 |
Information |
Abfrage {0} wurde gestoppt. |
Abfrage-URI |
QueryError |
11500 |
Warnung |
Für Abfrage {0} ist eine Ausnahme aufgetreten. Ausnahmedetails: {1} |
Abfrage-URI, Ausnahmemeldung. |
QueryRecoveryError |
11501 |
Fehler |
Für Abfrage {0} ist während der Wiederherstellung eine Ausnahme aufgetreten. Ausnahmedetails: {1} |
Abfrage-URI, Ausnahmemeldung. |
QueryCheckpointError |
11502 |
Fehler |
Für Abfrage {0} ist während der Prüfpunktausführung eine Ausnahme aufgetreten. Ausnahmedetails: {1} |
Abfrage-URI, Ausnahmemeldung. |
Serverereignisse
Symbol |
Ereignis-ID |
Grad |
Meldung |
Parameter |
---|---|---|---|---|
ServerCreated |
1000 |
Information |
Server wurde erstellt. |
|
ServerDisposed |
1001 |
Information |
Server wurde freigegeben. |
[OBEN]