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]