Websites & monitoring Beschikbaar
Uptime Kuma
Elke website in schakl. heeft al jaren een vinkje 'monitoren'. Dit is wat er achter dat vinkje is komen te zitten: niet een berichtje naar een automatiseringsflow, maar een monitor die een record is, met een geschiedenis die je kunt teruglezen en een afwijking die je kunt zien.
Wat je nodig hebt
- Een Uptime Kuma-server, versie 1.23 of nieuwer; getest tegen 2.5.0
- Voor een beheerde koppeling: een account op die server, en dat schakl. de server kan bereiken
- Voor een gekoppelde server: alleen dat de server ons kan bereiken. Verder niets
- De module Websites of Domeinen aan, want daar hangen de panelen aan
Zo koppel je het
- 1 Zet Uptime Kuma aan onder Instellingen → Integraties.
- 2 Voeg onder Instellingen → Uptime een server toe en kies de soort. Beheerd betekent dat schakl. inlogt en monitors mag aanmaken, wijzigen en pauzeren. Gekoppeld betekent dat wij niets bij die server naar binnen sturen en alleen ontvangen wat hij ons meldt. Gekoppeld is geen uitgeklede versie van beheerd: het is de stand voor een server van een klant achter een firewall, en het levert het grootste deel van de waarde op zonder dat er ook maar iets aan infrastructuur bij hoeft.
- 3 Bij een beheerde server vul je het adres en je inloggegevens in. Er wordt een sessietoken bewaard en nooit een wachtwoord; het token gaat versleuteld de opslag in en komt niet terug uit de API. Staat de server achter Cloudflare Access of een proxy, vul dan de extra verbindingsheaders in: een servicetoken of een gedeeld geheim is precies dat veld met een andere waarde, en het wordt om dezelfde reden versleuteld.
- 4 Maak een of meer profielen. Niemand typt driehonderd keer interval, aantal pogingen, herhaalinterval, geaccepteerde statuscodes en de meldkanalen over. Laat de getalvelden leeg die je wilt laten erven: leeg betekent volg de standaard, en er een getal in zetten dat niemand gekozen heeft is precies hoe een klant zich later afvraagt waarom zijn site elke twintig seconden wordt aangeklopt.
- 5 Draaide er al een Kuma, kies dan Overnemen. De bestaande monitors worden gelezen en je koppelt ze aan de website of het domein waar ze bij horen, in plaats van ze allemaal opnieuw aan te maken en tijdelijk dubbel te meten.
- 6 Zet daarna op een website het vinkje monitoren aan om er zelf een te laten aanmaken, of koppel met de hand aan een monitor die er al is.
- 7 Richt tot slot de melding in: een uitval kan een melding in schakl. worden, en een automatiseringsregel kan erop reageren.
Gekoppeld is geen uitgeklede beheerde server
Een bureau draait er zelf een, en een klant draait er soms zelf een die wij mogen bijhouden. Voor dat tweede geval bestaat de gekoppelde soort: wij hebben geen sessie, geen uitgaand verkeer en geen mogelijkheid om er iets te wijzigen, en toch krijgt de klantpagina een statustijdlijn, kan er een melding komen en kan een automatiseringsregel erop reageren, want het verkeer loopt de andere kant op. Ontwerpen alsof beheerd de enige echte soort is, is precies hoe je een functie bouwt die het in een demo doet en bij één klant.
Wat besloten is en wat waargenomen is, staan apart
Uptime Kuma heeft een eigen webinterface, en die is goed, dus iemand gaat er een monitor in aanpassen. Een berichtje dat één keer afgevuurd wordt kan dat niet merken; een spiegel wel. Daarom wordt bewaard wat schakl. heeft besloten én wat er als laatste is waargenomen, in aparte velden, en meldt een controle een afwijking in plaats van hem stilzwijgend te overschrijven. Monitorgegevens kunnen bovendien geheimen bevatten (een header met een token, een basisauthenticatie), dus daarvan wordt een vingerafdruk bewaard en niet de waarde: genoeg om te zien dát er iets veranderd is, zonder er een tweede plek van te maken waar het geheim staat.
Profielen, en de drie lagen die niet mogen versmelten
Er zijn drie lagen en ze doen elk iets anders. Productgrenzen staan in de code: een interval onder wat de server accepteert, of een type dat deze versie niet kent, wordt hoe dan ook rechtgetrokken. De huisstandaard van het bureau is een profiel, want een beleid dat in de broncode gebakken zit is een beslissing die wij voor jou genomen hebben. En wat er waar is over déze ene monitor staat op de monitor zelf. Leeg betekent erven, een waarde betekent overschrijven, en expliciet leegmaken is hoe je 'volg de standaard' terugzet. De grenzen worden als laatste toegepast, ná het profiel en ná de monitor, zodat niets wat een bureau instelt onder een bodem kan zakken die de server toch zou weigeren. En een profiel kan nooit een URL zetten: een profiel dat dat wel kon, kon veertig monitors in één keer op de verkeerde host richten.
Rechten
Geef deze rechten aan de rol die deze koppeling beheert (Instellingen → Rollen). Standaard alleen voor beheerders, en nooit voor de rol client.
-
uptime.instance.manageServers en profielen toevoegen, wijzigen en verwijderen. Standaard alleen beheerders, want hier staan inloggegevens. -
uptime.monitor.readMonitors en hun status zien op een website, een domein of een klantpagina. -
uptime.monitor.writeMonitors aanmaken, wijzigen, pauzeren en koppelen. Alleen mogelijk op een beheerde server.
Wat het bewust niet doet
- Op een gekoppelde server kan schakl. niets aanmaken of wijzigen. Dat is de afspraak van die soort en geen tekortkoming: wij sturen daar niets naar binnen.
- Er wordt een sessietoken bewaard en nooit een wachtwoord, en ook nooit een tweestapsgeheim. Vervalt het token, dan vraagt het scherm om opnieuw koppelen in plaats van het als een storing te melden.
- Uptime Kuma heeft geen echte REST-API. De verbinding loopt over de socketverbinding die zijn eigen webinterface ook gebruikt, en daarom is het aantal ondersteunde versies iets waar we op letten in plaats van iets wat vanzelf goed gaat.
- Een server op een privéadres wordt standaard geweigerd, zoals elk uitgaand doel in schakl. Draait je Kuma op je eigen LAN, dan zet een beheerder dat bewust aan.
- Wat je hier ziet is de status van de server; het is geen tweede monitor. Ligt de Kuma zelf eruit, dan weet schakl. dat niet uit zichzelf.
Waar je het vindt Instellingen → Uptime voor de servers en de profielen, en de kaart Uptime op een website of een domein. Op de klantpagina staat de status naast de rest van wat er voor die klant draait.
Lees de handleiding