SlideShare a Scribd company logo
1 of 49
Download to read offline
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
Build und Release Automation mit TFS 2015 / VSTS
21.06.2016 11:45 - 12:45 Uhr Track: ALM
Performance & Load Testing mit Visual Studio
21.06.2016 14:15 - 16:15 Uhr Track: Performance
Continuous Quality
22.06.2016 09:00 - 10:00 Uhr Track: Better Coding
Agile Methoden in verteilten Teams
22.06.2016 14:15 - 15:15 Uhr Track: Agile
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/

More Related Content

Similar to DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot?

Einführung in die funktionale Programmierung
Einführung in die funktionale ProgrammierungEinführung in die funktionale Programmierung
Einführung in die funktionale ProgrammierungDigicomp Academy AG
 
Skripting prüfung, automatisierung und funktionserweiterung - Sebastian-Nic...
Skripting   prüfung, automatisierung und funktionserweiterung - Sebastian-Nic...Skripting   prüfung, automatisierung und funktionserweiterung - Sebastian-Nic...
Skripting prüfung, automatisierung und funktionserweiterung - Sebastian-Nic...MAX2014DACH
 
#SUGDE Sitecore Gesundheit
#SUGDE Sitecore Gesundheit #SUGDE Sitecore Gesundheit
#SUGDE Sitecore Gesundheit chriswoj
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application SecurityJonathan Weiss
 
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ßOPITZ CONSULTING Deutschland
 
Testmanagement mit Visual Studio 2013
Testmanagement mit Visual Studio 2013Testmanagement mit Visual Studio 2013
Testmanagement mit Visual Studio 2013Nico Orschel
 
Automatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit SeleniumAutomatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit SeleniumBenjamin Schmid
 
Große Applikationen mit AngularJS
Große Applikationen mit AngularJSGroße Applikationen mit AngularJS
Große Applikationen mit AngularJSSebastian Springer
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsAndreas Schreiber
 
Oracle workshop sessiontracing
Oracle workshop sessiontracingOracle workshop sessiontracing
Oracle workshop sessiontracingciganek
 
ScriptRunner - Eine Einführung
ScriptRunner - Eine EinführungScriptRunner - Eine Einführung
ScriptRunner - Eine EinführungHeiko Brenn
 
PAVONE Espresso Workflow für Java EE
PAVONE Espresso Workflow für Java EEPAVONE Espresso Workflow für Java EE
PAVONE Espresso Workflow für Java EEUdo Sill
 
Sicherheit in Single-Page-Web-Anwendungen
Sicherheit in Single-Page-Web-AnwendungenSicherheit in Single-Page-Web-Anwendungen
Sicherheit in Single-Page-Web-AnwendungenPhilipp Burgmer
 
Technologieraum übergreifende Programmierung
Technologieraum übergreifende ProgrammierungTechnologieraum übergreifende Programmierung
Technologieraum übergreifende ProgrammierungFalk Hartmann
 
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...Marc Müller
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...Marc Müller
 
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware Monitoring
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware MonitoringOSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware Monitoring
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware MonitoringNETWAYS
 

Similar to DWX 2016 - Monitoring 2.0 - Monitoring 2.0: Alles im Lot? (20)

Einführung in die funktionale Programmierung
Einführung in die funktionale ProgrammierungEinführung in die funktionale Programmierung
Einführung in die funktionale Programmierung
 
Skripting prüfung, automatisierung und funktionserweiterung - Sebastian-Nic...
Skripting   prüfung, automatisierung und funktionserweiterung - Sebastian-Nic...Skripting   prüfung, automatisierung und funktionserweiterung - Sebastian-Nic...
Skripting prüfung, automatisierung und funktionserweiterung - Sebastian-Nic...
 
CheckAud® for SAP® Systems
CheckAud® for SAP® SystemsCheckAud® for SAP® Systems
CheckAud® for SAP® Systems
 
