SlideShare una empresa de Scribd logo
1 de 47
Descargar para leer sin conexión
Monitoring 2.0 – Alles im Lot?
Nico Orschel, MVP @ AIT, DE
Marc Müller, MVP @ 4tecture, CH
▪
▪
Plan Build Release
Measure
Learn
Build
4
… ist ein Überbegriff für alle Arten der unmittelbaren
systematischen Erfassung
(Protokollierung), Messung, Beobachtung oder
Überwachung eines Vorgangs oder Prozesses mittels
technischer Hilfsmittel (zum Beispiel Langzeit-EKG) oder anderer
Beobachtungssysteme. Dabei ist die wiederholte regelmäßige
Durchführung ein zentrales Element der jeweiligen
Untersuchungsprogramme, um anhand von
Ergebnisvergleichen Schlussfolgerungen ziehen zu können
(siehe auch Längsschnittstudie).
5
6
7
Ziel: Primäre technische Kennzahlen vom Server
Beispiele:
- CPU / Memory Utilization
- Response Time
- Transferred Data
- Data Transfer Rate (e.g MBits/sec)
- Connections
- …
8
Ziel: Primäre technische Kennzahlen aus der
Applikation
9
Beispiele:
- Exceptions Client
- Exceptions Server
- Stacktraces
- Non responsive external
Services (Salesforce, SAP,
CRM, Internal Services, …)
Ziel: Überwachung der (Business-)Prozesse
Beispiele:
- Welche Features meiner Anwendung werden
„tatsächlich“ genutzt?
- Wie intensiv werden Features genutzt?
- In welche Features müssen wir investieren?
- Wird die Anwendung aus Kundenperspektive
langsamer?
10
11
Unser Fokus heute: Microsoft Azure Application
Insights
Framework zur Überwachung von Anwendungs-
Telemetriedaten
Alternativen:
PreEmptive Analytics, New Relic Software
Analytics
12
Where do we invest next?
Show
Notifications & Insights Usage
14
Fallstudie
WebApp
15
Problemstellung
Enterprise
Portal
SAP
Salesforce
Navision
Kunden
WebServices
Problem:
a) Zyklische Überwachung eines extern. erreichbaren
Webportals
b) Seite enthält viel JavaScript Logik sowie ext. Services
Lösung:
Monitoring der Verfügbarkeit über WebTests
- Aufzeichnung via VS Ultimate, Fiddler
- Direkte Ausführung via Azure Portal
Testen von komplexer JavaScript Logik
JavaScript Code teilweise voneinander abhängig
Externe Services überwachen (ohne die Möglichkeit
AI zu integrieren)
20
Problem:
a) Services ggf. schlecht via webtest überwachbar
b) Daten sollen im globalen Monitoring überwacht werden
Lösung:
Verwendung von anderen Testing Frameworks / CMD
- CodedWebTests
- Unit Tests (MSTest, Xunit,…)
Reporting und Fehleranalyse durch eigene Zusatzdaten via Azure
AI SDK
Ausführung zyklisch via Task Scheduler/CMD
21
Problem:
a) Prüfen ob Kernszenarien (End2End) noch funktionieren
b) WebApp setzt intensiv auf JavaScript
Lösung:
Funktionale Tests via UI oder Unit Tests (Selenium, CodedUI, ...)
Ausführung: Zyklisch via CMD / Task Scheduler
Reporting und Fehleranalyse durch eigene Zusatzdaten via Azure
AI SDK
23
Application Insights
24
AI Telemetry for Services
WebTests Browser Server
URL
Ping
WebTests
Insert
Javascript
snipet
Custom
Events
MMA (default): APM
Perf, Exception,
Memory
Java: APM, Perf,
Exception
Custom
Events
Default
Server
Side
Events
Collect
Logs
Nlog
Log4Net
Trace
MMA
(custom):
Windows
Perf
Counters
Build
Events
Easy to configure: No coding, simple, fast, few clicks.
Legend:
Requires more time: could require coding, more clicks.
AI Telemetry for Services
Web
Tests
Browser Server
URL
Ping
WebTest
s
Insert
Javascript
snipet
Custom
Events
MMA (default): APM
Perf, Exception,
Memory
Java: APM, Perf,
Exception
Custo
m
Events
Default
Server
Side
Events
Collect
Logs
Nlog
Log4Net
Trace
MMA
(custom):
Windows
Perf
Counters
Build
Events
Easy to configure: No coding, simple, fast, few clicks.
Legend:
Requires more time: could require coding, more clicks.
HockeyApp
Mobile, UWP,
WPF, WinForms,
…
Custo
m
Event
s
Collect Logs,
Exceptions,
Feedback
What is Application Insights?
Telemetry is collected at each
tier: server applications and
browser1
Telemetry arrives in the
Application Insights service in the
cloud where it is processed &
stored
Get a 360° view of the application
including availability, performance
and usage patterns
3
2
1
Outside-in monitoring
URL pings and web tests from 16
global points of presence
Observed user behavior
How is the application being used?2
Developer traces and events
Whatever the developer would like to
send to Application Insights
3
Observed application behavior
No coding required – service dependencies,
queries, response time, exceptions, logs, etc.
4
Infrastructure performance
System performance counters5
Availability
Ist meine Applikation / meine Services noch
verfügbar?
Http basierte Webtests
▪
▪
Alert
▪
▪
Ping auf URL WebTests
Tracking
JavaScript bei Page Load
▪
▪
Async, Queued
<script type="text/javascript">
var appInsights = window.appInsights || function (config) {
function r(config) { t[config] = function () { var i = arguments; t.queue.push(function () { t[config].apply(t, i) }) } } var t = { config: config }, u = document, e =
window, o = "script", s = u.createElement(o), i, f; for (s.src = config.url || "//az416426.vo.msecnd.net/scripts/a/ai.0.js",
u.getElementsByTagName(o)[0].parentNode.appendChild(s), t.cookie = u.cookie, t.queue = [], i = ["Event", "Exception", "Metric", "PageView", "Trace"]; i.length;) r("track" +
i.pop()); return r("setAuthenticatedUserContext"), r("clearAuthenticatedUserContext"), config.disableExceptionTracking || (i = "onerror", r("_" + i), f = e[i], e[i] = function
(config, r, u, e, o) { var s = f && f(config, r, u, e, o); return s !== !0 && t["_" + i](config, r, u, e, o), s }), t
}({
instrumentationKey: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
});
window.appInsights = appInsights;
appInsights.trackPageView();
</script>
34
Quelle: https://azure.microsoft.com/en-
us/documentation/articles/app-insights-api-custom-
events-metrics/
Beispiele: TrackPageView, TrackEvent, TrackMetric,
TrackException, TrackRequest, TrackTrace,
TrackDependency
Beispiel:
var telemetryClient = new TelemetryClient();
telemetryClient.TrackEvent($"Generating {numberOfBooks} books");
Performance
Überwachung des Ausführungsprozesses
Überwachung der Performance Indikatoren
Installation auf Zielsystem notwendig
Ergebnis – 360 Grad Monitoring
38
Analyse von allen AI Daten über eigene Abfragen
im Browser
Codename: Kusto
43
44
45
Power BI
▪
▪
46
KONTAKT
Nico.Orschel@aitgmbh.de
+49 151 55052624
AIT GmbH & Co. KG
Leitzstr. 45, 70469 Stuttgart
www.aitgmbh.de
BERATUNG
Agile ALM und TFS
.NET und Architektur
ENTWICKLUNG
Dienstleister für individuelle
Lösungen mit .NET und Azure
© AIT GmbH & Co. KG – Alle genannten und gezeigten Marken oder Warenzeichen sind eingetragene Marken oder eingetragene Warenzeichen ihrer jeweiligen Eigentümer und ggf. nicht gesondert gekennzeichnet. Aus dem Fehlen der
Kennzeichnung kann nicht geschlossen werden, daß es sich bei einem Begriff oder einem Bild nicht um eine eingetragene Marke oder ein eingetragenes Warenzeichen handelt.
Marc Müller
Principal Consultant
für DevOps, ALM, TFS /VS, .NET
E-Mail: marc.mueller@4tecture.ch
Webseite: http://www.4tecture.ch
Schulungen: http://4tecture.ch/trainings
Blog: http://4tecture.ch/blog
Twitter: @muellermarc
- https://azure.microsoft.com/en-
us/documentation/articles/app-insights-
analytics/
- https://azure.microsoft.com/en-
us/documentation/articles/app-insights-web-
monitor-performance/
- https://azure.microsoft.com/en-
us/documentation/articles/app-insights-
proactive-detection/

