github.com/bigcommerce/nomad@v0.9.3-bc/e2e/prometheus/prometheus.nomad (about)

     1  job "prometheus" {
     2    datacenters = ["dc1", "dc2"]
     3    type = "service"
     4  
     5    group "monitoring" {
     6      count = 1
     7      restart {
     8        attempts = 2
     9        interval = "30m"
    10        delay = "15s"
    11        mode = "fail"
    12      }
    13      ephemeral_disk {
    14        size = 300
    15      }
    16  
    17      task "prometheus" {
    18        template {
    19          change_mode = "noop"
    20          destination = "local/prometheus.yml"
    21          data = <<EOH
    22  ---
    23  global:
    24    scrape_interval:     5s
    25    evaluation_interval: 5s
    26  
    27  scrape_configs:
    28  
    29    - job_name: 'nomad_metrics'
    30  
    31      consul_sd_configs:
    32      - server: '{{ env "NOMAD_IP_prometheus_ui" }}:8500'
    33        services: ['nomad-client', 'nomad']
    34  
    35      relabel_configs:
    36      - source_labels: ['__meta_consul_tags']
    37        regex: '(.*)http(.*)'
    38        action: keep
    39  
    40      scrape_interval: 5s
    41      metrics_path: /v1/metrics
    42      params:
    43        format: ['prometheus']
    44  EOH
    45        }
    46        driver = "docker"
    47        config {
    48          image = "prom/prometheus:latest"
    49          volumes = [
    50            "local/prometheus.yml:/etc/prometheus/prometheus.yml"
    51          ]
    52          port_map {
    53            prometheus_ui = 9090
    54          }
    55        }
    56        resources {
    57          network {
    58            mbits = 10
    59            port "prometheus_ui" {}
    60          }
    61        }
    62        service {
    63          name = "prometheus"
    64          tags = ["urlprefix-/"]
    65          port = "prometheus_ui"
    66          check {
    67            name     = "prometheus_ui port alive"
    68            type     = "http"
    69            path     = "/-/healthy"
    70            interval = "10s"
    71            timeout  = "2s"
    72          }
    73        }
    74      }
    75    }
    76  }