github.com/aminovpavel/nomad@v0.11.8/e2e/prometheus/prometheus.nomad (about)

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