Más contenido relacionado

Similar a Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?

Make it simple! Mit automatisierten workflows aus der Cloud
Make it simple! Mit automatisierten workflows aus der CloudMake it simple! Mit automatisierten workflows aus der Cloud
Make it simple! Mit automatisierten workflows aus der Cloud
proficom
 
Automatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit SeleniumAutomatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit Selenium
Benjamin Schmid
 
Oracle workshop sessiontracing
Oracle workshop sessiontracingOracle workshop sessiontracing
Oracle workshop sessiontracing
ciganek
 

Similar a Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot? (20)

95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
 
Make it simple! Mit automatisierten workflows aus der Cloud
Make it simple! Mit automatisierten workflows aus der CloudMake it simple! Mit automatisierten workflows aus der Cloud
Make it simple! Mit automatisierten workflows aus der Cloud
 
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon DickmeißReal Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
Real Application Testing - DOAG SIG Database 2010 - Simon Dickmeiß
 
Automatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit SeleniumAutomatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit Selenium
 
Best Practices für TDD in JavaScript
Best Practices für TDD in JavaScriptBest Practices für TDD in JavaScript
Best Practices für TDD in JavaScript
 
Open icf (open identity connector framework) @ forgerock deutsch
Open icf (open identity connector framework) @ forgerock   deutschOpen icf (open identity connector framework) @ forgerock   deutsch
Open icf (open identity connector framework) @ forgerock deutsch
 
