使用独立运行的 Prometheus 服务器监控 Azure Kubernetes 服务 (AKS)

使用独立运行的 Prometheus 服务器监控 Azure Kubernetes 服务 (AKS)

我可以将 Prometheus 部署到每个 Azure Kubernetes 服务 (AKS),并从 AKS 外部的虚拟机创建的 Prometheus 监控每个 Prometheus 吗?换句话说,我想将中心的 Prometheus 与每个集群中的所有 Prometheus 连接起来。换句话说,我想将中心的 Prometheus 与每个集群中的所有 Prometheus 连接起来。

如果您能告诉我与此高度相关的参考资料,我将不胜感激。我们正在考虑的构图如下。

在此处输入图片描述

答案1

看起来你正在寻找 Prometheus 服务器联合。官方文档这里

基本上,您需要配置中央 Prometheus 实例以从路径中的中间实例抓取数据/federate

您的案例的简单配置示例如下:

scrape_configs:
  - job_name: 'federate'
    scrape_interval: 15s

    honor_labels: true
    metrics_path: '/federate'

    params:
      'match[]':
        - '{__name__=~".+"}'

    static_configs:
      - targets:
        - 'cluster-1-address:9090'
        - 'cluster-2-address:9090'
        - 'cluster-3-address:9090'

请注意,联合不会保留时间戳。因此,中央服务器和中间服务器之间的数据可能会出现细微差异。

一定要scrape_interval根据scrape_interval中间实例进行配置:如果中央服务器的间隔较小,则会导致数据点成倍增加,占用的存储空间也会增加。如果中央服务器的间隔较大,则会丢失一些数据点。

答案2

是的,可以将 Prometheus 部署到每个 Azure Kubernetes 服务 (AKS),并从 AKS 外部虚拟机创建的 Prometheus 监视每个 Prometheus。这可以通过在 Prometheus 中使用联合来实现。

相关内容