GWARDNEW
Terug naar blog

Infrastructuurmonitoring: Grafana, Prometheus

2 juni 20268 min leestijdCaner Korkut

Je kunt geen betrouwbare infrastructuur beheren zonder observability. Wanneer een applicatie vertraagt of een service offline gaat, moet je het weten voordat je gebruikers dat doen — en je hebt de data nodig om snel de oorzaak te diagnosticeren. Prometheus en Grafana zijn de standaard open-source monitoringstack geworden voor cloud-native infrastructuur, met krachtige metriekenverzameling, alerting en visualisatie. Organisaties die al Kubernetes voor hun workloads hebben geadopteerd profiteren bijzonder van deze stack, aangezien beide tools zijn ontworpen met containerorchestratie in gedachten.

Prometheus: metriekenverzameling en alerting

Prometheus is een tijdreeksdatabase en monitoringsysteem ontworpen voor betrouwbaarheid en eenvoud. Het verzamelt metrieken door HTTP-endpoints te scrapen die door je applicaties en infrastructuurcomponenten worden blootgesteld op regelmatige intervallen.

  • Pull-gebaseerd model — Prometheus haalt metrieken op van targets in plaats van gepushte data te ontvangen. Dit betekent dat Prometheus het scrape-interval controleert en kan detecteren wanneer targets down zijn (een gemiste scrape is op zich een signaal).
  • PromQL — de querytaal van Prometheus is krachtig en flexibel, waarmee je metrieken kunt aggregeren, filteren en transformeren om operationele vragen te beantwoorden zoals "wat is de 99e percentiel requestlatentie voor service X over het afgelopen uur?"
  • Service discovery — Prometheus integreert met Kubernetes, cloud provider API's, Consul en andere serviceregisters om automatisch monitoringtargets te ontdekken wanneer ze worden aangemaakt en vernietigd.
  • Alertmanager — een begeleidend component dat alertroutering, deduplicatie, groepering en demping afhandelt. Het kan notificaties sturen naar email, Slack, PagerDuty, OpsGenie en andere kanalen.

Grafana: visualisatie en dashboards

Grafana biedt de visualisatielaag die monitoringdata actionable maakt. Hoewel Prometheus een basis expression browser heeft, biedt Grafana rijke, interactieve dashboards die teams kunnen gebruiken voor zowel real-time monitoring als historische analyse.

  • Multi-source dashboards — Grafana kan data opvragen uit Prometheus, Elasticsearch, CloudWatch, Azure Monitor, PostgreSQL en tientallen andere databronnen in een enkel dashboard.
  • Templatevariabelen — maak dynamische dashboards waarmee gebruikers kunnen filteren op omgeving, service, regio of elke andere dimensie zonder aparte dashboards voor elke combinatie te maken.
  • Alerting — Grafana bevat ook een eigen alertingsysteem, dat eenvoudiger te configureren kan zijn dan Alertmanager voor teams die Grafana al als primaire monitoringinterface gebruiken.
  • Community dashboards — duizenden kant-en-klare dashboards zijn beschikbaar op Grafana.com voor veelvoorkomende infrastructuur (Kubernetes, PostgreSQL, NGINX, Node Exporter) die geïmporteerd en aangepast kunnen worden.

De monitoringstack opzetten

Voor Kubernetes-omgevingen is de meest gebruikelijke aanpak het deployen van de kube-prometheus-stack Helm chart, die Prometheus, Grafana, Alertmanager, node-exporter en kube-state-metrics bevat in een enkele, goed geconfigureerde deployment:

  1. Deploy de stack — installeer de kube-prometheus-stack Helm chart in een dedicated monitoring namespace. Dit biedt direct zicht op clustergezondheid, noderesources en podmetrieken.
  2. Instrumenteer je applicaties — voeg Prometheus-clientbibliotheken toe aan je applicaties om aangepaste metrieken bloot te stellen. Bibliotheken zijn beschikbaar voor alle grote talen (Go, Java, Python, Node.js, .NET). Focus op de vier gouden signalen: latentie, verkeer, fouten en verzadiging.
  3. Configureer service monitors — maak ServiceMonitor-resources aan die Prometheus vertellen welke services te scrapen en hoe. Dit integreert natuurlijk met Kubernetes service discovery.
  4. Bouw dashboards — begin met de kant-en-klare dashboards die bij de Helm chart zijn inbegrepen, en maak vervolgens aangepaste dashboards voor je applicatiespecifieke metrieken.
  5. Stel alerts in — definieer alertingregels in Prometheus voor kritieke condities (hoge foutenpercentages, resourceuitputting, servicedowntime) en configureer Alertmanager om notificaties naar de juiste teams te routeren.

Verder dan metrieken: logs en traces

Metrieken vertellen je dat er iets mis is. Logs en traces vertellen je waarom. Een complete observability-stack omvat alle drie de pijlers:

  • Logging — Loki (van Grafana Labs) is het natuurlijke complement van Prometheus en Grafana. Het indexeert logmetadata (labels) in plaats van volledige tekstinhoud, wat het efficiënt en kosteneffectief maakt. Logs kunnen naast metrieken worden bevraagd in Grafana-dashboards.
  • Gedistribueerde tracing — voor microservices-architecturen volgen tracingtools zoals Jaeger of Tempo (ook van Grafana Labs) verzoeken terwijl ze door meerdere services stromen, en helpen je knelpunten en storingen in complexe aanroepketens te identificeren.
  • OpenTelemetry — een steeds meer standaard framework voor het instrumenteren van applicaties met metrieken, logs en traces via een enkele, leveranciersneutrale SDK. Als je vanaf nul begint, is OpenTelemetry de aanbevolen instrumentatieaanpak.

Prometheus schalen

Een enkele Prometheus-instance werkt goed voor kleine tot middelgrote deployments, maar grotere omgevingen vereisen mogelijk schalingstrategieën. Goede schalingplanning gaat hand in hand met een disaster recovery plan voor cloudinfrastructuur, aangezien monitoringdata ook tijdens regionale storingen beschikbaar moet blijven.

  • Thanos — breidt Prometheus uit met langetermijnopslag, globale queries over meerdere Prometheus-instances en deduplicatie. Thanos slaat historische data op in objectopslag (S3, Azure Blob) voor kosteneffectieve retentie.
  • Cortex / Mimir — horizontaal schaalbare, multi-tenant Prometheus-backends. Grafana Mimir is de aanbevolen optie voor organisaties die metrieken van veel clusters of teams moeten centraliseren.
  • Federatie — Prometheus ondersteunt hierarchische federatie, waarbij een globale Prometheus geaggregeerde metrieken scrapt van per-cluster Prometheus-instances.

Hoe ICTLAB kan helpen

ICTLAB ontwerpt en deployt monitoring- en observability-oplossingen voor Belgische organisaties. Van het opzetten van Prometheus en Grafana op je Kubernetes-clusters tot het bouwen van aangepaste dashboards, alertingworkflows en langetermijnmetriekenopslag, wij helpen je team volledig zicht te krijgen op je infrastructuur en applicaties.

Meer lezen: ontdek hoe interne developer platforms monitoring integreren, bekijk onze gids over cloudkosten verlagen met FinOps, of zie hoe GitOps en Kubernetes samenwerken met observability voor betrouwbare deployments.

Hulp nodig met Managed Cloud?

Focus op uw bedrijf terwijl wij uw cloud beheren. 24/7 monitoring, patching, backupbeheer en incidentrespons voor uw cloudinfrastructuur.