Skip to main content

Prometheus Application Guide

Prometheus is an open-source systems monitoring and alerting toolkit designed for reliability and scalability.

Status: Available (Not Yet Tested)


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
OIDC SupportNo (use ALB-OIDC)
Database RequiredNo (embedded TSDB)

Capabilities

  • Multi-dimensional time series data model
  • PromQL query language
  • Pull-based metrics collection
  • Service discovery
  • Alerting with Alertmanager
  • Visualization (basic, use Grafana for dashboards)
  • Recording rules
  • Remote storage integration
  • Exporters ecosystem

Storage Configuration

Container (Fargate)

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

Deployment Context Examples

Development

{
"stackName": "Prometheus-Dev",
"applicationId": "prometheus",
"applicationName": "Prometheus Dev",
"description": "Prometheus monitoring server",
"environment": "development",

"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"
}

Cost estimate: ~$50/month

Production - With Authentication

{
"stackName": "Prometheus-Production",
"applicationId": "prometheus",
"applicationName": "Prometheus",
"description": "Production monitoring server",
"environment": "production",

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

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

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

"authMode": "alb-oidc",
"cognitoAutoProvision": true,
"cognitoDomainPrefix": "prometheus-prod-yourcompany",
"cognitoMfaEnabled": true,

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

"complianceFrameworks": "SOC2",
"awsConfigEnabled": true,
"wafEnabled": true,

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

Cost estimate: ~$200/month


Configuration

Default prometheus.yml:

global:
scrape_interval: 15s
evaluation_interval: 15s

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

Post-Deployment Tasks

  1. Configure Scrape Targets: Edit prometheus.yml
  2. Add Exporters: Node Exporter, CloudWatch Exporter, etc.
  3. Set Up Alerting: Configure Alertmanager
  4. Connect Grafana: Add as data source