github.com/iqoqo/nomad@v0.11.3-0.20200911112621-d7021c74d101/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 }