Recipe for my specific case: add fetch() on the page you want to track, supply window.location.pathname and document.referrer to track source, send it to some middleware appending data to SQLite (or any other) DB, add a data source in Grafana, filter out bots by their User-Agent headers, adjust as needed.

BTW, my phone & PDA museum page where the data on picture comes from: museum.tiredsysadmin.cc