#SUGDE Sitecore Gesundheit
#SUGDE Sitecore Gesundheit #SUGDE Sitecore Gesundheit
#SUGDE Sitecore Gesundheit
 
Web Application Security
Web Application SecurityWeb Application Security
Web Application Security
 
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ß
 
Testmanagement mit Visual Studio 2013
Testmanagement mit Visual Studio 2013Testmanagement mit Visual Studio 2013
Testmanagement mit Visual Studio 2013
 
Automatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit SeleniumAutomatisierte GUI-Tests mit Selenium
Automatisierte GUI-Tests mit Selenium
 
A/B Testing mit Node.js
A/B Testing mit Node.jsA/B Testing mit Node.js
A/B Testing mit Node.js
 
Große Applikationen mit AngularJS
Große Applikationen mit AngularJSGroße Applikationen mit AngularJS
Große Applikationen mit AngularJS
 
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-ToolsSoftware-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
Software-Engineering in der Luft- und Raumfahrt mit Open-Source-Tools
 
Oracle workshop sessiontracing
Oracle workshop sessiontracingOracle workshop sessiontracing
Oracle workshop sessiontracing
 
ScriptRunner - Eine Einführung
ScriptRunner - Eine EinführungScriptRunner - Eine Einführung
ScriptRunner - Eine Einführung
 
PAVONE Espresso Workflow für Java EE
PAVONE Espresso Workflow für Java EEPAVONE Espresso Workflow für Java EE
PAVONE Espresso Workflow für Java EE
 
Sicherheit in Single-Page-Web-Anwendungen
Sicherheit in Single-Page-Web-AnwendungenSicherheit in Single-Page-Web-Anwendungen
Sicherheit in Single-Page-Web-Anwendungen
 
Technologieraum übergreifende Programmierung
Technologieraum übergreifende ProgrammierungTechnologieraum übergreifende Programmierung
Technologieraum übergreifende Programmierung
 
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...
 
JavaFX Real-World Apps
JavaFX Real-World AppsJavaFX Real-World Apps
JavaFX Real-World Apps
 
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
DWX 2017 - Alternativen zu Visual-Studio-Testtools: Wann lohnt es sich auch m...
 
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware Monitoring
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware MonitoringOSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware Monitoring
OSMC 2016 - Hello Redfish, Goodbye IPMI - The future of Hardware Monitoring
 

More from Marc Müller

.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...Marc Müller
 
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...Marc Müller
 
.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. GitOpsMarc Müller
 
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-BenutzerMarc Müller
 
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 ReleaseMarc Müller
 
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 DeploymentsMarc Müller
 
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...Marc Müller
 
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 deploymentsMarc Müller
 
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 DEPLOYMENTSMarc Müller
 
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-PROZESSMarc Müller
 
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 KubernetesMarc Müller
 
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-ProzessMarc Müller
 
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 PipelinesMarc Müller
 
.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 deploymentsMarc Müller
 
DWX 2022 - DevSecOps mit GitHub
DWX 2022 - DevSecOps mit GitHubDWX 2022 - DevSecOps mit GitHub
DWX 2022 - DevSecOps mit GitHubMarc Müller
 
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-ProzessMarc Müller
 
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 KubernetesMarc Müller
 
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 DevOpsMarc Müller
 
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...Marc Müller
 

More from 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...
 

DWX 2016 - Monitoring 2.0 - 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.
  • 45. Build und Release Automation mit TFS 2015 / VSTS 21.06.2016 11:45 - 12:45 Uhr Track: ALM Performance & Load Testing mit Visual Studio 21.06.2016 14:15 - 16:15 Uhr Track: Performance Continuous Quality 22.06.2016 09:00 - 10:00 Uhr Track: Better Coding Agile Methoden in verteilten Teams 22.06.2016 14:15 - 15:15 Uhr Track: Agile
  • 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.
  • 47. 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
  • 48.