Why Prometheus + Grafana over other monitoring options?
I've been setting up and testing prometheus and grafana for about a week now, since that seems to be the universally accepted solution for self-hosted monitoring. But I'm starting to question why it is so accepted. On top of prometheus not seeming useful on it's own (needing grafana to visualize and alertmanager for alerts) it feels like with each thing i want to monitor I have to spin up another docker container to export/gather the data. There are other options like LibreNMS that seems to have all that built into one container. So what does this Prometheus/Grafana stack have that other monitoring services don't? Is it really worth having to set up each of these specialized exporters and dashboards? Or am I mistaken that it's the main solution everyone uses? Are you using something different for monitoring?
LibreNMS has a very different purpose from your other monitoring options - it's network monitoring at a large scale, not a generic data storage / data visualization platform. If your goal is to monitor your selfhosted servers and services, this is going to be an odd fit and you'll probably struggle against it.
Better fits for an out-of-the-box monitoring setup would be CheckMK or Zabbix.
These other "stacks" for monitoring are a little more bespoke. To cover it briefly:
Grafana is popular because it is a fantastic visualization platform. The backend data storage is pluggable.
There are many options for data storage, all that are a little different. Graphite, is push-based and the Statsd compatibility makes it super simple to push your own metrics into it. Prometheus is pull-based. And InfluxDB is more of a time-series database.