【问题标题】:Prometheus cannot scrape external etcdPrometheus 无法抓取外部 etcd
【发布时间】:2017-10-04 18:10:49
【问题描述】:

我在 AWS 实例上运行 Kubernetes 集群,并在 kubernetes 内运行 prometheus 以进行监控。 Kubernetes 外部运行了三个 etcd 服务器,我正在尝试使用 prometheus 来监控 etcd 的运行状况。

Prometheus 部署为 statefulset,并具有 kubelet、node-exporters 及其自身的指标。但是,我无法从 etcd 获得任何指标。

这是prometheus config的相关部分:

apiVersion: v1
kind: ConfigMap
metadata:
   name: prometheus
   namespace: monitoring
   data:
   prometheus.yml: |-
global:
  scrape_interval: 30s
  evaluation_interval: 30s

rule_files:
- /etc/alertmanager/*.rules

scrape_configs:

- job_name: etcd
  scheme: https
  static_configs:
  - targets: ['x.x.x.x:2379']
  tls_config:
     ca_file: /etc/etcd/ssl/ca.pem
     cert_file: /etc/etcd/ssl/client.pem
     key_file: /etc/etcd/ssl/client-key.pem
     insecure_skip_verify: true

- job_name: kubelets
  scheme: https
  tls_config:
    ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt
    insecure_skip_verify: true
  bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token

这是我在 Prometheus 的仪表板中遇到的错误:

Get https://x.x.x.x.:2379/metrics: x509: cannot validate certificate for x.x.x.x because it doesn't contain any IP SANs

证书是自签名的,但“insecure_skip_verify”不应该处理吗?

【问题讨论】:

    标签: amazon-web-services kubernetes monitoring prometheus etcd


    【解决方案1】:

    为了消除 etcd 问题,如果您使用 etcd3,您可以在 etcd 客户端 etcdctl 中使用以下参数,并使用 https://github.com/coreos/etcd/blob/master/Documentation/dev-guide/interacting_v3.md 中的步骤与 etcd 服务器交互。如果它没有错误地工作,我会说这是一个不遵守insecure_skip_verify: true 配置的普罗米修斯问题。

    --insecure-skip-tls-verify=true   skip server certificate verification
    --insecure-transport=true         disable transport security for client connections
    

    【讨论】:

      猜你喜欢
      • 2018-07-26
      • 1970-01-01
      • 2021-01-13
      • 1970-01-01
      • 2021-08-26
      • 1970-01-01
      • 2019-11-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多