This project is part of the Infrastructure Monitoring and Alerting (IMA) Platform. It holds the Docker image for pulling data from the Physical Devices.
Prometheus's blackbox exporter is used as the base image. It's stored in an AWS ECR repository within the MoJ's Shared Services account that is created by the PTTP Shared Services Infrastructure and Staff Device Docker Base Images GitHub repositories.
- IMA Platform - to monitor MoJ infrastructure and physical devices
- Configuration - to provision configuration for the IMA Platform
- SNMP Exporter - to scrape data from physical devices (Docker image)
- Blackbox Exporter - to probe endpoints over HTTP, HTTPS, DNS, TCP and ICMP.s (Docker image)
- Metric Aggregation Server - to pull data from the SNMP exporter (Docker image)
- Shared Services Infrastructure - to manage our CI/CD pipelines
- AWS Command Line Interface (CLI) - to manage AWS services
- AWS Vault - to easily manage and switch between AWS account profiles on the command line
- Docker - to containerise and run Prometheus
- Duplicate
.env.example
and rename the file to.env
- Set values for all the variables
Note for local development
In order to develop locally, ensure you have run the publish_terraform_outputs.sh in the IMA Platform repo. This will save all of your terraform outputs to parameter store (which this repo relies on).
To locally run Blackbox Exporter:
make serve
To manually push an image to your AWS ECR repository:
- Push an image to ECR
aws-vault exec moj-pttp-shared-services -- make publish
- Deploy image to ECS
aws-vault exec moj-pttp-dev -- make deploy
- To view your image within the AWS Management Console:
aws-vault login moj-pttp-dev