Blog

Zelf Observe Dashboards maken

Het kan soms lastig zijn om incidenten snel te identificeren. Een manier die hierbij kan helpen is het hebben van de juiste grafieken, wat zelfs essentieel kan zijn. Naast het bieden van een algemeen overzicht van je omgeving, kunnen metrics ook diepgaand inzicht geven in wat er precies misgaat, wat zeer waardevol is tijdens een incident.

 

Wij krijgen van klanten vaak vragen over ons Observe-platform, dat is gebaseerd op Grafana. Daarom delen we in deze blogpost verschillende tips en trucs over ons platform en laten we zien hoe je zelf een dashboard kunt creëren om incidenten snel te kunnen opsporen. Ook zullen we bespreken wat de voordelen zijn van een overzicht dashboard en een detailpagina dashboard, en hoe je zelf queries en dashboards kunt samenstellen en aanpassen naar jouw eigen behoeften.

 

Deze blog behoort tot een reeks van Observe-blogs, waarin we je laten kennismaken met de kracht van monitoring en metrics.

Inzicht

Het is van essentieel belang om inzicht te hebben in je applicatie. Met behulp van een overzicht kun je snel problemen opmerken. Echter, alleen weten dat er een probleem is, betekent nog niet dat je precies begrijpt wat er aan de hand is. Om het incident verder te onderzoeken, zijn verfijnde dashboards nodig om er dieper op in te kunnen gaan.

Belangrijke punten voor het opsporen van incidenten zijn dan ook:

  • Een overkoepelend dashboard
  • Dashboards voor elke afzonderlijke dienst of component (één of meerdere)

Zorg ervoor dat je de dashboards gescheiden en georganiseerd houdt om een duidelijk overzicht te behouden. Als je dit niet doet, kan het snel onoverzichtelijk worden. Dit kun je bereiken door goede benamingen te gebruiken en door te linken (downdrillen) naar detailoverzichten.

Overzicht dashboard

Onze klanten krijgen standaard overzicht dashboards aangeboden, die inzicht verschaffen in hun applicaties, prestaties en het gebruik van bepaalde services.
Voor elk product dat kan worden gemonitord, maken wij specifieke dashboards die over het algemeen gebruikmaken van Prometheus Community provided exporters. Zo omvat bijvoorbeeld een Patroni-cluster dashboards voor Linux (Linux Server, zie figuur 1 & Linux Server multiple), Patroni (Patroni Overview), ETCD Cluster Overview & PostgreSQL Database. Voor Kubernetes omvatten de dashboards bijvoorbeeld API Server, Compute Resources / Cluster, Kubelet en Networking Cluster. Voor een volledige lijst kun je altijd contact met ons opnemen. In het vervolg van dit blog zullen we ingaan op hoe je zelf dashboards en query’s kunt maken en aanpassen.

 

Figuur 1. Voorbeeld dashboard Linux Server.

 

Niet alleen zijn deze overzichten handig om problemen vroegtijdig of snel te signaleren, maar ze kunnen ook leiden tot verlaging van bedrijfskosten. Dit komt doordat er minder resources worden gebruikt en de gebruikerservaring verbetert doordat de applicatie snel blijft. Met deze inzichten kun je goed meten hoe snel je deployment / applicatie de requests serveert. Voor meer informatie hierover, raden we ons andere artikel aan: “Waarom crasht mijn node?”. In deze blog zullen we dieper ingaan op het maken van queries.

Detailpagina Dashboard

Na het bekijken van een overzicht dashboard kun je dieper in de details duiken en de problemen goed debuggen. Elke dienst, zoals Redis of MySQL, vereist één of meerdere specifieke dashboards voor verschillende onderdelen binnen de dienst.

Op ons platform kun je diverse queries uitvoeren die sterk van elkaar kunnen verschillen. Met deze queries kun je panels maken om je dashboard op te bouwen en aan te passen. Op een gedetailleerd dashboard krijg je door deze queries meer inzicht in hoe je je applicatie, platform of implementatie kunt verbeteren. Je kunt zelf queries maken, maar het is makkelijker om te zoeken naar een officieel dashboard of een dashboard dat door de community is gemaakt, en deze queries of panels over te nemen en aan te passen aan je eigen behoeften. Door te zoeken naar dashboards kun je inspiratie opdoen en bepalen welke grafieken handig zijn voor jouw omgeving en applicaties. Zo weet je zeker dat je beschikt over de benodigde data. Vervolgens kun je in de loop der tijd verschillende kleine verbeteringen aanbrengen om de kwaliteit van dienstverlening te verhogen. En natuurlijk staat Cyso altijd voor je klaar om met je mee te denken en te helpen.

Query’s

