Promovendo meta tags da tarefa Nomad via cônsul para Prometheus

1

Estamos usando o Nomad para agendar tarefas que são então registradas no Consul de onde são apanhadas em raspagem de Prometheus.

service.hcl:

job "myjob" {

group "mygroup" {
    count = "1"

    task "mytask" {
    driver = "docker"

    config {
        image = "registry/stuff:someVersion"
        port_map {
        http = 8080
        }
    }

    resources {
        memory = 1024
        network {
        mbits = 100
        port "http" {}
        }
    }

    meta {
        version = "0.0.1"
    }

    service {
        tags = ["monitoring", "tagone", "tagtwo"]
        port = "http"
        name = "${JOB}"
        check {
        type     = "http"
        port     = "http"
        path     = "/health"
        interval = "20s"
        timeout  = "3s"
        }
    }
    }
}
}                   

prometheus.yml:

scrape_configs:
- job_name: 'java_apps'
    consul_sd_configs:
    - server: "1.2.3.4:8500"
        scheme: "http"
    relabel_configs:
    - source_labels: ['__meta_consul_tags']
        regex: '(.*),monitoring,(.*)'
        action: keep
    - source_labels: ['__meta_consul_service']
        target_label: service
    metrics_path: /prometheus

Agora, minha pergunta é: existe alguma maneira de propagar o valor das chaves meta do arquivo service.hcl para o Prometheus? De acordo com a [documentação do Prometheus | link ],

Os seguintes meta-rótulos estão disponíveis nos alvos durante a remarcação:   ...   __meta_consul_metadata_: cada valor de chave de metadados do destino

Minha pergunta é dupla: * O que exatamente está sendo considerado como metadados para o alvo? * Como posso propagar a chave version da sub-rotina meta para o Prometheus para ser usada como um rótulo?

    
por DaDaDom 29.11.2017 / 09:10

0 respostas