如何解决Azure Kubernetes-Prometheus自动服务发现吗?
我已按照以下配置在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服务并开始提取指标?
解决方法
建议不要设置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。这是一个选择器,它将通过标签自动发现您的服务,进一步发现这些服务背后的容器,并将它们加载到Prometheus scrape配置中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。