Skip to content

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.