๐Ÿ“Š Monitoring & logging

Een stabiele Minecraft-infrastructuur begint niet alleen met een goede configuratie, maar ook met zichtbaarheid.

Tulpencraft gebruikt daarom Zabbix als centraal platform voor infrastructuurmonitoring.

Zabbix wordt gebruikt om de technische infrastructuur te bewaken en problemen zo vroeg mogelijk te signaleren.


Zabbix is het centrale monitoringplatform binnen de infrastructuur.

De monitoring richt zich voornamelijk op:

  • ๐Ÿ–ฅ๏ธ servers en VM's;
  • โš™๏ธ CPU-belasting;
  • ๐Ÿง  RAM-gebruik;
  • ๐Ÿ’พ storagegebruik;
  • ๐Ÿ“€ filesystemgebruik;
  • ๐ŸŒ netwerkinterfaces;
  • ๐Ÿ“ˆ netwerkverkeer;
  • ๐Ÿ”Œ beschikbaarheid van systemen;
  • ๐Ÿงฉ systeemdiensten;
  • ๐Ÿ—„๏ธ databases;
  • ๐ŸŒ webservices;
  • ๐Ÿšจ storingen en afwijkingen.

Zabbix bestaat uit verschillende componenten, waaronder een centrale server, database, webinterface en agents. De Zabbix Server vormt het centrale punt voor verzamelde monitoringgegevens.


De monitoring staat los van de Minecraft-functionaliteit zelf.

Conceptueel:

                    ๐Ÿ“Š Zabbix
                       โ”‚
             โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
             โ”‚         โ”‚         โ”‚
             โ–ผ         โ–ผ         โ–ผ
        ๐Ÿ–ฅ๏ธ Proxy    ๐ŸŽฎ Survival  ๐ŸŽฏ Events
             โ”‚         โ”‚         โ”‚
             โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                       โ”‚
                       โ–ผ
                  ๐Ÿ“ก Monitoring

Hierdoor kunnen problemen met de onderliggende infrastructuur worden vastgesteld zonder afhankelijk te zijn van de Minecraft-client.


De Tulpencraft-servers draaien op Rocky Linux 10.

Linux-systemen kunnen met de Zabbix Agent worden gemonitord.

Daarmee kunnen onder andere systeemwaarden worden verzameld zoals:

  • CPU;
  • geheugen;
  • swap;
  • filesystemgebruik;
  • netwerk;
  • processen;
  • systeemdiensten.

Zabbix levert hiervoor standaard monitoringmogelijkheden en templates.


Storage is een belangrijk onderdeel van de monitoring.

Er wordt onder andere gekeken naar:

  • totale opslag;
  • gebruikte opslag;
  • vrije opslag;
  • filesystemgebruik;
  • inodegebruik;
  • mogelijke groeitrends.

Dit is belangrijk omdat een volledig filesystem uiteindelijk kan leiden tot problemen met Minecraft, databases en systeemdiensten.

Zie ook:


Ook CPU- en geheugenbelasting worden gemonitord.

Dit is vooral relevant omdat meerdere VM's op dezelfde fysieke Proxmox-host draaien.

Een probleem kan bijvoorbeeld ontstaan wanneer:

๐ŸŽฎ Minecraft
      โ”‚
      โ–ผ
๐Ÿ“ˆ CPU/RAM gebruik
      โ”‚
      โ–ผ
โš ๏ธ Resource pressure
      โ”‚
      โ–ผ
๐ŸŒ Slechtere performance

Monitoring maakt het mogelijk om dergelijke trends te herkennen voordat een systeem daadwerkelijk onbruikbaar wordt.


Netwerkinterfaces en netwerkverkeer kunnen eveneens worden gemonitord.

Hierbij kan worden gekeken naar bijvoorbeeld:

  • inkomend verkeer;
  • uitgaand verkeer;
  • interfacebelasting;
  • packet errors;
  • beschikbaarheid;
  • netwerkcapaciteit.

Zabbix ondersteunt hiervoor zowel agent-gebaseerde monitoring als netwerkmonitoring via onder andere SNMP.


De onderliggende virtualisatieomgeving is een belangrijk onderdeel van de infrastructuur.

De huidige Tulpencraft-omgeving draait op:

Proxmox VE
โ””โ”€โ”€ hv002

De fysieke host hv002 wordt gebruikt voor meerdere VM's.

Daarom is monitoring van de onderliggende infrastructuur belangrijk naast monitoring van de individuele VM's.

Waar mogelijk worden daarom zowel:

  • fysieke infrastructuur;
  • virtualisatie;
  • VM's;
  • operating systems;
  • applicaties;

