Middleware: Difference between revisions
m (Protected "Middleware" ([Edit=Allow only administrators] (indefinite) [Move=Allow only administrators] (indefinite))) |
|
(No difference)
|
Revision as of 12:26, 7 July 2020
This page relates to the middleware components deployed to application servers.
Click here to learn more about middleware.
Database
Central to the application is the database server; acumen utilises a database server called MariaDB - the database server runs within its own Docker Container
Checking the container status
- Start an ssh session to the relevant application server;
- At the prompt, type the following commands:
<user>@acumen-app-server:~$ cd ~/dockerise/
<user>@acumen-app-server:~$ docker ps | grep "STATUS\|mysql"
The program will output information about the status of the container, for example:
In the above example, we can observer that the STATUS of the container was created 12 days ago and has been 'Up' for 12 days, which indicates that there is no issue with the container.
Container logging
Where an issue with the database container has been observed then the Adminsitrator should check the logs:
- Start an ssh session to the relevant application server;
- At the prompt, type the following commands:
<user>@acumen-app-server:~$ cd ~/dockerise/
<user>@acumen-app-server:~$ docker-compose logs -f mysql"
This action will stream the logs to the terminal; observing this output for a short time should provide some indications to any potential issues.
Press [CTRL+C] to stop the logging output and return to the prompt.
Note: It is usual to see [Warning] entries within the container logs - if any entries are classified [Error] or [Critical], then please copy any errors and add to the issue ticket.
Starting the container
If the container is Down - then the following commands will bring the container back up:
<user>@acumen-app-server:~$ cd ~/dockerise/
<user>@acumen-app-server:~$ docker-compose up -d mysql"
Redis
The application server uses an in-memory key/value store called Redis - this is used to temporarily store information and data used by the application and to act as a low latency cache.
Numerous services across the application make use of Redis and it is therefore considered a critical service within the middleware group of services; without it, the application cannot run.
There are numerous ways to establish the health and status of the Redis service:
Checking the container status (command line)
- Start an ssh session to the relevant application server;
- At the prompt, type the following commands:
<user>@acumen-app-server:~$ cd ~/dockerise/
<user>@acumen-app-server:~$ docker ps | grep "STATUS\|redis"
The program will output information about the status of the container, for example:
Checking the Redis Queues (Web Interface)
Another method to confirm the state of the Redis Container is to scrutinise the information provided using RQ Dashboard.
The application makes use of task queues within Redis and the RQ Dashboard displays the contents of each queue during processing and perhaps more importantly, maintains a list of failures to process.
RQ Dashboard is accessable on port 9181 - administrators should append ':9181' to the server ip address in the browser address bar, for example: http://77.68.118.126:9181
If the RQ Dashboard service is not available using the access method stated above, The Administrator should start an ssh session and undertake the following at the prompt:
<user>@acumen-app-server:~$ cd ~/dockerise/
<user>@acumen-app-server:~$ make rq-dashboard"
Once access to RQ Dashboard is gained, Administrators should peruse the Failed Queue and copy examples of any failures into the support ticket.
Container logging
Where an issue with the database container has been observed then the Adminsitrator should check the logs:
- Start an ssh session to the relevant application server;
- At the prompt, type the following commands:
<user>@acumen-app-server:~$ cd ~/dockerise/
<user>@acumen-app-server:~$ docker-compose logs -f redis"
This action will stream the logs to the terminal; observing this output for a short time should provide some indications to any potential issues.
Press [CTRL+C] to stop the logging output and return to the prompt.
Starting the container
If the container is Down - then the following commands will bring the container back up:
<user>@acumen-app-server:~$ cd ~/dockerise/
<user>@acumen-app-server:~$ docker-compose up -d redis"