Definieren und Erfassen von Telemetriedaten

Die Telemetrie beschäftigt sich mit der Erfassung von Metriken zur Systemüberwachung, um das Systemverhalten zu beobachten und zu verstehen. Telemetrie wird für Folgendes verwendet: 

  • Zur Messung der System-Performance, um Baselines zu definieren und zu vergleichen 
  • Zur Überprüfung, ob das System die zur Unterstützung definierter Workflows erforderlichen Anforderungen erfüllt oder übertrifft 
  • Zur Identifizierung von Diskrepanzen bei Latenzen, Indizes, Engpässen und dem Gesamtzustand des Systems 
  • Zum Bestimmen von Optimierungsmöglichkeiten für das System, um die User Experience zu verbessern 

Mit Werkzeugen zur Überwachung der IT-Infrastruktur können Systemprotokolle und Informationen zur User Experience erfasst werden, um ganzheitliche Metriken zu sammeln. Wenn sich Ihre ArcGIS-Implementierung in einer öffentlichen Cloud befindet, gibt es Services für die Überwachung des gesamten Systems, wie z. B. AWS CloudWatch oder Azure Monitor. Darüber hinaus sind Werkzeuge zur Überwachung der System-Performance wie der Windows-Leistungsmonitor (PerfMon) hilfreich, um in Echtzeit grundlegende Informationen in Bezug auf CPU, Arbeitsspeicher, Netzwerk und Datenträger zu erhalten und Protokolle zur Nachverfolgung von Trends und langfristigen Problemen zu erfassen. 

In den einzelnen Testphasen und der Erfassungsumgebung sind unterschiedliche Granularitätsebenen der Telemetrie angebracht. So kann beispielsweise eine ausführliche Protokollierung bei der Problembehandlung in einer Testumgebung durchaus hilfreich sein, während sie in der Produktionsumgebung zu Performance-Beeinträchtigungen für die Endbenutzer führen könnte. 

Erfassungszeitpunkt

Systemtelemetrie ist hilfreich, um Performance, Integrität und Gesamtverhalten eines Systems zu überwachen und zu verwalten. Die Erfassung von Telemetriedaten empfiehlt sich in folgenden Situationen: 

  • In Echtzeit für ein kontinuierliches Systemmanagement und eine proaktive Problemerkennung
  • Für eine langfristige Trendanalyse kann die Erfassung von Telemetriedaten über längere Zeiträume als Grundlage für strategische Entscheidungen in Bezug auf Systemoptimierungen, Hardware-Upgrades oder Softwareverbesserungen dienen. 
  • Bei Leistungs- und Lasttests, um die System-Performance ganzheitlich zu verstehen und die zukünftige Architektur so zu gestalten, dass potenzielle Probleme und Risiken auf ein Minimum reduziert werden.  
  • Apache JMeter ist ein Open-Source-Werkzeug, mit dem eine hohe Belastung von Servern, Netzwerken oder Objekten simuliert werden kann, um die Stärke zu testen oder die Gesamtperformance unter verschiedenen Lasttypen zu analysieren. 
  • Bei der Problembehandlung oder beim Debuggen kann die Telemetrie unverzichtbare Informationen für die Problemdiagnose liefern.

Es gibt mehrere Werkzeugoptionen, die zum Erfassen und Analysieren von Telemetriedaten für verschiedene ArcGIS-Komponenten verwendet werden können. Eines dieser Werkzeuge, ArcGIS Monitor, erfasst Metriken zu Komponenten im gesamten System, z. B. zu Servern, Services, Portalen und Geodatabases. Unten sind weitere Beispiele aufgeführt. Dabei handelt es sich jedoch nicht um eine vollständige Liste von Werkzeugen, die zum Erfassen von Telemetriedaten verwendet werden können.

Client-Telemetrie

In der Client-Umgebung können sich Performance-Probleme beispielweise durch langsames Rendern von Karten oder durch übermäßig lange Wartezeiten bemerkbar machen. 

  • ArcGIS Pro Performance Assessment Tool (PAT): Führt Tests durch, mit denen die Fähigkeit eines Computers beurteilt wird, wichtige ArcGIS Pro-Workflows auszuführen. Sie können damit etwaige Performance-Probleme selbst oder mit der Hilfe des technischen Supports von Esri untersuchen. 
  • ArcGIS Pro Diagnostic Monitor: Kann die Diagnose verschiedener Anwendungsprobleme wie z. B. nicht reagierende Systeme, übermäßiger Ressourcenverbrauch, Funktionsfehler und Performance-Verschlechterungen unterstützen. 
  • Fiddler-Protokolle: Helfen bei der Überwachung des Webdatenverkehrs, wenn Services von Client-Anwendungen verwendet werden.  
  • Screenshots: Zusätzlich zu quantitativen Telemetriedaten sollten auch qualitative Metriken erfasst werden, indem die User Experience zur Evaluierung der Performance beobachtet wird. 