A/B Testing mit Node.js
A/B Testing mit Node.jsA/B Testing mit Node.js
A/B Testing mit Node.js
 
Oracle workshop sessiontracing
Oracle workshop sessiontracingOracle workshop sessiontracing
Oracle workshop sessiontracing
 
Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus Microprofile-Anwendungen mit Quarkus
Microprofile-Anwendungen mit Quarkus
 
BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...
BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...
BASTA 2016 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch...
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration Tools
 
GWT
GWTGWT
GWT
 
Zeitnahe Reaktion auf Verordnungsänderungen mit Feature Toggles
Zeitnahe Reaktion auf Verordnungsänderungen mit Feature TogglesZeitnahe Reaktion auf Verordnungsänderungen mit Feature Toggles
Zeitnahe Reaktion auf Verordnungsänderungen mit Feature Toggles
 
AdvancedTdd
AdvancedTddAdvancedTdd
AdvancedTdd
 
.NET Summit 2016 München: EcmaScript 2015+ with TypeScript
.NET Summit 2016 München: EcmaScript 2015+ with TypeScript.NET Summit 2016 München: EcmaScript 2015+ with TypeScript
.NET Summit 2016 München: EcmaScript 2015+ with TypeScript
 
Basta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der CloudBasta 2016 - Test- und Releaseumgebungen in der Cloud
Basta 2016 - Test- und Releaseumgebungen in der Cloud
 
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
 
ICIS User Group - Oberflächentests mittels LCT deklarativ angehen
ICIS User Group - Oberflächentests mittels LCT deklarativ angehenICIS User Group - Oberflächentests mittels LCT deklarativ angehen
ICIS User Group - Oberflächentests mittels LCT deklarativ angehen
 
Projektsteckbrief Perlen Papier
Projektsteckbrief Perlen PapierProjektsteckbrief Perlen Papier
Projektsteckbrief Perlen Papier
 
JavaFX Real-World Apps
JavaFX Real-World AppsJavaFX Real-World Apps
JavaFX Real-World Apps
 

Más de Marc Müller

Más de Marc Müller (20)

.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
 
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
Dev-Cloud Conference 2023 - Continuous Deployment Showdown: Traditionelles CI...
 
.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps
.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps
.NET Day - Continuous Deployment Showdown: Traditional CI/CD vs. GitOps
 
