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 }