Discussion about TIG stack to offer a monitoring service (of remote systems)

We want to use the TIG stack to gather data from remote systems and offer a monitoring service.

This is a draft of the schema I’m going to configure:

On the customer side:

  • Telegraf “gatherers” instances - to gather data
  • Telegraf Gateway - collects data from all the “gatherers” (using the influxdb_listener) and send the data to our server

The gateway is handy to centralize configurations and avoid editing N telegraf configuration files in case of changes (like our endpoint URL)

On our side:

  • Telegraf gateway to receive and send data to the appropriate outputs/databases
  • InfluxDB instance (one instance with a database for each customer)
  • Grafana to show data (one instance with different organizations)

In this case the gateway allows us to flexibility on our side, we will be able set up a new InfluxDB instance or databases and start populating them just by adjusting the gateway configuration

Questions
Have you ever done something like this before?
Which are the flaws of this design?

I would like to know your opinion and advice about this setup

Here is the drawio file of the schema in case you want to edit it (the .txt extension has been added only to upload it)
TIG_System_Schema.drawio.txt (2.1 KB)