Administration: Difference between revisions

From acumen Wiki
Jump to navigation Jump to search
Line 79: Line 79:
To access top, start an ssh session and at the prompt: <code><user>@prod_tms_server:~$ top</code>.
To access top, start an ssh session and at the prompt: <code><user>@prod_tms_server:~$ top</code>.


= Password Reset =
= Password Reset (temporary arrangements) =


Start an ssh session into the relevant application server and type the following commands at the prompt:
Start an ssh session into the relevant application server and type the following commands at the prompt:

Revision as of 14:45, 8 July 2020

This section of the acumen wiki is written for the express purpose of providing information and guidance to acumen administrators.

Simplified Architecture Overview

Acumen architecture.png

The application is deployed to 3 servers, as follows:

Host Name IP Address Containerised Deployment? Purpose
gateway.tms-uk-rail.co.uk 77.68.28.115 No Agregate all inbound message feeds and serve via RabbitMQ Broker to application servers.
acumen.tms-uk-rail.co.uk 77.68.118.126 Yes Serve the acumen application (main server)
acumen-training.tms-uk-rail.co.uk 77.68.3.32 Yes Serve the acumen application (training server)

All servers are hired VPS - Virtual Private Server, with the sevice provider being IONOS by 1&1 under several contracts. All servers are located within the UK at a data centre in London.

Gateway Server

The functionality of this component is to aggregate various data feeds and make any resulting messages available to be consumed by one or more application servers.

There are 2 distinct feeds that the gateway server connects to:

  • Network Rail TD.net feed;
  • National Rail Enquiries Darwin Feed.

TD.net feed uses MQIPT protocols for message publication and consumption, whilst NRE Darwin subscription utilises a protocol known as STOMP; The gateway server manages the connections to these services and publishes all messages to a message broker, for consumption by the application server(s).

RabbitMQ was chosen as the message broker component within the gateway - all message orientated services on the application servers connect to this broker.

There are several tools and interfaces provided to administrators for the purposes of monitoring and diagnosing issues with the gateway server.

Application Server

Each application server runs a single instance of the acumen application which consists of numerous containerised services which make up the application - acumen utilises a microsystem architecture where each service is responsible for defined or limited tasks and as a whole, make up the application.

Services running on the application server can conceptionaly be grouped thus:

  • Middleware - those services which are needed by the application to function;
  • UI services - services which are responsible for creating and managing front end (UI rendering and user interaction) functionality;
  • CIF Processing - the service which takes the POINTA CIF from PPTE and maintains the TSDB (Train Service Database);
  • Forecasting - services which maintain the train service forecast, including conflicts.

Glances / top

These tools are provided to visually display the performance and load of the operating system and to view running services. Administrators should be cognisant of:

  • High CPU load and any associated warnings;
  • High memory usage and any associated warnings - including swap file usage;
  • High file system usage;
  • Running processes, or processes not running that should be (note: a script is provided for this purpose).

Glances

Click here to learn more about Glances.

Start an ssh session and at the prompt: <user>@prod_tms_server:~$ glances.

top

Click here to learn more about top.

To access top, start an ssh session and at the prompt: <user>@prod_tms_server:~$ top.

Password Reset (temporary arrangements)

Start an ssh session into the relevant application server and type the following commands at the prompt:

  1. <user>@acumen-app-server:~$ cd ~/dockerise/
  2. <user>@acumen-app-server:~/dockerise$ docker exec -ti dockerise_flask-app_1 /bin/bash
  3. At the container bash prompt, type the following command: ./reset_password.py

At this point, the script will run; prompting Administrators to provide the users email address and new password.