Skip to main content

Prometheus Application Guide

Prometheus is an open-source systems monitoring and alerting toolkit.

Status: Available (not yet verified end to end)


Quick Reference​

PropertyValue
Application IDprometheus
CategoryMonitoring
Default Imageprom/prometheus:latest
Application Port9090
Default CPU1024 (Fargate)
Default Memory2048 MB (Fargate)
Default Instancet3.small (EC2)
Health Check Path/
Health Check Grace300 seconds
Supports FargateYes
Supports EC2Yes
Supported Auth Modesnone
Database RequiredNo (embedded TSDB)

Upstream Features​

  • Multi-dimensional time-series data model and PromQL
  • Pull-based metrics collection and service discovery
  • Recording and alerting rules (alert delivery uses a separate Alertmanager)
  • Remote storage integration

Storage Configuration​

Container (Fargate)​

PropertyValue
Data Path/prometheus
EFS Path/prometheus
Volume NameprometheusData
Container User65534:65534 (nobody)
EFS Permissions755

On EC2, data is stored under /var/lib/prometheus.


Authentication​

Prometheus declares only the none auth mode. When a context is prepared for a deployment target (the interactive deployer or CloudForgeDeployment), an unsupported authMode such as alb-oidc is replaced with none and a warning is printed. Compliance frameworks that require CloudForge-managed authentication, such as the SOC 2 CC6.2 rule, report a failure when authMode is none.


Deployment Context Examples​

Development​

{
"stackName": "Prometheus-Dev",
"applicationId": "prometheus",
"applicationName": "Prometheus Dev",
"environment": "dev",

"runtime": "fargate",
"securityProfile": "dev",
"topology": "application-service",

"networkMode": "private-with-nat",
"region": "us-east-1",

"authMode": "none",

"cpu": 1024,
"memory": 2048,

"enableMonitoring": true,
"logRetentionDays": "7"
}

Production​

{
"stackName": "Prometheus-Production",
"applicationId": "prometheus",
"applicationName": "Prometheus",
"environment": "prod",

"runtime": "ec2",
"securityProfile": "production",
"topology": "application-service",

"domain": "example.com",
"subdomain": "prometheus",
"enableSsl": true,

"networkMode": "private-with-nat",
"region": "us-east-1",

"authMode": "none",

"instanceType": "t3.medium",
"minInstanceCapacity": 1,
"maxInstanceCapacity": 2,

"awsConfigEnabled": true,
"wafEnabled": true,

"enableMonitoring": true,
"enableEncryption": true,
"logRetentionDays": "365",
"retainStorage": true
}

Configuration​

On EC2, CloudForge writes the following prometheus.yml to /var/lib/prometheus/config/prometheus.yml and mounts it into the container. On Fargate, the image's built-in configuration is used.

global:
scrape_interval: 15s
evaluation_interval: 15s

scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']

Post-Deployment Tasks​

  1. Add scrape targets to prometheus.yml.
  2. Deploy exporters (for example Node Exporter or CloudWatch Exporter) as needed.
  3. Configure an Alertmanager if you need alert delivery.
  4. Add Prometheus as a Grafana data source.