Audit Service

Introduction

A corporate decision was made to to stop enforcing licenses in production environments, and to use an audit approach instead: collect, control and act on the counters of running items.

The first items to be counted are Microservices,Entities and APIs

The audit information will be available locally and (in the future) in the cloud in a centralized audit view.

The Audit Service will provide an audit view of OpenLegacy components per Production environment. This will allow users to control and act on the operational data

Functional Description

  1. The service will provide the audit content (report) of the Microservices in the environment The content includes:

    1. Customer Identification

    2. Date & Time of the audit snapshot

    3. Counters of Entities (by SDKs) & APIs grouped by Microservices

  2. The Audit Service will discover the Microservices either by explicit URL list or by Service Discovery

    1. Service Discovery OOB is Eureka/K8s

    2. URLs list + port by configuration

    3. Every MS will expose it's own content

    4. Counters (as described above) exposed in a standard way

  3. The service (collection of data) can be triggered On Initiation or By Demand (UX)

  4. Users will see the latest snapshots : MS counters and will be able to invoke the service on demand and to download reports (all data)

  5. The audit content can be downloaded (as a zip file) containing the content in CSV or JSON formats

  6. The service can be accessed w/o authentication

Technical Description

The Audit service is a stand alone tool, and is not a part of the Development Platform or Management Console. It will be packaged as a jar, and will be available as a Docker image in DockerHub. Users will be able to deploy and run the service in various environments where audit is required.

Note that the following properties have been added as defaults to the application.yml file to support the Audit Service:

  • health

  • olprojectinfo

  • metric