in de monitoring meegenomen.


Zabbix is in eerste instantie gericht op de infrastructuurlaag.

Minecraft zelf heeft daarnaast eigen logging en monitoringmogelijkheden.

Belangrijke signalen zijn bijvoorbeeld:

  • server beschikbaarheid;
  • Java-processen;
  • CPU-gebruik;
  • RAM-gebruik;
  • storage;
  • serverlogs;
  • crashes;
  • restartgedrag.

Meer specifieke Minecraft-monitoring kan in de toekomst worden uitgebreid.


Belangrijke Linux-services kunnen worden gecontroleerd.

Bijvoorbeeld:

systemctl status minecraft-lobby

Of:

systemctl status minecraft-survival

Zabbix kan daarnaast systeemdiensten monitoren en afwijkingen signaleren.

Dit maakt het mogelijk om onderscheid te maken tussen:

๐Ÿ–ฅ๏ธ VM bereikbaar
        โ”‚
        โ”œโ”€โ”€ โœ… Ja
        โ”‚
        โ””โ”€โ”€ โŒ Nee
 
          รฉn
 
โš™๏ธ Minecraft-service
        โ”‚
        โ”œโ”€โ”€ โœ… Actief
        โ”‚
        โ””โ”€โ”€ โŒ Gestopt

Een server kan immers technisch bereikbaar zijn terwijl de Minecraft-service niet draait.


De huidige database draait intern op:

mc-proxy001

Databasebeschikbaarheid en prestaties kunnen onderdeel worden van de monitoring.

Zabbix beschikt hiervoor onder andere over mogelijkheden voor MySQL-monitoring via Zabbix Agent 2.

Hierbij kan bijvoorbeeld worden gekeken naar:

  • databasebeschikbaarheid;
  • verbindingen;
  • queries;
  • performance;
  • databasegrootte;
  • resourcegebruik.

Naast servermonitoring kunnen ook webservices worden gecontroleerd.

Denk bijvoorbeeld aan:

  • tulpencraft.nl;
  • wiki;
  • toekomstige webinterfaces;
  • API's;
  • andere netwerkdiensten.

Zabbix ondersteunt HTTP- en browsergebaseerde webmonitoring.

Hiermee kan bijvoorbeeld worden gecontroleerd of een website daadwerkelijk bereikbaar is in plaats van alleen te kijken of de onderliggende server reageert.


Monitoring heeft pas echt waarde wanneer problemen ook daadwerkelijk worden gesignaleerd.

Zabbix werkt hiervoor met triggers en problemen.

Voorbeelden:

โš ๏ธ Filesystem bijna vol
โš ๏ธ Hoge CPU-belasting
โš ๏ธ Hoog RAM-gebruik
โš ๏ธ Host niet bereikbaar
โš ๏ธ Service gestopt
โš ๏ธ Database niet bereikbaar
โš ๏ธ Netwerkprobleem
โš ๏ธ Webservice niet bereikbaar

Afhankelijk van de ernst kan een probleem verschillende prioriteiten krijgen.


Niet ieder probleem ontstaat plotseling.

Daarom worden historische monitoringgegevens gebruikt om trends te herkennen.

Bijvoorbeeld:

Storage
 
100 GB โ”ค
 90 GB โ”ค                         โ•ฑ
 80 GB โ”ค                     โ•ฑโ”€โ”€โ”€
 70 GB โ”ค                 โ•ฑโ”€โ”€โ”€
 60 GB โ”ค             โ•ฑโ”€โ”€โ”€
 50 GB โ”คโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
       โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
          tijd โ†’

Wanneer blijkt dat een filesystem structureel groeit, kan actie worden ondernomen voordat de beschikbare ruimte daadwerkelijk opraakt.


Naast Zabbix wordt gebruikgemaakt van de normale Linux- en applicatielogging.

Belangrijke logbronnen zijn onder andere:

  • journald;
  • Minecraft logs;
  • pluginlogs;
  • Java logs;
  • SELinux/audit logs;
  • firewall logs;
  • database logs.

Voor systemd-services kunnen bijvoorbeeld logs worden bekeken met:

journalctl -u minecraft-lobby

Of:

journalctl -u minecraft-survival

Zie ook:


Monitoring en logging vullen elkaar aan.

Zabbix geeft voornamelijk antwoord op:

Wanneer en waar ging iets mis?

Logs helpen vervolgens bij:

Waarom ging het mis?

Bij een incident kan bijvoorbeeld deze volgorde worden gebruikt:

๐Ÿšจ Zabbix alert
      โ”‚
      โ–ผ