DWX 2023 - GitHub Actions für Azure-DevOps-Pipelines-Benutzer
DWX 2023 - GitHub Actions für Azure-DevOps-Pipelines-BenutzerDWX 2023 - GitHub Actions für Azure-DevOps-Pipelines-Benutzer
DWX 2023 - GitHub Actions für Azure-DevOps-Pipelines-Benutzer
 
DWX 2023 - Datenbank-Schema Deployment im Kubernetes Release
DWX 2023 - Datenbank-Schema Deployment im Kubernetes ReleaseDWX 2023 - Datenbank-Schema Deployment im Kubernetes Release
DWX 2023 - Datenbank-Schema Deployment im Kubernetes Release
 
DWX 2023 - Schnelles Feedback mit Pull-Request Deployments
DWX 2023 - Schnelles Feedback mit Pull-Request DeploymentsDWX 2023 - Schnelles Feedback mit Pull-Request Deployments
DWX 2023 - Schnelles Feedback mit Pull-Request Deployments
 
DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...
DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...
DWX 2023 - .NET-Microservices mit Dapr: Zu viel Abstraktion oder der richtige...
 
Global Azure Austria 2023 - Fast feedback with pull request deployments
Global Azure Austria 2023 - Fast feedback with pull request deploymentsGlobal Azure Austria 2023 - Fast feedback with pull request deployments
Global Azure Austria 2023 - Fast feedback with pull request deployments
 
BASTA Spring 2023 - SCHNELLES FEEDBACK MIT PULL REQUEST DEPLOYMENTS
BASTA Spring 2023 - SCHNELLES FEEDBACK MIT PULL REQUEST DEPLOYMENTSBASTA Spring 2023 - SCHNELLES FEEDBACK MIT PULL REQUEST DEPLOYMENTS
BASTA Spring 2023 - SCHNELLES FEEDBACK MIT PULL REQUEST DEPLOYMENTS
 
BASTA Spring 2023 - AUTOMATISIERTES DATENBANK-DEPLOYMENT IM DEVOPS-PROZESS
BASTA Spring 2023 - AUTOMATISIERTES DATENBANK-DEPLOYMENT IM DEVOPS-PROZESSBASTA Spring 2023 - AUTOMATISIERTES DATENBANK-DEPLOYMENT IM DEVOPS-PROZESS
BASTA Spring 2023 - AUTOMATISIERTES DATENBANK-DEPLOYMENT IM DEVOPS-PROZESS
 
BASTA! 2022 - Einführung in Helm, der Paket-Manger für Kubernetes
BASTA! 2022 - Einführung in Helm, der Paket-Manger für KubernetesBASTA! 2022 - Einführung in Helm, der Paket-Manger für Kubernetes
BASTA! 2022 - Einführung in Helm, der Paket-Manger für Kubernetes
 
BASTA! 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
 BASTA! 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess BASTA! 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
BASTA! 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
 
BASTA! 2022 - GitHub Actions für Nutzer der Azure DevOps Pipelines
 BASTA! 2022 - GitHub Actions für Nutzer der Azure DevOps Pipelines BASTA! 2022 - GitHub Actions für Nutzer der Azure DevOps Pipelines
BASTA! 2022 - GitHub Actions für Nutzer der Azure DevOps Pipelines
 
.NET Day 2022 - Fast feedback with pull request deployments
.NET Day 2022 - Fast feedback with pull request deployments.NET Day 2022 - Fast feedback with pull request deployments
.NET Day 2022 - Fast feedback with pull request deployments
 
DWX 2022 - DevSecOps mit GitHub
DWX 2022 - DevSecOps mit GitHubDWX 2022 - DevSecOps mit GitHub
DWX 2022 - DevSecOps mit GitHub
 
DWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
DWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-ProzessDWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
DWX 2022 - Automatisiertes Datenbank-Deployment im DevOps-Prozess
 
Einführung in Helm - der Paket-Manger für Kubernetes
Einführung in Helm - der Paket-Manger für KubernetesEinführung in Helm - der Paket-Manger für Kubernetes
Einführung in Helm - der Paket-Manger für Kubernetes
 
DWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
DWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOpsDWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
DWX 2022 - Top 10 Best-Practices für YAML-Pipelines in Azure DevOps
 
Helm introduction
Helm introductionHelm introduction
Helm introduction
 
