I started to build InfluxDB for a high availability InfluxDB architecture. I will share all my experience with the InfluxDB Relay in this post. This is based on InfluxDB 1.X
- Authentication
InfluxDB will relay all authentication, so if your telegraf is using Basic Auth or Token based , that data will be sent to destination. - Logs
InfluxDB does not provide any logs for troubleshooting - Does InfluxDB tells the client if any node is down?
There are several scenarios:
– If at least one node is still working fine, InfluxDB Relay will not return any error message.
– InfluxDB relay will only return an error to client in these cases:
– All nodes are down
– One of the nodes has authentication issue. For example, one node return 401 error, this error will return to client – in this case, data will not be also saved. - What happen if node is down?
InfluxDB has a memory buffer setting, when a node is down, data will be saved in this buffer. When node is up, data will be sent to the node. Since this node is in memory, it has some limitation: it shouldn’t be more than your server memory, when it reach the max buffer setting, data will be dropped. In this case you can restore from a good node. - InfluxDB Relay will work with a mix of both version 1x and 2.x
- InfluxDB Relay does not relay database admin operation or query tasks. It only relays the data write. So, if you need to find a way to make sure all your servers having consistent data. For example, if you create a new database/users , make sure all servers will have the same database and users password.
Just found this one:
https://github.com/toni-moreno/influxdb-srelay- https://github.com/toni-moreno/syncflux