Auto-tools/Projects/ActiveData/Support

From MozillaWiki
Jump to navigation Jump to search

ActiveData Support Documentation

Each part in ActiveData is described in five properties

  • Manager: In some cases, another automation can rebuild a part.
  • Monitor: The automation responsible for restarting the part if it misbehaves
  • Host: Where the part can be found when running
  • Configuration: The configuration file
  • Code: Pointer to the repo, branch, and main entry point for part

Overall Architecture

This page is best viewed beside the Reference Diagram

Machines

ETL Machine (spot instance)

ES Machine (spot)

ES Primary Machine

ActiveData Machine

Pulse Logger Machine


Beta

  • Manager:
  • Monitor:
  • Host: AWS
  • Configuration:
  • Code:


Daemons and Services

ETL

ES (spot)

  • Manager: SpotManager
  • Monitor: Supervisor+Cron
  • Host: ES Machine (spot)
  • Configuration:
  • Code:

ES (Primary)

ES (Coordinator)

Smaller ES node, made to be master, but with no data, on the spot half of the cluster. Intended to coerce primary shards to reside on the spot side.

Spot Manager

Supervisor+Cron

This special version of Supervisor is used to perform standard monitoring, plus run periodic jobs for more sophisticated checks.

ActiveData Service

Pulse Logger

The Pulse Logger simply records the pulse messages coming from the pulse translator. They are put into S3 in blocks of 100. If there is a failure, there is only two hours before the queue is full and Pulse deletes the queue, resulting in permanent data loss.

There should be two, each in a different zone, listening on the same queue, to minimize the chance of failure. Loss of order that results will not impact the remaining ETL.

Push to ES

Beta

The Beta configuration is meant to put all services on minimal hardware. It will not keep up with the data volume, but it is a reasonable test of code before it goes to staging.

Replications

Replicate OrangeFactor

Replicate saved queries