Prometheus配置仅使用1个版本

时间:2017-12-13 13:17:36

标签: prometheus

我让Prometheus作为码头图像工作。我的来源是:

 spec:
      containers:
      - name: prometheus
        image: quay.io/coreos/prometheus

使用此版本的Prometheus的配置是:

global:
  scrape_interval: 5s
scrape_configs:

- job_name: 'kubernetes_apiserver'
  tls_config:
    insecure_skip_verify: true
  kubernetes_sd_configs:
  - api_servers:
    - http://172.29.219.102:8080
    role: apiserver

  relabel_configs:
  - source_labels: [__meta_kubernetes_role]
    action: keep
    regex: (?:apiserver)


- job_name: 'docker_containers'
  metrics_path: '/metrics'
  tls_config:
    insecure_skip_verify: true
  static_configs:
     - targets:
       - 172.29.219.103:4194
       - 172.29.219.104:4194
       - 172.29.219.105:4194

- job_name: 'kubernetes_pods'
  tls_config:
    insecure_skip_verify: true
  kubernetes_sd_configs:
  - api_servers:
    - http://172.29.219.102:8080
    role: pod
  relabel_configs:
    - source_labels: [__meta_kubernetes_pod_name]
      action: replace
      target_label: pod_name
    - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
      action: replace
      target_label: __metrics_path__
      regex: (.+)

现在我下载了最新版本的Prometheus(v2.0.0)(在VM上独立部署而不是docker镜像),当我尝试在该版本中启动相同的配置时,我得到以下错误。

caller=main.go:356 msg="Error loading config" err="couldn't load configuration (--config.file=/etc/prometheus-2.0.0.linux-amd64/prometheus.yml): Unknown... role \"apiserver\""

有谁知道为什么一个配置与一个版本的Prometheus兼容而不是另一个版本?

2 个答案:

答案 0 :(得分:1)

1.x到2.0是一个相当大的障碍,你应该期待一些向后兼容的变化。

您可以在migration guide中找到有关中断/重要更改的详细信息。

2.01.8可以使用kubernetes_sd_configs的详细信息。

另外,请注意kubernetes_sd_configs部分中的警告,它几乎说明即使在次要版本之间也可能发生更改。

  

Kubernetes SD处于测试阶段:对配置的改变仍然存在   可能在将来的版本中。

答案 1 :(得分:0)

从发布电子邮件中删除apiserver角色的回溯率为1.3.0

  

删除了apiserver角色,因为它只是提供的API服务器的静态配置。相反,一般来说   应在端点发现中使用可用的kubernetes服务

2.0版的kubernetes服务发现没有变化。