5 ms·
Monitoring and metric collection makes a lot of sense when you run a production system, or a personal but critical system. Promoting a telemetry solution when
by strogonoff 1y ago
Monitoring and metric collection makes a lot of sense when you run a production system, or a personal but critical system.
Promoting a telemetry solution when it comes to a hobby server, which you host for yourself and which can’t bankrupt you by running up a massive AWS bill, doesn’t seem to make much sense when simply bottling it up in Docker and being able to restart or recreate at will is enough (mount volumes for logs and persistent data, back it up, and you’re good).
With games like Minecraft in particular there’s value in being able to have multiple servers with different worlds, perhaps different mods, etc. If you decide not to have more servers because they are snowflakes you do not have time to set up monitoring for then you rob yourself and your players of the opportunity to have more fun.
Furthermore, containerizing it allows you to upgrade as new game versions come out quickly by simply spinning up a new container with your preexisting world as a test, and you get you basic system resource usage monitoring built-in.
What I think could be a more interesting exercise is a dashboard for friends or family that allows to manage the lifetime and configuration of their respective containers.
- dpe82 1y agoHave you never just built something for fun?
- strogonoff 1y agoI have built a panel like the one I mentioned for fun with friends! The goal of my comment was to highlight opportunities for more fun and less what seems like toil. Furthermore, this is an article about a telemetry solution posted on a site of that telemetry solution. They make money from this.
- dewey 1y agoOne persons toil is another persons fun.
- strogonoff 1y agoAnd sometimes a person is paid to pretend toil is fun. We are talking about spending hours setting up telemetry instead of playing a game.
- dewey 1y agoNot everyone is into gaming. I rather code on my side projects than use my console. Or people tweak and customize their Linux installation instead of doing work on it. Some people like to work on their cars, driving is a small part of it.
- strogonoff 1y agoI agree, and I am as guilty of procrastination. However, the author is not really procrastinating—he gets paid for this. Me, I do in fact procrastinate on setting up a Minecraft server infra in the cloud. Maybe that’s precisely why the solution to this problem strikes me as inadequate: > So, the Minecraft server should work reliably and, if it goes down, I should know well before they do How are metrics helpful? There is so much fun that could be had in setting up an actually resilient system instead. Why worry over metrics and alerts when you could orchestrate an infrastructure that grants you the superpower of being able to spin up a server with a copy of the world on a whim instead (or even a system that auto-starts one whenever there is demand)?
- dewey 1y agoYou are somehow very negative about this piece and are not understanding that your definition of fun is not universal. As you said "There is so much fun that could be had in setting up an actually resilient system instead.", maybe the author has more fun setting up alerts and metrics instead of a resilient system like you do? The truth is that in most real-world scenarios getting alerts, metrics is much more important than building a fully resilient system (Expensive, maybe overengieering for early stage etc.). > However, the author is not really procrastinating—he gets paid for this. As the first sentence in the blog post says "One of the secret pleasures of life is to be paid for things you would do for free.", which I can very much understand as I often work or play with things I could use at work in my free time.
- dengolius 1y agoDo you mean something like launching k3s on smartphones https://blog.denv.it/posts/pmos-k3s-cluster/ https://blog.denv.it/posts/pmos-k3s-cluster/?
- ajmurmann 1y agoI am currently planning adding monitoring to some toy apps I hosted on a raspberry pi cluster. The intent is that this might safe me time and stress further down the road. If a new version makes performance worse, I want to see that in the data. If resource needs go up, I want to know that before it's time to move, so that I can plan without any kind of scheduling stress. (I also want to do this in part as an exercise which is partial motivation for the cluster and most things I built that run on it. But don't tell anyone!) Am I misguided?
- strogonoff 1y agoWell, as far as I’m concerned, if they are toy apps, why stress? If they are going to go in production at some point, then sure; but this certainly is not happening with a family game server.
- jauntywundrkind 1y agoSeeing what computers are doing is good, actually. Period.
- strogonoff 1y agoThis is a real-time game. What the computer is doing is directly in front of your eyes.
- jauntywundrkind 1y agoI know I sound like a freak to you, but you sound like a deranged freak to me too. Who would opt for ignorance? Who would opt not to have data? Who would opt not to see more? Its insanity to me to resist enrichment so. Limiting yourself to only naive senses is a wild proposition to me. The scientific mindset compels us to see further: it is a wild privilege to see more, to build and use tools that expand how we can see.
- strogonoff 1y ago
- koinedad 1y agoI’ve recently added telemetry to some “toy” apps at my house because a power outage or other unforeseen issue has caused things like my Siri enabled garage doors to stop working. Now I get alerts through grafana and telegram for basically free which comes in handy.
- strogonoff 1y agoA garage door is a security concern. For a game, a solution that simply restarts the container if it’s down solves the issue. You can mount game logs in a volume if you want, and you can see resource usage in container host dashboard. What value do detailed system metrics bring? Furthermore, you don’t care what software you run to make your garage door system Siri-enabled, as long as it does its job and is not vulnerable; whereas with a game that adds new gameplay features multiple times per month, you do want to update it frequently. Babysitting a snowflake server makes it way more difficult than it should be.
- gmuslera 1y agoImplementing proper monitoring in a toy system doesn't prepare you to do it in a massive critical system, but at least you may had learn something in the process, and notice things that in big scale may not be as evident. In any case, fun starts when the system have more interdependent components.
- strogonoff 1y agoI think there is value in learning which pattern is good to apply in which scenario, and I will argue that in this case the best pattern is “servers are cattle”.
- mmanciop 1y agoOne of the stretch goals for me writing this article was indeed to show between the lines how Prometheus Exporters, the OpenTelemetry Collector and Systemd can all work together. That is a very reusable skill on monitoring workflows running outside containers on Linux VMs or hosts.
- harrall 1y agoSetting up telemetry is really easy if you’ve done it before and it’s a learning opportunity if you haven’t. I have Dockerfiles from 10 years ago for Grafana and a time-series DB so basically you learn it once and you can bang out basic telemetry infra in an hour afterwards. And I still actually use InfluxDB and Grafana for my hobby stuff. My current Dockerfiles just look like my old ones…
- strogonoff 1y agoWhat happens if Grafana or InfluxDB is down? Who monitors the monitors?
- jeroenhd 1y agoThe goal of this article is to show you how to integrate with this service from just about anything. It's an ad that was fun to make as a hobby project. I doubt the goal was ever to set up a fully integrated Minecraft monitoring pipeline. At best, this is an employee at this company just decided to show the flexibility of their product by integrating with a random piece of kit they like. Luckily, all of the interesting components are existing third party libraries so if you don't want to use their SaaS service, you can build your own Minecraft dashboard pretty easily.
- mmanciop 1y agoI am indeed an employee of Dash0. The setup for telemetry collector will work with anything that accepts OTLP, and with minor adjustments, the data can be sent elsewhere too in other formats, as the OpenTelemetry Collector is very flexible in that regard. Alerting is specific to Dash0. I know of no other monitoring solution that lets you run real PromQL on logs. But there will be similar ways of accomplishing the same alerting logic.
- mmanciop 1y agoFor this, I have the impression that https://github.com/dirien/minectl https://github.com/dirien/minectl might be very close to what you are thinking. I did not try it, but took the Minecraft Exporter from it and used in the setup.