68 lines
1.3 KiB
HCL
68 lines
1.3 KiB
HCL
variable "consul_address" {
|
|
type = string
|
|
description = "address of consul server for dynamic scraping"
|
|
}
|
|
|
|
resource "nomad_job" "exporters" {
|
|
hcl2 {
|
|
enabled = true
|
|
}
|
|
|
|
jobspec = file("${path.module}/exporters.nomad")
|
|
}
|
|
|
|
data "consul_nodes" "all-nodes" {
|
|
query_options {
|
|
datacenter = "dc1"
|
|
}
|
|
}
|
|
|
|
resource "nomad_job" "prometheus" {
|
|
hcl2 {
|
|
enabled = true
|
|
vars = {
|
|
# TODO: May not need this because we have an env variable for that
|
|
# "consul_address" = "${var.consul_address}",
|
|
# TODO: Should this be a list?
|
|
"consul_address" = "http://${data.consul_nodes.all-nodes.nodes[0].address}:8500",
|
|
}
|
|
}
|
|
|
|
jobspec = file("${path.module}/prometheus.nomad")
|
|
}
|
|
|
|
resource "nomad_job" "grafana" {
|
|
hcl2 {
|
|
enabled = true
|
|
}
|
|
|
|
jobspec = templatefile("${path.module}/grafana.nomad", {
|
|
module_path = "${path.module}"
|
|
})
|
|
}
|
|
|
|
resource "consul_config_entry" "prometheus_intent" {
|
|
name = "prometheus"
|
|
kind = "service-intentions"
|
|
|
|
config_json = jsonencode({
|
|
Sources = [
|
|
{
|
|
Action = "allow"
|
|
Name = "grafana"
|
|
Precedence = 9
|
|
Type = "consul"
|
|
},
|
|
]
|
|
})
|
|
}
|
|
|
|
# resource "consul_config_entry" "envoy_prometheus_bind" {
|
|
# name = "global"
|
|
# kind = "proxy-defaults"
|
|
#
|
|
# config_json = jsonencode({
|
|
# "envoy_prometheus_bind_addr" = "0.0.0.0:9102"
|
|
# })
|
|
# }
|