Docker 如何配置Prometheus Consour_sd_配置为使用https进行服务

Docker 如何配置Prometheus Consour_sd_配置为使用https进行服务,docker,prometheus,consul,Docker,Prometheus,Consul,我们使用Concur Registrator向Concur注册Docker集装箱作为服务 我们的普罗米修斯是使用concur_sd_configs来配置的,以获取通过concur解析的服务列表 最近,部署了一个新的Docker容器,它使用带有内部证书的https,而不是普通http。普罗米修斯仍在试图通过http访问该服务,但失败了,该服务随后被标记为关闭 有没有办法将普罗米修斯配置为使用https提供此服务?领事馆或登记处有什么遗漏吗 我们不能对该服务使用静态配置,因为再次部署时主机和端口可能

我们使用Concur Registrator向Concur注册Docker集装箱作为服务

我们的普罗米修斯是使用concur_sd_configs来配置的,以获取通过concur解析的服务列表

最近,部署了一个新的Docker容器,它使用带有内部证书的https,而不是普通http。普罗米修斯仍在试图通过http访问该服务,但失败了,该服务随后被标记为关闭

有没有办法将普罗米修斯配置为使用https提供此服务?领事馆或登记处有什么遗漏吗


我们不能对该服务使用静态配置,因为再次部署时主机和端口可能会发生变化-该服务分布在多个Docker服务器上。

您可以借助Prometheus配置中的
relabel_configs
tls_config
部分来解决此问题

下面的设置使用relabel_configs来设置https方案,如果服务名称为service_NAME1或service_NAME2,则对于任何其他服务,方案的默认值为http。您还可以使用其他标签来标识需要https的服务/实例列表

  - job_name: 'consul_adapter_1'
    metrics_path: '/actuator/prometheus'

    #This handles Self Signed SSL Issue
    tls_config:
      insecure_skip_verify: true

    consul_sd_configs:
      - server: '<consul host>:<port>'
    relabel_configs:
      - source_labels: [__meta_consul_service]
        regex: (SERVICE_NAME1|SERVICE_NAME2)
        target_label: __scheme__
        replacement: https
-作业名称:“领事适配器1”
度量路径:'/actuator/prometheus'
#这将处理自签名SSL问题
tls_配置:
不安全\u跳过\u验证:真
领事馆配置:
-服务器:':'
重新标记配置:
-来源标签:[[元领事服务]
正则表达式:(服务名称1 |服务名称2)
目标\标签:\方案__
替换:https

您能找到这个问题的解决方案吗?我能解决,在这里为下一个人发布了解决方案。谢谢!虽然我选择使用
\uuu scheme\uuuu
作为
源标签
目标标签
,并使用
替换:https
,因为我希望所有的
http
都能连接到TLS。