Prometheus monitoring

Prometheus: monitoring software voor microservices en Kubernetes

De manier waarop webapplicaties worden ontwikkeld gaat steeds vaker op een microservices-manier. Per microservice wordt er een container of meerdere containers ingezet. Als dat er veel worden ontkom je niet aan om Kubernetes in te zetten. Maar hoe monitor je alle data die microservices, containers en Kubernetes genereren? Een tool als Prometheus helpt je daarbij.

Lees ook: wat is Kubernetes?

Wat is Prometheus?

Prometheus is open-source software voor monitoring en alerting bij complexe webprojecten. In de basis wordt Prometheus gebruikt om inzichten te halen uit metrics die je kunt monitoren rondom de systemen en microservices van je webapplicatie. Prometheus gaat uit van drie kernconcepten die zij bestempelen als data models, metric types en jobs en instances.

De software is aanvankelijk ontwikkeld door engineers die werken voor SoundCloud en is sinds 2015 aangesloten bij de Cloud Native Computing Foundation, een door Linux ondersteunde organisatie die zich inzet om cloud-native technologie te incuberen totdat de technologie volwassen genoeg is voor productie-omgevingen.

Hoe werkt Prometheus?

Prometheus en Kubernetes

Prometheus wordt vaak in één adem genoemd met Kubernetes, omdat Kubernetes van zichzelf geen monitoringcapabiliteiten heeft. Vanuit de CNCF is er echter een ecosysteem aan open-source tools ontwikkeld die naadloos aansluiten bij Kubernetes, waar Prometheus een van de belangrijkste monitoringtools is.

Prometheus is wat ze noemen een ‘time series streaming data tool’. De tool haalt beschikbare data vanuit Kubernetes via HTTP endpoints en maakt deze data vervolgens beschikbaar in een tijdreeks. Hierdoor wordt het mogelijk om gegevens te analyseren.

Prometheus zelf visualiseert de data trouwens niet, maar kan bijvoorbeeld wel naadloos integreren met [Grafana], een soort datavisualisatielaag waarmee je met de geobserveerde gegevens in Prometheus een dashboard kunt maken.

Een van de grootste voordelen van Prometheus is dat het zeer schaalbaar is en dat het grote volumes van data kan verwerken. Dat is bij software zoals Kubernetes van groot belang omdat grote hoeveelheden data in Kubernetes continu worden op en afgeschaald. Dat komt ook de prestaties ten goede.

Prometheus en Istio

Prometheus wordt ook vaak gekoppeld aan Istio, een Service Mesh voor Kubernetes. Je kunt Istio het best zien als een aanvulling op het creëren van inzichten in microservices – mini-applicaties waar Kubernetes vaak voor wordt ingezet.

Istio richt zich met name op de netwerken tussen de (micro)services. Metrics die door Istio bijvoorbeeld beschikbaar worden zijn bijvoorbeeld total request count, request per second, failed requests enzovoorts. Dit zijn over het algemeen metrics die zichtbaarheid geven in de prestaties en beschikbaarheid van een microservices die met Kubernetes wordt beheerd.

Alerting

Een belangrijke functie van Prometheus is dat je het ook in kunt zetten voor alerting. Je kunt bijvoorbeeld configureren dat je een melding krijgt als een bepaalde service binnen Kubernetes afwijkend gedrag vertoont. Zo’n alert kun je dan krijgen via Slack of andere online communicatiemiddelen.

Wanneer Prometheus inzetten en wanneer niet?

Prometheus werkt goed voor numerieke tijdreeksen. Dat kun je bijvoorbeeld inzetten voor data van machines (bijv. servers) of juist voor meer dynamische architecturen waar bijvoorbeeld microservices worden ingezet. Prometheus is ontworpen om goed beschikbaar te blijven, zelfs als er een sprake is van uitval van systemen. Dat laatste komt in het geval van Kubernetes vaak voor, zoals je ook kunt lezen in ons e-book over Kubernetes waar we flink wat praktijkvoorbeelden delen over hoe het opeens mis kan gaan met Kubernetes.

Prometheus servers zijn standalone en hebben geen netwerkopslag nodig. Hierdoor kun je vertrouwen dat de software blijft werken als bijvoorbeeld andere onderdelen van de infrastructuur kapot zijn. Zo kun je snel kijken waar eventuele knelpunten zitten en deze snel oplossen. Ook kan je hiermee problemen oplossen als het juist de monitoring of alerting agent is dat problemen veroorzaakt. Ook dat was een use case die vaak terugkwam in ons e-book over Kubernetes.

Prometheus vergroot inzicht

Bij alle verzoeken die de microservices naar elkaar versturen kunnen fouten ontstaan. En omdat webapplicaties steeds vaker uit tientallen, zo niet honderden microservices bestaan, wordt het oppervlakte voor fouten groter. Dit wil je dus monitoren. Prometheus maakt het mogelijk om die data los te trekken en inzicht te genereren wanneer er spake is van (mogelijke) uitval.

Wil je meer weten over Prometheus of hoe dit integreert binnen een Kubernetes-cluster? Onze Managed Kubernetes-specialisten vertellen je er graag meer over.

E-book 26 Kubernetes tools voor beginners

Het aantal cloud-native tools neemt in rap tempo toe. In ons e-book delen wij 26 van de meest populaire Kubernetes en cloud-native tools van het moment. Zo heb je het juiste gereedschap voor het beheren van je containerapplicaties in welke cloud dan ook.

Application Modernization met Kubernetes

 

Prometheus monitoring
Kilian Drewel
Techblogger

schrijf je in voor de nieuwsbrief

Ontvang de nieuwste blogs van True elke twee weken in je mail

Cloud-native - 15.10.2020

Containertechnologie heeft de traditionele infrastructuurwereld flink opgeschud. Containers zijn ideaal voor microservices en omgevingen die snel moeten schalen en te maken hebben met veel releases. Het adopteren van containers brengt echter ook complexiteit met zich mee, bijvoorbeeld op het vlak van beheer. Als een soort dirigent orkestreert Kubernetes alle bewegende onderdelen en containers in de […]

Cloud - 26.08.2020

De afgelopen jaren wordt er steeds meer ontwikkeld meet containers. Containertechnologie hebben veranderd hoe we software leveren en hoe we microservices inzetten om applicaties te bouwen. Doordat alles compacter wordt gebouwd en verpakt, is ook de noodzaak voor management groter geworden. Kubernetes vs Docker (Swarm) zijn twee van de grote softwareoplossingen als het gaat om […]

Cloud - 01.07.2020

Het Kubernetes platform vierde afgelopen maand de zesde verjaardag alweer. In deze blogpost delen we wat feiten en cijfers over Kubernetes. Bekijk ook onze Managed Kubernetes dienst Kubernetes Het Kubernetes platform een van de snelstgroeiende open-source technologieën, helpt bedrijven met het beheersen van (Docker) containers op grote schaal. Met behulp van Kubernetes kunnen ontwikkelaars sneller […]

Blijf op de hoogte en schrijf u in voor onze nieuwsbrief
Schrijf u in voor de nieuwsbrief

Vraag offerte aan

Vul onderstaand formulier in. True neemt zo snel mogelijk contact met u op.