【问题标题】:Azure Kubernetes - Prometheus Automatic Service Discovery?Azure Kubernetes - Prometheus 自动服务发现?
【发布时间】:2020-09-15 07:06:18
【问题描述】:

我已按照以下配置在 Azure Kubernetes 上安装和配置 Prometheus

prometheus_values.yaml
======================
global:
  scrape_interval: 1m
  scrape_timeout: 10s
  evaluation_interval: 1m
# Forcing Kubelet metrics scraping on http 
kubelet:
  enabled: true
  serviceMonitor:
    https: false
# Disabling scraping of Master Nodes Components
kubeControllerManager:
  enabled: false
kubeScheduler:
  enabled: false
kubeEtcd:
  enabled: false
kubeProxy:
  enabled: false
scrape_configs:
- job_name: dev-go-app
  static_configs:
  - targets: ['40.x.x.x:8080']
- job_name: default-go-app
  static_configs:
  - targets: ['40.x.x.x:8080']

并安装prometheus如下图

Installing prometheus
=====================
helm upgrade --install prometheus \
--namespace monitoring \
stable/prometheus \
--values prometheus_values.yaml 

看来我必须手动更新 Prometheus 配置并申请每个应用程序,这是一项艰巨的任务,尤其是当我在同一个 Azure Kubernetes 集群中有 100 多个应用程序时。

有没有办法让 Prometheus 自动发现 Kubernetes 服务并开始提取指标?

【问题讨论】:

    标签: azure kubernetes prometheus azure-aks


    【解决方案1】:

    我建议不要使用裸 Prometheus,而是设置一个 kube-prometheus-stack(以前的 prometheus-operator):https://github.com/prometheus-community/helm-charts/tree/main/charts/kube-prometheus-stack

    这个栈有一个内置的发现机制——一个叫做ServiceMonitor:https://coreos.com/operators/prometheus/docs/latest/user-guides/running-exporters.html的CRD。这是一个选择器,它将通过标签自动发现您的服务,进一步发现这些服务背后的 pod,并将它们加载到 Prometheus 抓取配置中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-11
      • 1970-01-01
      • 2017-10-23
      • 1970-01-01
      • 2020-09-27
      • 2018-04-21
      • 1970-01-01
      相关资源
      最近更新 更多