Web Analytics

Eine gängige Vorgehensweise zum Erfassen von Telemetriedaten ist der Einsatz von clientseitigen JavaScript-Bibliotheken, die in Webseiten eingebettet sind. Sie werden in den Client-Browser geladen und senden Telemetrieinformationen an einen zentralen Erfassungs- oder Aggregationsdienst. Diese Ansätze werden in der Regel durch einen kommerziellen Anbieter oder ein Open-Source-Framework oder -Muster ermöglicht. Beispiele hierfür sind u. a. Google Analytics und Adobe Experience Cloud. Die meisten Dienste umfassen eine Analysefunktion zum Abfragen und Bearbeiten der erfassten Daten.

Webanalysen werden in der Regel durch Cookies und andere Browserkomponenten verfolgt, wobei möglicherweise Einschränkungen in Bezug auf den Datenschutz zu berücksichtigen sind. Sie sollten sich daher in enger Zusammenarbeit mit Ihrem Webhosting- oder IT-Team über die Auswirkungen der Durchführung von Webanalysen informieren. Bei der Webanalyse wird das gesamte Benutzerverhalten auf einer Webseite erfasst, einschließlich der Mausbewegungen, Interaktionen und Eingaben. Sie kann wertvolle Einblicke liefern, wie Benutzer einen Prozess durchlaufen, wie sie Seiten wechseln und welche Seiten und Interaktionen längere oder ausführlichere Sitzungen auf Ihrer Website auslösen. In benutzerdefinierten Anwendungen können bestimmte Indikatoren über JavaScript an Webanalysesysteme gesendet werden. So könnten Sie beispielsweise festellen, wie oft ein Benutzer eine Karte geschwenkt hat, welche Zoomstufe am häufigsten verwendet wird oder welche Features am häufigsten abgefragt werden.

Die Implementierung von Webanalysen erfolgt in der Regel durch Hinzufügen eines <script>-Tags zum <head>-Tag eines HTML-Dokuments oder einer Webseite. Dies lässt sich beim Bereitstellen einer benutzerdefinierten Webseite oder Anwendung leicht umsetzen. Für die Arbeit mit serienmäßig gefertigten ArcGIS-Webanwendungen kann die Implementierung von Webanalysen jedoch eingeschränkt sein, da die Bearbeitung des standardmäßigen HTML- oder Seitenindex von diesen Seiten nicht unterstützt wird. Derzeit bestehen folgende Einschränkungen in Bezug auf das Einfügen von Webanalysen in serienmäßig gefertigte ArcGIS-Webanwendungen:

  • ArcGIS Hub: Unterstützt das Einfügen von Google Analytics 4, Adobe Analytics und Siteimprove Analytics. Weitere Informationen hierzu finden Sie in der Dokumentation.
  • ArcGIS Instant Apps: Unterstützt das Einfügen von Google Analytics- und Adobe Analytics-Tracking. Weitere Informationen hierzu finden Sie in der Dokumentation.
  • ArcGIS Story Maps: Unterstützt Google Analytics und Adobe Analytics, einschließlich bestimmter Eigenschaften, die an Adobe Analytics gesendet werden. Weitere Informationen hierzu finden Sie in der Story Maps-Dokumentation.
  • ArcGIS Experience Builder: Unterstützt das Einfügen von Google Analytics Tracking-Codes. Weitere Informationen hierzu finden Sie in der Dokumentation sowie in einem kürzlich erschienenen Blogbeitrag.

ArcGIS Enterprise

In ArcGIS Enterprise können Sie nach schwerwiegenden Fehlern in den Server- und Portal-Komponenten suchen, wie z. B. Service-Abstürze oder andere Ereignisse, die die Performance beeinträchtigen oder den Service unterbrechen.  

  • ArcGIS Server-Protokolle: Sie helfen bei der Überwachung und der Fehlersuche bei Problemen mit der Server-Site. Mithilfe von Protokollen können Sie Fehler identifizieren und Kontext zum Beheben von Problemen bereitstellen.  

Datenbanken

Auf Datenbankebene können Sie mithilfe von Telemetriedaten nach Problemen suchen, z. B. nach SQL-Abfragen mit schlechter Performance oder langen System-Wartezeiten. RDBMS-Werkzeuge verfügen in der Regel über integrierte Optionen zum Identifizieren und Beheben von Problemen. Beispielsweise können Datenbankadministratoren mit der Query Store-Funktion von SQL Server die Performance von Abfragen überwachen und verwalten, die in einer SQL Server-Datenbank ausgeführt werden.Es können Berichte und Warnungen konfiguriert werden, die problematische Benutzeraktivitäten oder Probleme mit der Konfiguration von Datenbankservern oder Instanzen identifizieren oder Möglichkeiten zur Optimierung der Performance von Abfragen mittels Indizes, Caches, Partitionierung oder anderen Techniken aufzeigen können.

Top