Skip to content

Latest commit

 

History

History
90 lines (74 loc) · 2.71 KB

README.md

File metadata and controls

90 lines (74 loc) · 2.71 KB

LISA

Logging, information & system analysis

App structure

/LISA
|-- app/                   # Core application code
|-- config/                # Application config
    |-- services.yaml      # A list of services to monitor
|-- images/                # Directory of images
|-- spec/                  # Directory of specification files, including OpenAPI documents etc
|-- tests/                 # Application tests and dummy servers

Services.yaml

The config/services.yaml file is used to define services that LISA should monitor. The structure of the file is explained below...

microservices:
  - name: User Service  # The display name of the microservice
    id: user_service # Unique slug for the service
    description: Handles user data and authentication  # Brief description of the service
    health_check_url: http://user-service/health  # URL to check the health of the service
    version_url: http://user-service/version  # URL to check the version of the service

Badges

The status of services can be returned as SVG badges, using the endpoint "/badge/{service_id}"

Status Description Badge Image
UP The service is operating normally. UP Badge
DOWN The service is not reachable. DOWN Badge
DODGY The service is taking longer than usual to respond DODGY Badge
MAINTENANCE The service is under maintenance. Maintenance Badge
FAILED The service check failed. Failed Badge
UNKNOWN Status is not determined. Unknown Badge

OpenAPI spec

In spec/openapi.yaml is a file which defines how the microservice endpoints should work. This is currently a work in progress and is not yet complete.

Dummy Servers

The tests/dummies package contains two dummy servers that can be used to test the application. They are both configured with a version and health endpoint to run on ports 5001 and 5002

Run the dummy servers

Service A

.venv/bin/python tests/dummies/service_a.py

Service B

.venv/bin/python tests/dummies/service_b.py