Repository navigation
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.