Metrics met Prometheus & Grafana

en een beetje C# en alerting.

Er was eens...

Een klant met een goed idee

Er werd vrolijk er getypt en zo geschiede...

...en men zag dat het goed was.

Dit is hoe het voelt

En toen begonnen de problemen zich op te stapelen

Probleem #0

"Ik heb een applicatie gemaakt"

Probleem #1

"Ik heb een applicatie gedeployed naar de Cloud"

Probleem #2

"De applicatie heeft gebruikers!"

Probleem #3

Cloud computing is duur en dus wil je niet te veel en niet te weinig resources gebruiken.

Probleem #4

De product owner wil graag weten op welke momenten in de week gebruikers het meest gebruik maken van jouw gloednieuwe functionaliteit.

Probleem #5

Ik heb een 3rd-party dienst waar de applicatie gebruik van maakt, hoe monitor ik die?!

...wat nu?

Metrics collection

Visualisatie

Hands-on


					version: '3.9'

					services:
					  prometheus:
						  image: prom/prometheus
						  ports:
						    - "3000:9090"
						  volumes:
						    - .:/etc/prometheus
						  command:
						    - "--config.file=/etc/prometheus/prometheus.yml"
						    - "--web.config.file=/etc/prometheus/web.yml"
					
					  grafana:
						  image: grafana/grafana
						  ports:
						    - "3001:3000"
					
					  alertmanager:
						  image: quay.io/prometheus/alertmanager
						  ports:
						    - "3004:9093"
						  volumes:
						    - .:/config
						  command:
						    - "--config.file=/config/alertmanager/alertmanager.yml"
					
					  blackbox:
						  image: quay.io/prometheus/blackbox-exporter
						  ports:
						    - "3003:9115"
						  volumes:
						    - .:/config
						  command:
						    - "--config.file=/config/blackbox/blackbox.yml"
					
					  dotnet:
						  build:
						    context: ./dotnet-7-0
						    dockerfile: ./Dockerfile
						  ports:
						    - "3002:80"
					
					
					### Demo purposes
					  httpecho:
						   image: hashicorp/http-echo
						   ports:
						     - "3005:5678"
						   command:
							  - "-text=hello world"
					
					  smtp4dev:
						  image: rnwood/smtp4dev
						  ports:
						    - "3005:80"
						    - "2525:25"
					  
Matthijs Liethof - 2023