Repository navigation
v3.0.1
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: