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:
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:
Zabbix levert hiervoor standaard monitoringmogelijkheden en templates.
Storage is een belangrijk onderdeel van de monitoring.
Er wordt onder andere gekeken naar:
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:
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:
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:
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:
Naast servermonitoring kunnen ook webservices worden gecontroleerd.
Denk bijvoorbeeld aan:
tulpencraft.nl;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;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:
Monitoring vervangt geen securitymaatregelen, maar vormt een aanvullende detectielaag.
Zie ook:
Binnen Tulpencraft wordt monitoring bij voorkeur in meerdere lagen toegepast.
| Laag | Voorbeelden |
|---|---|
| ๐ฅ๏ธ Hardware | CPU, RAM, storage, netwerk |
| ๐งฑ Virtualisatie | Proxmox, VM-status |
| ๐ง Operating system | Rocky Linux, services, filesystem |
| โ๏ธ Applicatie | Velocity, Minecraft, database |
| ๐ Netwerk | bereikbaarheid, verkeer, interfaces |
| ๐ Web | HTTP/HTTPS, certificaten, beschikbaarheid |
| ๐จ Incidenten | triggers, 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:
De monitoringarchitectuur moet daarbij meegroeien met de serverarchitectuur.
| Onderdeel | Huidige situatie |
|---|---|
| ๐ Monitoringplatform | Zabbix |
| ๐ฅ๏ธ Virtualisatie | Proxmox VE |
| ๐ฅ๏ธ Huidige host | hv002 |
| ๐ง Operating system | Rocky Linux 10 |
| ๐ฎ Minecraft | Paper |
| ๐ Proxy | Velocity |
| ๐๏ธ Database | Intern op mc-proxy001 |
| ๐ Systeemlogging | systemd/journald |
| ๐ Security logging | SELinux/audit |
| ๐ Historische data | Zabbix |
Binnen Tulpencraft gelden voor monitoring de volgende uitgangspunten:
De officiรซle Zabbix-documentatie beschrijft onder andere Linux-monitoring, MySQL-monitoring, netwerkmonitoring, VMware-monitoring en webmonitoring.