High availability¶
TeskaLabs LogMan.io Receiver is designed to run in multiple instances, independent to LogMan.io tenants. The recommended setup is to operate one TeskaLabs LogMan.io Receiver on each node of the central LogMan.io cluster with the deployed NGINX.
TeskaLabs LogMan.io Collector uses DNS round-robin ballancing to connect to one of NGINX servers. The NGINX forwards the incoming communication links to the receiver instance, with the preference of the receiver running on the same node as the NGINX.
More than one lmio-receiver
instance can be operated on the cluster node, for example if the performance of the single instance of lmio-receiver
become the bottleneck.
Example of the high availability configuration
graph LR
c1[lmio-collector] -.-> n1[NGINX]
c1[lmio-collector] --> n2[NGINX]
c1[lmio-collector] -.-> n3[NGINX]
subgraph Node 3
n1[NGINX] --> r1[lmio-receiver]
end
subgraph Node 2
n2[NGINX] --> r2[lmio-receiver]
end
n2[NGINX] -.-> r1[lmio-receiver]
n2[NGINX] -.-> r3[lmio-receiver]
subgraph Node 1
n3[NGINX] --> r3[lmio-receiver]
end
Failure recovery scenarios¶
- The
lmio-receiver
instance is terminated: NGINX rebalances commlinks to another instances of the receiver on other nodes. - The NGINX is terminated: the collector reconnects to another NGINX in the cluster.
- The whole cluster node is terminated: the collector reconnects to another NGINX in the cluster.