๐Ÿ“Š Monitoringdata bekijken
      โ”‚
      โ–ผ
๐Ÿ• Tijdstip bepalen
      โ”‚
      โ–ผ
๐Ÿ“‹ Logs controleren
      โ”‚
      โ–ผ
๐Ÿ” Oorzaak bepalen
      โ”‚
      โ–ผ
๐Ÿ› ๏ธ Probleem oplossen
      โ”‚
      โ–ผ
๐Ÿ“ˆ Controleren of systeem hersteld is

Dit maakt monitoring ook belangrijk voor reconstructie van incidenten.


Correcte tijd is belangrijk voor monitoring en incidentanalyse.

Wanneer verschillende systemen verschillende tijden gebruiken, wordt correlatie van gebeurtenissen moeilijker.

Daarom is een consistente tijdsynchronisatie belangrijk.

De technische documentatie hierover staat onder:


Monitoring heeft ook een belangrijke beveiligingsfunctie.

Afwijkingen kunnen bijvoorbeeld wijzen op:

  • ongeautoriseerde toegang;
  • brute-forcepogingen;
  • onverwachte processen;
  • ongebruikelijke netwerkbelasting;
  • gewijzigde services;
  • storageproblemen;
  • onverwachte systeemwijzigingen.

Monitoring vervangt geen securitymaatregelen, maar vormt een aanvullende detectielaag.

Zie ook:


Binnen Tulpencraft wordt monitoring bij voorkeur in meerdere lagen toegepast.

LaagVoorbeelden
๐Ÿ–ฅ๏ธ HardwareCPU, RAM, storage, netwerk
๐Ÿงฑ VirtualisatieProxmox, VM-status
๐Ÿง Operating systemRocky Linux, services, filesystem
โš™๏ธ ApplicatieVelocity, Minecraft, database
๐ŸŒ Netwerkbereikbaarheid, verkeer, interfaces
๐ŸŒ WebHTTP/HTTPS, certificaten, beschikbaarheid
๐Ÿšจ Incidententriggers, alerts en logging

Hierdoor wordt voorkomen dat uitsluitend naar รฉรฉn onderdeel van de infrastructuur wordt gekeken.


Naarmate Tulpencraft groeit kan de monitoring verder worden uitgebreid.

Mogelijke uitbreidingen zijn:

  • uitgebreide Minecraft-metrics;
  • tick-time monitoring;
  • TPS-monitoring;
  • JVM-monitoring;
  • player-count monitoring;
  • netwerkmonitoring;
  • database monitoring;
  • webmonitoring;
  • automatische incidentmeldingen;
  • dashboards voor verschillende beheerders;
  • monitoring van meerdere Proxmox-nodes.

De monitoringarchitectuur moet daarbij meegroeien met de serverarchitectuur.


OnderdeelHuidige situatie
๐Ÿ“Š MonitoringplatformZabbix
๐Ÿ–ฅ๏ธ VirtualisatieProxmox VE
๐Ÿ–ฅ๏ธ Huidige hosthv002
๐Ÿง Operating systemRocky Linux 10
๐ŸŽฎ MinecraftPaper
๐Ÿš€ ProxyVelocity
๐Ÿ—„๏ธ DatabaseIntern op mc-proxy001
๐Ÿ“‹ Systeemloggingsystemd/journald
๐Ÿ” Security loggingSELinux/audit
๐Ÿ“ˆ Historische dataZabbix

Binnen Tulpencraft gelden voor monitoring de volgende uitgangspunten:

  1. ๐Ÿ“Š Zabbix is het centrale infrastructuurmonitoringplatform.
  2. ๐Ÿ–ฅ๏ธ Kritieke infrastructuur wordt gemonitord.
  3. ๐Ÿšจ Belangrijke problemen moeten als alert zichtbaar worden.
  4. ๐Ÿ“ˆ Historische data wordt gebruikt voor trendanalyse.
  5. ๐Ÿ“‹ Monitoring en logging vullen elkaar aan.
  6. ๐Ÿ• Tijdstempels moeten onderling betrouwbaar zijn.
  7. ๐Ÿ” Monitoring ondersteunt ook security en incidentanalyse.
  8. ๐Ÿ“ˆ Monitoring wordt uitgebreid wanneer de infrastructuur groeit.

De officiรซle Zabbix-documentatie beschrijft onder andere Linux-monitoring, MySQL-monitoring, netwerkmonitoring, VMware-monitoring en webmonitoring.

  • technische-infrastructuur/monitoring.txt
  • Laatst gewijzigd: 2026/08/23 11:08
  • door rroethof