Skip to content

Streamers

An Agora installation grows by adding streamers. A streamer is a server that does the work on a broadcast: it takes the signal, encodes it, records the archive and serves viewers. The control plane decides on its own which broadcast lives on which streamer — see Stream placement.

The Cluster → Streamers section shows every server of the installation.

The list of streamers

What the counters say

The four tiles at the top answer "is everything all right" without making you read the table:

  • On air — servers that are in touch and doing the work.
  • Signal lost — the server is in touch, but the broadcast on it is not running. Look at the source, not at the server.
  • Offline — the server does not answer the control plane.
  • Rejected attempts — somebody tried to join and was not accepted. Zero here is the normal state; anything else means either a mistake in the token or a stranger's machine knocking on your control plane.

A server's row

  • Host name and the server id. The machine the control plane itself lives on is marked local.
  • State — the same as in the tiles, but about this machine.
  • CPU — the load. It shows who needs relieving.
  • RX / TX — how much the server takes in and how much it sends out.
  • Sessions — how many viewers are watching from it right now.
  • Streams — how many broadcasts are running on it out of how many are assigned. 1/1 means "one assigned, one running"; 0/1 means assigned but not running.
  • DVR — the state of the archive on its disks.
  • Uptime and last sync — how long the server has been running and when it last received configuration from the control plane. A growing "last sync" is the first sign that the link to the control plane is gone, well before the server turns offline.

The local streamer

On a single machine the control plane and the streamer are one process, and the list holds that one machine, marked local. It neither needs nor allows joining separately: it is part of the same installation.

Such a machine works in full. The difference from a cluster is not in what it can do but in the fact that a single machine's headroom ends when the machine does.

Joining a server

A new server enters the cluster with a join token — a one-off pass the control plane issues for a limited time.

  1. Press Allow joining. The control plane opens a window for an hour and shows the token.
  2. Install the server package on the new machine and hand it that token.
  3. The server comes to the control plane itself and appears in the list.

The window is time-limited on purpose. A pass that is always valid ends up in somebody else's correspondence sooner or later; an hour is as long as it takes to install a package on a prepared machine.

An attempt to join without a valid token is refused and counted in rejected attempts.

What to do when a server goes offline

An offline server means the link to the control plane is gone, not necessarily that the broadcast is: it keeps running and serving the broadcasts already assigned to it. The control plane, meanwhile, stops considering it fit for new assignments and after a while moves broadcasts onto live servers.

The order of investigation is the usual one: look at last sync first — when the link was last alive — then check the network between the server and the control plane, and only then the server itself.