Health Monitoring tool to monitor microservices/apps
- Overview
- Application Architecture Workflow
- Deployment Architecture
- Tech Stack
- Prerequisites
- Installation
- Launching Application
- Accessing Application
This application is used as a Health Monitoring tool to monitor any microservice/application. This application works isolately from other core apps.
This app communicates with core target apps to collect health data. Each core app has 'health checker' component implemented internally that generates various metrices to help in measuring app health. This internal 'health checker' component is called by the REST API Endpoint.
Health Monitoring app calls each target app via REST API Endpoint (configurable) to gather all metric data and process them to generate informational results in categorised format. Each metrics has threshold set to determine if the relevant part of the app is working as expected or require further action.
Once all results are processed, user can view the results in Graphical interface.
Endpoints
- 
/msHCTG Health Checkpoint - Internal app's health check point/msHCwhich is used by AWS Load balancer or ElasticBeanstalk to check the app's health and to handle 404 error
- 
/healthTo View Health Check Results - All Health Check results collected from the apps are displayed in Graphical Interface by using this path
- 
Node.js (Express) 
- 
TypeScript 
- 
Docker 
- 
AWS 
- 
Node.js & npm ^v18.x already installed (For Local env) 
- 
Docker and Docker Compose already installed (For Dev env) 
For Development and Testing application on local terminal.
- 
Set essential Configuration properties (like target app's Health Endpoint Settings) in the following file to set in ENV VARs locally: - envs/.env.local
 
- 
From the terminal, run: $ cd healthchecker $ npm installThis will install NPM modules locally in the project folder. 
- 
Docker Installed 
- 
Port 1400 (default) for App is free and not in use 
- 
Database already created 
- 
Set essential Configuration properties (like AWS Profile Details) in the following file: - docker/awsbuild/.conf
 
- 
From the terminal, run following commands: $ cd healthchecker/docker/awsbuild $ chmod -R 777 *.sh $ ./launch.sh 
It will setup Health Checker app inside Docker container.
Auth app supports multiple modes: development, and production
Development Mode
$ npm run start:devProduction Mode
$ export APP_ENV=prod
$ npm run build
$ npm run start:prodHealth Checker app server runs inside docker containers
Just ensure that Docker containers are up in the host machine by using docker ps command.
There will be a container running namely: healthCheckerApp_aws
Application can be accessed in the browser by using the URL:

