This is a Nubis application designed to scrape and federate downstream Prometheus servers for monitoring purposes
There are basically 4 components running in this deployment, and they are
This is the main Prometheus Web UI
This is the main Prometheus AlertManager UI
This takes you to the Grafana home page
This shows the traefik dashboard, mainly usefull for inspecting the status of the other components
If you need to gain shell access directly onto the Prometheus instance, you need to ssh into the account's jumphost first, like all Nubis project
$> ssh <username>@jumphost.<environment>.<region>.<account>.nubis.allizom.org
From there, the Prometheus server can be accessed as
$> ssh federator-prometheus.service.consul
This repository follows the standard Nubis repository structure. Specifically for this project, there are 2 directory of interest:
Drop in this directory Prometheus .prom files and they will be automatically included. You can specify alerting rules and recording rules in there.
Drop in this directory Grafana dashboards exported in JSON
Operationally, Prometheus is configured entirely via Consul and the structure follows this pattern:
federator/{environment}/{component}/config/*
This holds the generated Admin password used to access the Web UI
This holds a separate generated password, to be used by clients wanting to federate from this Prometheus instance
This is the e-mail address to send AlertManager alerts to
This is a pagerduty servicekey to send alerts to
This is a Slack URL to send alerts to
This is the Slack channel to send the alerts to
This is tree of federation endpoints, used to configure remote scraping for this Prometheus server.
For each account, there will be a directory containint the regions, environments and password for scraping
This is a JSON array of regions like:
[ "us-west-2" ]
This is a JSON array of environments like:
[ "admin", "prod", "stage" ]
This is the federation password for that account