CPU/RAM/Disk/Network etc. get written to Influxdb via Telegraf, and visualized with Grafana.
This is my exact setup and I love it (especially in comparison to the prometheus stack which I have to use at work). telegraf is so easy to use and extend. I have my own custom metrics for things like speed of my home internet connection (runs speedtests every hour), listener counts on my custom/private internet radio stream, or even fetching the daily food trucks rotation at a nearby lunch site (influx can handle text data!)
I don't do anything for logging but I also like UptimeKuma to keep and eye on things I run. Grafana has alerting but I find it pretty horrible.
Definitely... you can write custom scripts that Telegraf will run and write that data to Influx. For instance, I have one that writes the Gateway status information from pfSense so I can track and graph any internet downtime.