Wat is Prometheus?

Nov 28, 2024 | Blog | Software Wat is Prometheus?

prometheus_logoPrometheus is een open source, op metrics gebaseerd monitoringsysteem. Het heeft een eenvoudig maar krachtig datamodel en een querytaal waarmee de prestaties van applicaties en infrastructuur geanalyseerd kan worden.

Wat moet je weten over Prometheus?

Prometheus is voornamelijk geschreven in Go en gelicenseerd onder de Apache 2.0 licentie. Voor het uitvoeren van eigen code zijn er client libraries in alle populaire talen, waaronder Go, Java, C#, Python, Node.js, .Net, Ruby en Rust. Voor software zoals Kubernetes en Docker zijn reeds diverse Prometheus client libraries beschikbaar.

Er zijn honderden integraties beschikbaar voor software van derden, die de metrics van Prometheus (nog) niet ondersteunen. Deze worden aangeduid als ‘exporters’, en omvatten o.a: MySQL, PostgreSQL, K8s, AWS Cloudwatch, en Kafka.

 

Kenmerken van Prometheus

Prometheus beschikt over diverse manieren om data te visualiseren: een ingebouwde expressiebrowser, Grafana integratie en een console-template taal.

Prometheus hanteert een dimensionaal datamodel. Tijdseries worden geïdentificeerd door een metric en een set van key-value pairs.

Alerts worden gedefinieerd op basis van Prometheus’ flexibele PromQL, welke zijn dimensionale informatie behoudt.

Voor de betrouwbaarheid is iedere server onafhankelijk en vertrouwt uitsluitend op de lokale storage. Alle binaire bestanden zijn geschreven in Go en zijn statisch gekoppeld en eenvoudig in te zetten.

Prometheus slaat tijdseries op met een efficiënt aangepast format op de lokale schijf. Scaling wordt gerealiseerd door database sharding en federation.

PromQL biedt de mogelijkheid om verzamelde tijdseries te splitsen om ad-hoc grafieken, tabellen en alerts te genereren.

 

 

Kubernetes monitoring met Prometheus

Het begrijpen van alle k8’s componenten is niet zomaar iets, het kost tijd om volledige controle te krijgen over zo’n geavanceerd en krachtig platform. Het is tevens belangrijk te beseffen dat nodes, applicaties of netwerken op een bepaald ogenblik kunnen uitvallen. Daarom zijn alerts, logbestanden, metrics en monitoring dashboards van cruciaal belang om storingen en andere issues te voorkomen.

Kubernetes operator

Een Operator is een specifieke controller die de Kubernetes-API uitbreidt om complexe applicaties voor een Kubernetes gebruiker te creëren, te configureren en te beheren.

Promotheus operator

De missie van de Prometheus Operator is om de werking van Prometheus bovenop Kubernetes zo eenvoudig mogelijk te maken. De Prometheus Operator biedt eenvoudige monitoring voor allerlei k8s clusters en deployments.

Hoe werkt het?

Wanneer een nieuwe versie van een applicatie wordt uitgerold, maakt k8s een nieuwe pod (container) aan en nadat de pod klaar is, vernietigt k8s de oude. Prometheus is constant actief op het checken van de k8s API. Wanneer het een verandering detecteert, creëert het een nieuwe Prometheus-configuratie, gebaseerd op de wijzigingen in de services (pods).

 

Meer weten over Prometheus?

Wilt u Prometheus inzetten voor betere monitoring van uw bedrijfsdata? Neem contact op met TTNL en spreek vandaag nog een van onze experts.