The Prometheus project is designed to be deployed into a standard Nubis Account. It takes advantage of the standard deployment found here. For further specifics about Prometheus consult the documentation here.
NOTE: The line colors are representative and are for readability only. They are not intended to indicate any underlying protocol or specific communication details.
The Nubis Prometheus deployment consists of:
- A single EC2 instance acting as a Prometheus server
- An Auto Scaling group to provide resiliency
- A S3 log bucket where backups are stored
Prometheus scrapes different kind of exporters, as it discovers them. Each of them needs a distinct TCP port for it, and here is our current list:
Exporter | Port | Discovery |
---|---|---|
Node | 9100 | sd:node-exporter |
Fluentd | 9101 | sd: fluentd |
Consul Statd | 9102 | sd: consul |
Apache | 9103 | sd:apache sd:apache-exporter |
MySQL | 9104 | sd:mysqld-exporter |
ElasticSearch | 9105 | sd:es |
Squid | 9106 | sd:proxy |
Consul | 9107 | sd: consul |
Fluentd Apache | 9108 | sd:apache sd:apache-exporter |
Traefik | 9109 | sd:sso sd:sso-traefik |
Cloudwatch | 9116 | Internal |
Cloudwatch Billing | 9117 | Internal |
Varnish | 9131 | sd:varnish |
Details for the deployment including; naming conventions, relationships, permissions, etcetera, can be found in the Terraform template used for deployment. Links to specific resources can be found in the following table.
Resource Type | Resource Title | Code Location |
---|---|---|
atlas_artifact | nubis-prometheus | nubis/terraform/main.tf#L6 |
aws_s3_bucket | prometheus | nubis/terraform/main.tf#L35 |
aws_security_group | prometheus | nubis/terraform/main.tf#L58 |
aws_iam_instance_profile | prometheus | nubis/terraform/main.tf#L128 |
aws_iam_role | prometheus | nubis/terraform/main.tf#L142 |
aws_iam_role_policy | prometheus | nubis/terraform/main.tf#L169 |
aws_launch_configuration | prometheus | nubis/terraform/main.tf#L214 |
aws_autoscaling_group | prometheus | nubis/terraform/main.tf#L254 |