Skip to content

v4.0.0

Latest

Choose a tag to compare

@max-romagnoli max-romagnoli released this 12 Apr 21:45
888d5cf

Release Notes

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

  • The finished dashboard visualisations, alerting system and a small server to simulate different machine workloads through stress scripts.
  • 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 an Azure Scale Set of N Virtual Machines all running the ST Agent, 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, start Docker compose and the instances to monitor on Azure portal or Azure CLI.

Exporter

  • Refactored exporter.py to set CPU by core gauges in a separate method for better scalability.
  • Add class variable in Network collector to fix Network metrics not being returned correctly.

Prometheus

  • Created an Alertmanager directory.
  • Connected Prometheus to Alertmanager.
  • Added configuration files to dispatch emails based on rules.
  • Added rules that trigger when a metric passes a specific tresholds.
  • Added rules that trigger when an instance is down.
  • Added predictive rules that trigger when a metric is projected to reach a certain level in a specified amount of hours.

Dashboard

  • Rolled out the final version of the homepage System Overview.
  • Added the following visualisations to the homepage:
    • Disk Utilization Overview Panel: aggregates Disk utilization metrics from all machines monitored.
    • RAM Utilization Overview Panel: aggregates RAM utilization metrics from all machines monitored.
    • Network In/Out Utilization Overview Panels: aggregates Network utilization metrics from all machines monitored.
  • Changed all panels to show threshold limits.
  • Created visualisations to display Prometheus alerts
  • Created a visualisation to display notes taken on the dashboard.
  • Added a clock visualisation
  • Added logos to page headers
  • Removed CPU temperature panels in Machine Drilldown dashboard
  • Added two timeseries charts for logical and physical cores in the Machine Drilldown dashboard

Simulation Tool

  • Rolled out a simple simulation tool to interact with the scripts that simulate different workloads.
  • Added a simple HTTP server to handle running the scripts.
  • Added a simple frontend with buttons to start the simulations.

Azure

  • Connected the Azure Scale Set to both the local and cloud Prometheus instance.
  • Added a script to simulate heavy and normal workloads on Azure machines
  • Made the deployed exporters all start on VMSS Machine startup
  • Added workflow file for CD to Azure VMs

Docker

  • Added an alertmanager service to Docker compose.
  • Added a script to simulate one of the Docker containers shutting down.
  • 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

  • Create a script for Alertmanager to append Gmail App Passwords from environment variables to the config files.
  • Updated documentation ahead of final release.