ildkule: replace stateful (😤) baka uptime-kuma with stateless (🤤) gatus #145
Open
oysteikt
wants to merge 3 commits from
ildkule-gatus into main
pull from: ildkule-gatus
merge into: Drift:main
Drift:main
Drift:lupine-5-openvpn
Drift:temmie-userweb-per-user-fcgiwrap
Drift:dibbler-prometheus
Drift:bekkalokk-mediawiki-matrix-notifs
Drift:the-heccin-quotes
Drift:setup-openvpn-tunnel
Drift:bicep-garage-test-deployment
Drift:nettsiden-postgresql
Drift:dagali-heimdal-openldap-sasl-stack
Drift:gitea-robots-txt
Drift:bicep-revival
Drift:fmt
Drift:errorpages
Drift:PVVtheme2026
Drift:skrot-new-thing
Drift:loginpage
Drift:gitea-vaskepersonalet
Drift:create-flake-input-exporter
Drift:nom
Drift:pvvvvv
Drift:gitea-show-license-in-list-view
Drift:openwebui
Drift:openstack-image-builder
Drift:elysium
Drift:deploy-doorbell
Drift:misc-gitea-fixes
Drift:spotifyd
Drift:remote
Drift:setup-bikkje-login
Drift:ozai-prod
Drift:ozai
Drift:heimdal-openldap-sasl-testing-on-salsa-on-buskerud
Drift:misc1
Drift:add-simple-saml-theme
Drift:misc-extra-gitea-setup
Drift:setup-kerberos
Drift:setup-home-areas
Drift:shark-kanidm
Labels
Clear labels
art
backup
big
blocked
bug
comprehensive first issue
crash report
disputed
documentation
duplicate
enhancement
good first issue
logging
networking
nixos
question
salt
security
servers n' hardware
simple first issue
wontfix
The issue needs someone to be creative
No, not bug, **big** - this is gonna take a while
This issue/PR depends on one or more other issues/PRs
Something is not working, and it's not the shield hero
Do this as your first issue, and learn a lot of things
Report an oopsie
kranglefanter
Documentation changes required
This issue or pull request already exists
New feature
Get your hands dirty with a new project here
TTM4100
Requires changes to our nixos setup
More information is needed
Requires changes to our salt setup
Skommel
Regards hardware, servers or VMs
Done in nix no time
This won't be fixed
No Label
Milestone
No items
No Milestone
Assignees
adriangl (Adrian Gunnar Lauterer)
albertba (Albert Bayazidi)
alfhj (Alf Helge Jakobsen)
amalieem (Amalie Erdal Mansaker)
bjornoka (Bjornar Orjansen Kaarevik)
chrisfjo (Christian Fredrik Johnsen)
chrivi (Christoffer Viken)
danio (Daniel Lovbrotte Olsen)
davidk (David Kaasen)
dungby (Dung-Bai Yen)
eirikwit (Eirik Witterso)
felixalb (Felix Albrigtsen)
frero (Fredrik Robertsen)
jonmro (Jon Martinus Rodtang)
jovre (Jo Vassbotn Remvik)
karolds (Karoline Dyve Samuelsen)
knuta (Knut Auvor Grythe)
krisleri (Kristoffer Longva Eriksen)
larshhan (Lars Halvor Hansen)
olived (Oliver Didriksen-Kolstad)
oysteikt (Oystein Kristoffer Tveit)
pederbs (Peder Bergebakken Sundt)
root (rot)
torsteno (Torstein Nordgård-Hansen)
vegardbm (Vegard Bieker Matthey)
yorinad (Yorin Anne De Jong)
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Drift/pvv-nixos-config#145
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "ildkule-gatus"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Note to self to remove uptime-kuma from the principal backup script too 😳
1205228017to830e0a842aMye kult her, looks stort sett good to me.
Slightly skeptisk på Gatus (business-model og slop-vennlighet), men det ser helt OK ut.
RIP Uptime-Kuma, you will be missed.
Regner med vi snakker om og legger til matrix alerts i en annen PR i nær-ish fremtid?
@@ -0,0 +10,4 @@services.gatus = {enable = true;settings = {Kommer vi til å måtte overskrive veldig mye av denne modulen her for å bruke secrets? Hvis vi f.eks. vil ha matrix-notifs må den få auth tokenen sin fra noe sted.
Dokumentasjonen sier
så vi kan kanskje wrappe den så den får både den vanlige configen og hemmelig config fra sops kopiert/linket inn i samme mappe før oppstart?
Nvm, modulen har services.gatus.environmentFile, så vi kan sikkert bare bruke den
@@ -0,0 +16,4 @@port = 19283;};storage = {Får vi historikk lenger tilbake i tid om vi øker
storage.maximum-number-of-resultsogstorage.maximum-number-of-eventsen hel del? Defaultsa høres lave ut.Tror ikke det? Det er litt uklart for meg om dette er max retention som kun gjelder under cleanup eller om det er noe max limits på endpoints med flere kombinerte resultater
https://github.com/TwiN/gatus/blob/4566e746f35cb02145bbf191bf6b4afad5800c1c/storage/store/sql/sql.go#L27-L66
@@ -0,0 +123,4 @@(mkWebsite "Vaultwarden" "https://pw.pvv.ntnu.no/alive")(mkWebsite "Wiki" "https://wiki.pvv.ntnu.no/w/api.php?action=query&format=json")(mkService "Gitea SSH" "ssh://git.pvv.ntnu.no:2222")Databasene er ganske kritisk, mer enn det meste annet, så postgres og mysql på bicep bør inn her
Skal sette opp litt mer gjennomført monitoring av databasene senere, som ikke bare sjekker at de hører på en port men også at resten er i stand. Enn så lenge så vil nettsiden og sikkert wiki gi 5xx når mariadb er nede, mens alt dauer når postgres er nede.
Mener du at de gode databasesjekkene også skal være i Gatus, eller helt separat? Hvis de skal inn i Gatus; OK, resolved.
Hvis ikke er jeg skeptisk, til og med en tls/tcp-checkin er bedre enn ingenting, siden databasefeil står for en relativt stor andel av feilrapportene våre, og de kommer ofte fra nye folk eller ikke-driftere, og peker derfor på et symptom heller enn årsaken. Folk (kanskje mest nye folk i fremtiden) vil nok like å ha ett samlet dashboard å sjekke helt først i feilsøkingen, og en kjemperask "postgres er helt død" er en ganske nyttig speedup.
tls/tcp checking sjekker bare at noe listener på porten, men det er nesten aldri det som feiler. Og når det feiler, så slår det ut på resten av tjenestene, så det er egt dekka.
Ønsker meg en handler a la minecraft sjekkeren som faktisk logger inn med en bruker og kjører noen raske sql statements for begge databasene.
Jodjoda, skjønner det, jeg ville bare være sikker på at du mente at den databasejsekkene også skal ende opp i gatus-dashboardet (som minecraft-greia) og ikke være helt utenfor.
@@ -0,0 +131,4 @@"[BODY].ok == true"];})(mkService "Email (SMTP)" "tcp://mail.pvv.ntnu.no:587")De relevante her burde være
tls://i stedet fortcp://(og de har ogsåstarttls://)@@ -0,0 +144,4 @@};};services.nginx.virtualHosts."status.pvv.ntnu.no" = lib.mkIf cfg.enable {Vi har noen sånne
mkIfs noen random steder rundt om, men er de nyttige utenfor/baseog/modules? Vil vi ikke bare slutte å include hele denne fila hvis vi skal disable tjenesten?Tror det er smak og behag. Du kan slutte å include fila, eller du kan sette
enable = false. Tror ikkemkIfsa koster noe særlig, om ikke annet blir de dokumentasjon for implisitte antagelser, stemmer for å bare ha dem.@@ -0,0 +2,4 @@{systemd.sockets."gatus-minecraft-checker" = {wantedBy = [ "sockets.target" ];listenStreams = [ "25565" ];Kan vi bruke en annen port enn dette? Og hvis det ikke brukes av noen andre, kan vi lytte lokalt og ikke på 0.0.0.0? F.eks. 127.0.1.2:25566?
Flytta til 127.0.0.1:1337
@@ -2,4 +0,0 @@letcfg = config.services.uptime-kuma;domain = "status.pvv.ntnu.no";stateDir = "/data/monitoring/uptime-kuma";Husk å eventuelt slette denne etterpå
tihi
@@ -0,0 +72,4 @@(mkMachine "temmie")(mkMachine "wenche")(mkMachine "balduzius")@@ -0,0 +81,4 @@(mkMachine "drolsum")(mkMachine "hildring")(mkMachine "innovation")(mkMachine "isvegg")830e0a842ato81ca68c84481ca68c844tob0e3d90c20🚀
@@ -0,0 +8,4 @@};};systemd.services."gatus-minecraft-checker" = {/s
なぬっ!😨
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.