Skip to content

v3.0.1

Choose a tag to compare

@max-romagnoli max-romagnoli released this 27 Mar 01:16
· 64 commits to dev since this release
40a9d1e

Release Notes

This is the third version of ST-Agent. It features:

  • All the services of our system set up locally, fully containerized and orchestrated with Docker compose. The local setup supports monitoring for 1 to 30 virtual machines.
  • An Azure cloud setup with 1 Virtual Machine deployed on Azure and monitored locally, an Azure Scale Set of N Virtual Machines, and a deployed instance of Prometheus.

Run Instructions

  • To run the app locally with N targets follow the instructions in docker/README_docker.md
  • To monitor the VM on Azure, also follow the instructions in conf/SSH-connection.md

Exporter

  • Added a method to collect CPU utilization metrics by logical and physical core
  • Added two methods to collect outbound and inbound traffic rates in megabits per second
  • Checked for none values in RAM and Network collector methods.
  • Added more unit tests for network metrics.
  • Refactored string representation tests to check for format using regex.
  • Fixed a bug that caused the string representation of CPU collector not always pass in the CI pipeline.

Dashboard

  • Rolled out an early homepage dashboard for our agent.
  • Added the following visualisations to the homepage:
    • RAM Utilization Overview Panel: aggregates RAM utilization metrics from all machines monitored.
  • Added data links to allow user to click on one machine in the homepage and be sent to the machine dashboard for that machine.
  • Added dashboard links to allow user to go back to the homepage.
  • Adjusted style and colour palette by reducing the number of colour on the dashboards.
  • Adjusted data thresholds according to target machine typical performance and limits.
  • Fixed a bug in a PromQL query that caused the RAM donut chart to display bytes used instead of RAM utilization percentage.

Azure

  • Deployed an Azure Scale Set of 5 virtual machines and exposed ports to export metrics.
  • Deployed an instance of Prometheus on a VM
  • Manually deployed Prometheus binaries and configuration to scrape from one target in the Azure Scale Set.
  • Created a systemd service on the Prometheus VM to run the Prometheus server.

Local Development

  • Added a shell script to override docker-compose and generate 1 to 30 Ubuntu Docker containers for local testing.
  • Refactored Prometheus local config files to discover however many targets have been created. This was achieved using File-based Service Discovery.
  • Refactored Prometheus local config files to scrape metrics from deployed targets on Azure.

Misc

  • Added documentation for local N-machines setup: