Documentation sections

Traffic processing servers

How to tell that changes to campaigns, streams and domains have reached every server that accepts clicks.

A processing server is the part of the tracker that accepts clicks and sends them along streams. After you change campaigns, streams, offers, landing pages or domains, the tracker publishes a new version of the settings, and the processing servers confirm that they received it. The result is shown in the Applying traffic settings («Применение настроек трафика») block on the Admin panel → Status («Админ-панель → Состояние») page; the other blocks on the page are described in System status. Owners and admins can see this section.

The “Applying traffic settings” block

The block refreshes automatically every 10 seconds. It has four parts:

  • the overall status to the right of the heading;
  • the line “Confirmed N of M” («Подтвердили N из M») — how many expected servers applied the current version;
  • the line “Version … · published …” («Версия … · опубликована …») — the number of the current settings version and the number of the published version, with the publication date and time next to them. Normally the numbers match;
  • the server table.

Settings count as applied once all expected servers confirm them. A missing server stays in the list: the set of servers never shrinks on its own. If something fails, a processing server keeps working with the last settings version it received.

Overall status

StatusWhat it meansWhat to do
Applied («Применены»)The current version is published, and all expected servers confirmed itNothing
Checking… («Проверка…»)The block has not received its first response yetNothing
Could not check settings application («Не удалось проверить применение настроек»)The block did not get a response from the panel. The request repeats in 10 secondsIf the message does not go away, check the postgres card on the same page
Publication not confirmed («Публикация не подтверждена»)The last settings publication ended with an error, or the panel could not check the published versionThe tracker retries the publication on its own. If the status does not go away, check the redis card and the admin container log
There are unsynced changes («Есть несинхронизированные изменения»)Changes are saved but are not in the published version yetNothing: the tracker publishes them on its own
Server check unavailable («Проверка серверов недоступна»)The panel could not read the server confirmations. The line “Connection to processors is not confirmed right now” («Связь с обработчиками сейчас не подтверждена») appears under the summaryCheck the redis card
Server names repeat («Повторяются имена серверов»)Two or more running servers reported the same nameSee the Duplicate server name («Повторяется имя сервера») state in the table below
Server outside the list detected («Обнаружен сервер вне списка»)A server that is not in the expected list is runningSee the Not in the expected list («Вне списка ожидаемых») state
Not confirmed on all servers («Подтверждено не на всех серверах»)At least one expected server has not confirmed the current versionFind the row in the server table where the state is not Settings applied («Настройки применены»)

If there are several reasons, the one higher in the table above is shown.

Server table

Columns: Processing server («Сервер обработки») — the name, Version («Версия») — the settings version the server confirmed, State («Состояние»), Last response («Последний отклик»). Until there has been a response, the last column shows “Not received yet” («Ещё не получен»). A server that is not in the expected list has the mark “detected” («обнаружен») next to its name. Expected servers come first, then detected ones.

StateWhat it meansWhat to do
Settings appliedThe server is online and confirmed the current versionNothing
Waiting for update («Ожидает обновления»)The server is online but confirmed a different versionNothing: the server rereads the settings on its own. If the state does not go away, look at the redirect container log
No response («Нет отклика»)The expected server has never reported in, or more than 24 hours have passed since its last responseCheck that the server is running and that its name matches the name in the expected list
Connection lost («Связь потеряна»)The server's last response is older than 30 secondsCheck the redirect container on this server and the redis card
Duplicate server nameSeveral running servers reported the same name. Their number is in parenthesesAfter restarting a server, wait 30 seconds. If the state remains, give each server its own name
Not in the expected listThe server reported in during the last 24 hours, but it is not in the expected listAdd the name to the list or stop the server
Check unavailable («Проверка недоступна»)The panel could not read the confirmations, or the block did not get a response. Shown on all rows at onceCheck the redis card

The postgres and redis cards are on the System status page. Commands for viewing containers and logs are in Where to look at the installation state.

A running server outside the list and a repeated name prevent the Applied overall status. An entry for a server outside the list that stopped reporting in does not block the status and disappears from the table 24 hours after its last response.

Timing

  • A processing server reports in every 10 seconds.
  • A response older than 30 seconds counts as lost connection.
  • Response records are kept for 24 hours. After that, an expected server stays in the table with the No response state.
Tip.

After a processing server restarts, its previous confirmation stays valid for up to 30 seconds. During this time you may see the Duplicate server name state and the Server names repeat overall status; a hint appears under the table: “Each processor must have its own name. After a restart, confirmation may take up to 30 seconds.” («У каждого обработчика должно быть своё имя. После перезапуска подтверждение может занять до 30 секунд.»)

Single-server installation

A tracker installed by the installer works with one processing server. Its name is redirect-main, and the same name is written to the expected list. The table has one row, and the summary says “Confirmed 1 of 1”. You do not need to set anything up.

Several processing servers

The set of servers is defined at deployment by two parameters. You cannot change it in the panel.

ParameterWho reads itValue
REDIRECT_NODE_IDThe redirect service on each processing serverThis server's name, for example redirect-eu-1. Default: redirect-main
REDIRECT_EXPECTED_NODE_IDSThe admin service on the panel serverThe full list of names separated by commas, for example redirect-eu-1,redirect-eu-2

If REDIRECT_EXPECTED_NODE_IDS is not set, one server with the name from REDIRECT_NODE_ID is expected. The installer sets up one processing server and writes both parameters to the .env.production file with the value redirect-main; the file is covered in .env.production configuration.

Name rules:

  • 1 to 64 characters: Latin letters, digits, dot, hyphen and underscore;
  • the first character is a letter or a digit;
  • no more than 64 names in the list;
  • empty and duplicate names in the list are not allowed;
  • a service whose name or list breaks these rules does not start.

Do not change the name of a running server: under the new name it appears in the table as Not in the expected list, and the row with the old name switches to Connection lost. Several running copies with one name give the Duplicate server name state, not several confirmed servers.

Adding and removing a server

The admin service reads the list of expected servers once at startup. A changed list takes effect after the service is started again with the new parameter value.

  • First add the new server's name to the list, then send traffic to the server. A running server outside the list is shown as Not in the expected list, and the overall status will not become Applied.
  • When removing a server, first take traffic off it and stop it, then remove the name from the list. While the name is in the list, the stopped server is shown as Connection lost, and after 24 hours as No response.

What this check does not cover

The block shows one thing: whether the current settings version has reached the processing servers. It does not install or configure servers. The list of expected servers is needed only for this check: it does not affect click processing.

Databases, the click intake queue and event delivery are shown by other blocks on the System status page.

Processing servers are not the same as the reverse proxy nodes from the Reverse proxy nodes («Реверс-прокси ноды») section: those accept domain traffic on their own addresses and forward it to the tracker.

Updated Need help? ↗