Maar hoe kun je nu gegevens opvragen, zelf queries schrijven en mooie grafieken maken? In Grafana (en Observe) is er de “Explore”-pagina. Dit is de plek waar je moet zijn als je zelf query’s wilt schrijven. Laten we echter eerst een stap terug doen en beginnen met het uitleggen van de basis door een panel te maken met een query. We hebben Nginx draaien op onze applicaties en willen graag weten wanneer ze af en toe “up” zijn voor incidentele doeleinden. Klik eerst bij Dashboards op “New” en vervolgens op “Add visualisation”. Nu heb je een lege panel met geen data, de eerste stap is nu om te bepalen waar de data vandaan moet komen. Hiervoor kies je bij de tab “Query” eerst in de dropdown jouw “Data source” die je wilt gebruiken (hier kunnen er één of meerdere staan). Om de statistiek weer te geven, gebruik je de metric “nginx_up”. Het makkelijkste is om hiervoor rechts op “Builder” te klikken en vervolgens in de dropdown van “Metric” naar je query te zoeken, zie figuur 2.

Daarnaast heb je extra microservices nodig om tot specifieke criteria te komen. Hiervoor gebruik je de “label filters”. Als je op deze dropdown klikt, krijg je een aantal keuzes te zien, maar wij hebben de “job” nodig dat gelijk is aan “nginx”. Zo zorgen we ervoor dat we alleen de applicaties te zien krijgen die Nginx heeft. Als we dit hebben ingesteld, eindigen we met de volgende query: nginx_up{job=”nginx”}. Vervolgens geven we bij Legend (de Legenda) aan dat we het willen zien als Verbose, in een tabel en van het type Instant. Dit helpt bij het filteren van dubbele gegevens en het volledig maken van de filter. Anders zie je waarschijnlijk meer lijnen in de grafiek dan dat er actieve pods zijn. Door dit te doen, krijg je een goed overzicht van welke labels je hebt en kun je de filtering verbeteren.

 

Figuur 2. Instellingen query.

 

Nu is het belangrijk om de juiste visualisatie te kiezen. Standaard staat deze op “Time Series”, maar dat is momenteel niet handig. Klik erop om een andere optie te selecteren en ga naar het tabblad “Suggestions” om een idee te krijgen van hoe het eruit kan zien. Kies daarna voor de “Table”. Nu worden alle gegevens overzichtelijk weergegeven in een tabel, zie figuur 3, en heb je officieel je eerste grafiek gemaakt.

 


Figuur 3. Lastig uit te lezen grafiek.

 

Zo eenvoudig is het! Nu kun je door de opties aan de rechterkant aan te passen de grafiek volledig naar jouw wens vormgeven. Niet alle informatie die hier wordt weergegeven is mogelijk even belangrijk, niet alle labels zijn even duidelijk en er ontbreekt bijvoorbeeld een titel. Door op “Add field override” te klikken, kun je bijvoorbeeld kolommen verwijderen, labels hernoemen en kleuren aanpassen, zie figuur 4. Zo kun je de tabel volledig aanpassen aan jouw behoeften en overzichtelijker maken.

 


Figuur 4. Panel options met voorbeeld “Add field override”.

 

Als je tevreden bent met je grafiek, zie figuur 5, kun je deze aan je dashboard toevoegen door rechtsboven op de knop “Save” te klikken. En natuurlijk is er altijd ruimte om later nog aanpassingen te maken.

 


Figuur 5. Panel overzicht Nginx na aanpassingen.

 

Conclusie

Het is dus eenvoudig om zelf een dashboard te maken, mits je weet wat je wilt zien en de tijd en motivatie hebt om ermee te experimenteren. Voor inspiratie kun je een kijkje nemen op de “Explore”-pagina of dashboards overnemen van de community. Je kunt te allen tijde je dashboard naar wens aanpassen en verschillende dashboards maken voor verschillende doeleinden. We raden aan om voor elke dienst minimaal één, maar bij voorkeur meerdere specifieke dashboards te maken, elk gericht op een ander aspect van de dienst.

Met deze blog hopen we je inzicht te bieden en handvatten om zelf een dashboard te maken. Mocht je hulp, vragen, behoefte aan meer informatie of voorbeelden nodig hebben, laat het ons dan weten. We helpen je graag om jouw platform te verbeteren.

Daarnaast kun je ons volgen op LinkedIn om op de hoogte te blijven van deze blogserie.

Wil je op de hoogte blijven van de laatste ontwikkelingen op IT gebied. Meld je dan hier aan voor de nieuwsbrief.

Benieuwd naar de mogelijkheden? Let’s talk!

Cyso stories

12/08/2019

Rapport state of container and kubernetes security gepubliceerd

Het Amerikaanse StackRox heeft onderzoek gedaan naar de status van de beveiliging en acceptatie van container- en Kubernetes-platformen.
07/12/2023

Vendor lock-in: 6 tips om dit te voorkomen

Vendor lock-in brengt directe risico’s met zich mee die de groei van je bedrijf kunnen beïnvloeden, niet alleen bij software maar ook bij inkoop van producten of grondstoffen.
04/04/2019

ISO- en NEN-certificeringen van Cyso Group verlengd

Kwaliteit is in onze beleving een absolute voorwaarde voor ons bestaansrecht. En dat sluit aan bij de ISO-/NEN-certificeringsgedachte.

Interesse in een van onze diensten?

Wat is je vraag? Neem nu contact met ons op.

Wil je dat wij contact met jou opnemen? Laat je gegevens achter en wij bellen je terug.

Cyso contact