Monitors
Sommige vragen stel je niet één keer maar elke nacht. Zijn alle ladingen gelukt? Zijn er tabellen zonder nieuwe rijen sinds gisteren? Is het aantal nulls in een kolom ineens verdubbeld? Een monitor stelt zo'n vraag op een vast moment, en geeft een oordeel.
Wat een monitor is
Een monitor heeft:
- Een opdracht in gewone taal. Bijvoorbeeld: "Controleer of alle ladingen van vannacht geslaagd zijn en of elke tabel in het stagingschema nieuwe rijen heeft."
- Een schema. Wanneer hij draait: elke dag om 06:00, elk uur op werkdagen, elke maandag. Het schema werkt zoals een trigger in Azure Data Factory.
- Een bron. Waarop hij kijkt.
Op het afgesproken moment start het platform een agent met die opdracht. De agent kijkt, en geeft een oordeel: in orde, of een afwijking.
Altijd alleen kijken
Een monitor draait altijd in de werkmodus "alleen kijken". Hij leest en beoordeelt, maar wijzigt niets. Een monitor kan dus nooit zelf een probleem "oplossen" op een manier die je niet wilde.
Het oordeel
Een monitor moet een oordeel geven. Geeft de agent geen oordeel, bijvoorbeeld omdat hij vastliep, dan telt dat als afwijking. Stilte is nooit "in orde".
- In orde: er gebeurt niets, behalve dat de uitvoering wordt vastgelegd.
- Afwijking: er ontstaat een bevinding. Die zie je in de webapp, met wat de agent zag.
Per monitor staat er hoogstens één open bevinding. Blijft het probleem bestaan, dan stapelen de bevindingen zich niet op.
Een monitor die steeds mislukt
Mislukt een monitor drie keer op rij, dan zet het platform hem uit en meldt dat. Een controle die nooit werkt, geeft geen vals gevoel van zekerheid.
Tijdzone
Een monitor gebruikt de tijdzone van wie hem maakte. "Elke dag om 06:00" betekent 06:00 voor die persoon, ook in de zomer- en wintertijd.
Van bevinding naar gesprek
Vanuit een bevinding start je een gesprek. De agent in dat gesprek krijgt de bevinding mee en kan verder zoeken, eventueel in een andere werkmodus.
Voorbeelden
| Monitor | Schema |
|---|---|
| Zijn alle ladingen van vannacht geslaagd? | dagelijks 06:30 |
| Heeft een tabel in het warehouse meer dan 5 procent nulls in een sleutelkolom? | dagelijks 07:00 |
| Is een rapportdataset ouder dan 24 uur? | elk uur op werkdagen |
| Zijn er nieuwe tabellen zonder primaire sleutel? | wekelijks maandag |