One of the tools I've built to monitor server health is CPU and bandwidth monitoring - servermonitor. It provides in real-time animated graphs of CPU usage by core and bandwidth on the NIC of a server.
I use this on my StarMade server - it looks pretty and has some value when trying to determine server load at any given time without using those ugly command line tools like dstat or top.
It's structured such that the front-end webserver serving the HTML can be a different machine to the game server being monitored. It uses a lightweight Python webserver on the game server to serve up json data on the CPU and bandwidth, and the front end webserver uses jquery to regularly poll the python webserver for the json data.
Git: https://github.com/mikesheen/servermonitor
Live Example: https://www.sheen.id.au/monitor/
Sample image:
I use this on my StarMade server - it looks pretty and has some value when trying to determine server load at any given time without using those ugly command line tools like dstat or top.
It's structured such that the front-end webserver serving the HTML can be a different machine to the game server being monitored. It uses a lightweight Python webserver on the game server to serve up json data on the CPU and bandwidth, and the front end webserver uses jquery to regularly poll the python webserver for the json data.
Git: https://github.com/mikesheen/servermonitor
Live Example: https://www.sheen.id.au/monitor/
Sample image: