Kurs från 2020-08-31 till 2020-10-08
Lektion 9 av 12, måndag den 28:e september 2020
Målet med denna lektion är att lära hur man kan monitorera/övervaka en molnlösning (med utgångspunkt i Azure). Hur vet man om alt funkar som det ska, vad applikationen kostar och hur mycket last man har på sin applikation.
Lektion från kl. 8:30 till kl. 16:30
Lunch 12:00 till 13:00
Detta är material (artiklar, videoer, blogs, podcasts etc) som är den teoretiska bas för denna lektion, det antas att du har läst/set/lystnad detta innan lektionen starter.
Total (106 min):
Detta är vilka delar av den frivilliga bok (Learn Azure In A Month of Lunches) som är releavant för denna lektion
Detta är material som är frivillig, och som kan kan används till at få en djupare insikt i dagens ämnen. Oftast förklara det bakgrunden till dagens lektionsteori, går mer på djupet med ämne eller han har en annan vinkel på det samma material.
◯Artikel (11 min): DevOps Handbook Summary 2 of 4 - The Second Way
◯Artikel (16 min): How The Build-Measure-Learn Cycle Really Works
▽Artikel (4 min): Container group and instance logging with Azure Monitor logs
△Artikel (11 min): How Logging Made me a Better Developer
△Artikel (14 min): The 10 commandments of logging
◯Artikel (3 min): Start Monitoring Your ASP.NET Core Web Application
△Artikel (6 min): Azure Monitor data platform
◯Artikel (4 min): Monitor and debug
△Artikel (5 min): What is Application Insights?
▽Artikel (24 min): Application Insights API for custom events and metrics
▽Artikel (9 min): Azure Monitor and Azure Log Analytics: When to Use Which
◯Video (30 min): Application Insights The Tool You Never Knew You Needed
◯Video (26 min): Analyzing your applications with Application Insights
▽Dokumentation (3 min): TelemetryClient Class
▽Artikel (2 min): Application Insights – Use case for TelemetryClient flush calls
▽Artikel (2 min): Getting started with Kusto
〰Homepage: Prometheus
〰Homepage: InfluxDB - open source time series database
▽Artikel (7 min): StatsD
〰Homepage, GitHub repo: StatsD
OBS Akta vad ni skriver i eran blogg, så att ni inte skriver lösenord etc.
Namnge dagens blogg 09.md, ni får själv välja om ni vill ha en stor blogg som innehåller alla dagens övningar, eller om ni delar upp den i fler delar, i så fall ska ni namnge delarna som: 09a.md, 09b.md etc.
Bygg en konsol applikation som loggar med strukturerat logging, ni väljer själv om ni vill använda .NET Core Logging eller Serilog (som ofta använs i .NET Core applikationer) som logging-provider.
Hints:
Få eran applikation logga till konsolen.
Ett exempel på hur output av eran konsol applikation kan se ut:
static void Main(string[] args)
{
//TODO: log "Hello World!"
var rand = new Random();
bool runApp = true;
Console.WriteLine("Press any key for pretty exit");
while(runApp){
int randomSleep = rand.Next(1, 50);
//TODO: log "Sleeping for 2.7 seconds"
//NOTE: use the SleepTimeToSec method to make the randomSleep human readable
Thread.Sleep(randomSleep*100);
//TODO: log "Send data to Azure"
//TODO: send telemetry eg. "Telemetry data"
if(Console.KeyAvailable){
Console.ReadKey(true);
runApp = false;
}
}
//TODO: log "Exit"
}
static double SleepTimeToSec(int sleeptime){
double realtime = (double)sleeptime / 10;
return realtime;
}
Utöka så att eran applikation så att den loggar till Azure Applicaion Insights och/eller konsolen.
Få med i eran blogg ett litet Kusto exempel på ni kan query en strukturerat log entry.
Ett exempel på hur eran log kan se ut i Application Insights:
Hints:
Skåpa en webb applikation (en ta en befintlig), och hosta den i en App Service (evt som ett docker image).
Få alla logs + metrics från webb appliktionen att skickas till Azure Application Insights.
Gå igenom denna kurs (34 min): Analysera din Azure-infrastruktur med hjälp av Azure Monitor-loggar