ADCD 2022 - Handling secrets in the release process with Azure DevOps and Azu...
ADCD 2022 - Handling secrets in the release process with Azure DevOps and Azu...ADCD 2022 - Handling secrets in the release process with Azure DevOps and Azu...
ADCD 2022 - Handling secrets in the release process with Azure DevOps and Azu...
 

Karlsruher Entwicklertag 2016 - Monitoring 2.0: Alles im Lot?

  • 1. Monitoring 2.0 – Alles im Lot? Nico Orschel, MVP @ AIT, DE Marc Müller, MVP @ 4tecture, CH
  • 4. … ist ein Überbegriff für alle Arten der unmittelbaren systematischen Erfassung (Protokollierung), Messung, Beobachtung oder Überwachung eines Vorgangs oder Prozesses mittels technischer Hilfsmittel (zum Beispiel Langzeit-EKG) oder anderer Beobachtungssysteme. Dabei ist die wiederholte regelmäßige Durchführung ein zentrales Element der jeweiligen Untersuchungsprogramme, um anhand von Ergebnisvergleichen Schlussfolgerungen ziehen zu können (siehe auch Längsschnittstudie). 5
  • 5. 6
  • 6. 7
  • 7. Ziel: Primäre technische Kennzahlen vom Server Beispiele: - CPU / Memory Utilization - Response Time - Transferred Data - Data Transfer Rate (e.g MBits/sec) - Connections - … 8
  • 8. Ziel: Primäre technische Kennzahlen aus der Applikation 9 Beispiele: - Exceptions Client - Exceptions Server - Stacktraces - Non responsive external Services (Salesforce, SAP, CRM, Internal Services, …)
  • 9. Ziel: Überwachung der (Business-)Prozesse Beispiele: - Welche Features meiner Anwendung werden „tatsächlich“ genutzt? - Wie intensiv werden Features genutzt? - In welche Features müssen wir investieren? - Wird die Anwendung aus Kundenperspektive langsamer? 10
  • 10. 11
  • 11. Unser Fokus heute: Microsoft Azure Application Insights Framework zur Überwachung von Anwendungs- Telemetriedaten Alternativen: PreEmptive Analytics, New Relic Software Analytics 12
  • 12. Where do we invest next? Show Notifications & Insights Usage
  • 13. 14
  • 17. Problem: a) Zyklische Überwachung eines extern. erreichbaren Webportals b) Seite enthält viel JavaScript Logik sowie ext. Services Lösung: Monitoring der Verfügbarkeit über WebTests - Aufzeichnung via VS Ultimate, Fiddler - Direkte Ausführung via Azure Portal
  • 18. Testen von komplexer JavaScript Logik JavaScript Code teilweise voneinander abhängig Externe Services überwachen (ohne die Möglichkeit AI zu integrieren) 20
  • 19. Problem: a) Services ggf. schlecht via webtest überwachbar b) Daten sollen im globalen Monitoring überwacht werden Lösung: Verwendung von anderen Testing Frameworks / CMD - CodedWebTests - Unit Tests (MSTest, Xunit,…) Reporting und Fehleranalyse durch eigene Zusatzdaten via Azure AI SDK Ausführung zyklisch via Task Scheduler/CMD 21
  • 20. Problem: a) Prüfen ob Kernszenarien (End2End) noch funktionieren b) WebApp setzt intensiv auf JavaScript Lösung: Funktionale Tests via UI oder Unit Tests (Selenium, CodedUI, ...) Ausführung: Zyklisch via CMD / Task Scheduler Reporting und Fehleranalyse durch eigene Zusatzdaten via Azure AI SDK 23
  • 22. AI Telemetry for Services WebTests Browser Server URL Ping WebTests Insert Javascript snipet Custom Events MMA (default): APM Perf, Exception, Memory Java: APM, Perf, Exception Custom Events Default Server Side Events Collect Logs Nlog Log4Net Trace MMA (custom): Windows Perf Counters Build Events Easy to configure: No coding, simple, fast, few clicks. Legend: Requires more time: could require coding, more clicks.
  • 23. AI Telemetry for Services Web Tests Browser Server URL Ping WebTest s Insert Javascript snipet Custom Events MMA (default): APM Perf, Exception, Memory Java: APM, Perf, Exception Custo m Events Default Server Side Events Collect Logs Nlog Log4Net Trace MMA (custom): Windows Perf Counters Build Events Easy to configure: No coding, simple, fast, few clicks. Legend: Requires more time: could require coding, more clicks. HockeyApp Mobile, UWP, WPF, WinForms, … Custo m Event s Collect Logs, Exceptions, Feedback
  • 24. What is Application Insights? Telemetry is collected at each tier: server applications and browser1 Telemetry arrives in the Application Insights service in the cloud where it is processed & stored Get a 360° view of the application including availability, performance and usage patterns 3 2
  • 25. 1 Outside-in monitoring URL pings and web tests from 16 global points of presence Observed user behavior How is the application being used?2 Developer traces and events Whatever the developer would like to send to Application Insights 3 Observed application behavior No coding required – service dependencies, queries, response time, exceptions, logs, etc. 4 Infrastructure performance System performance counters5
  • 27. Ist meine Applikation / meine Services noch verfügbar? Http basierte Webtests ▪ ▪ Alert ▪ ▪
  • 28. Ping auf URL WebTests
  • 30. JavaScript bei Page Load ▪ ▪ Async, Queued <script type="text/javascript"> var appInsights = window.appInsights || function (config) { function r(config) { t[config] = function () { var i = arguments; t.queue.push(function () { t[config].apply(t, i) }) } } var t = { config: config }, u = document, e = window, o = "script", s = u.createElement(o), i, f; for (s.src = config.url || "//az416426.vo.msecnd.net/scripts/a/ai.0.js", u.getElementsByTagName(o)[0].parentNode.appendChild(s), t.cookie = u.cookie, t.queue = [], i = ["Event", "Exception", "Metric", "PageView", "Trace"]; i.length;) r("track" + i.pop()); return r("setAuthenticatedUserContext"), r("clearAuthenticatedUserContext"), config.disableExceptionTracking || (i = "onerror", r("_" + i), f = e[i], e[i] = function (config, r, u, e, o) { var s = f && f(config, r, u, e, o); return s !== !0 && t["_" + i](config, r, u, e, o), s }), t }({ instrumentationKey: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" }); window.appInsights = appInsights; appInsights.trackPageView(); </script>
  • 31. 34
  • 32. Quelle: https://azure.microsoft.com/en- us/documentation/articles/app-insights-api-custom- events-metrics/ Beispiele: TrackPageView, TrackEvent, TrackMetric, TrackException, TrackRequest, TrackTrace, TrackDependency Beispiel: var telemetryClient = new TelemetryClient(); telemetryClient.TrackEvent($"Generating {numberOfBooks} books");
  • 34. Überwachung des Ausführungsprozesses Überwachung der Performance Indikatoren Installation auf Zielsystem notwendig
  • 35. Ergebnis – 360 Grad Monitoring 38
  • 36.
  • 37.
  • 38.
  • 39. Analyse von allen AI Daten über eigene Abfragen im Browser Codename: Kusto
  • 40. 43
  • 41. 44
  • 42. 45
  • 44. KONTAKT Nico.Orschel@aitgmbh.de +49 151 55052624 AIT GmbH & Co. KG Leitzstr. 45, 70469 Stuttgart www.aitgmbh.de BERATUNG Agile ALM und TFS .NET und Architektur ENTWICKLUNG Dienstleister für individuelle Lösungen mit .NET und Azure © AIT GmbH & Co. KG – Alle genannten und gezeigten Marken oder Warenzeichen sind eingetragene Marken oder eingetragene Warenzeichen ihrer jeweiligen Eigentümer und ggf. nicht gesondert gekennzeichnet. Aus dem Fehlen der Kennzeichnung kann nicht geschlossen werden, daß es sich bei einem Begriff oder einem Bild nicht um eine eingetragene Marke oder ein eingetragenes Warenzeichen handelt.
  • 45. Marc Müller Principal Consultant für DevOps, ALM, TFS /VS, .NET E-Mail: marc.mueller@4tecture.ch Webseite: http://www.4tecture.ch Schulungen: http://4tecture.ch/trainings Blog: http://4tecture.ch/blog Twitter: @muellermarc
  • 46.