i think for this case using Timescale Cloud + UMH could be the way to go. Timescale Cloud for storing the data, then UMH to get the Historian functionalities like Grafana etc.. Probably community edition would be fine for you.
With UMH it would be like this:
1. Use Hetzner to get a cheap bare-metal VM (you can also use AWS or Azure, but they are like 10x more expensive)
2. Install the community edition of UMH onto it and use the inbuilt TimescaleDB (will do it by default)
3. Point the machines to send the data via MQTT to the HiveMQ instance running in the UMH on Hetzner. If the machines only provide an OPC UA server the setup will get more complex as you would need a protocol converter from OPC UA to MQTT / Kafka on the edge at every machine. You can simply leverage the UMH for this as well. As you are the machine builder, I would strongly suggest to send the data out via MQTT.
4. Once you get it working and can confirm the business value, you could outsource the TimescaleDB part to TimescaleDB Cloud (depending on your needs)
5. if you need enterprise support and guidance on the way, feel free to contact us (www.umh.app)