文档

接入Prometheus监控

更新时间:

接入可观测监控Prometheus版后,您可以通过预定义的大盘监控Kubernetes集群的众多性能指标。本文介绍ACK Serverless集群如何接入可观测监控Prometheus版,以便通过Prometheus监控ECI Pod。

前提条件

  • 已创建ACK Serverless集群

    说明

    如果您集群内使用的安全组不是自动创建生成的,而是手动配置的安全组,请确保该安全组已开放8080、8081和9335端口。

  • 已开通ARMS服务。具体操作,请参见开通ARMS

    说明

    可观测监控Prometheus版是ARMS的付费子产品,具体价格信息请参见ARMS定价页

背景信息

阿里云可观测监控Prometheus版全面对接开源Prometheus生态,支持类型丰富的组件监控,提供多种开箱即用的预置监控大盘,且提供全面托管的Prometheus服务。借助可观测监控Prometheus版,您无需自行搭建Prometheus监控系统,因而无需关心底层数据存储、数据展示、系统运维等问题。更多信息,请参见什么是可观测监控 Prometheus 版

安装Prometheus监控组件

  1. 登录容器服务管理控制台

  2. 在左侧导航栏,单击集群

  3. 集群列表页面,单击目标集群名称。

  4. 在集群管理页左侧导航栏,选择运维管理>组件管理

  5. 单击日志与监控页签,找到ack-arms-prometheus卡片,然后单击安装

  6. 在弹出的对话框中,单击确定

    安装完成后,ack-arms-prometheus卡片右上角会显示已安装

查看Prometheus监控

安装prometheus监控组件后,您可以在ARMS控制台的Prometheus监控页面查看具体监控信息。

  1. 容器服务管理控制台的左侧导航栏,选择集群

  2. 集群列表页面,单击目标集群名称。

  3. 集群信息页面,单击概览页签,然后单击右上角的Prometheus监控

  4. 查看Prometheus监控指标。

    您可以根据需要切换页签查看各项仪表板展示的监控指标。更多信息,请参见查看Prometheus监控指标

    pro监控..png

    单击右上角的跳转到Prometheus服务,可以跳转到ARMS控制台设置该集群的Prometheus监控大盘。

    监控大盘..png

配置Prometheus监控采集规则

ARMS Prometheus监控兼容并提供三种主流采集规则的实现,包括:

  • 标准开源采集规则配置文件prometheus.yaml

  • 适合自定义K8s集群内监控的采集规则ServiceMonitor

  • 默认采集规则Annotation

三种规则对应的配置方式如下:

  • 编辑prometheus.yaml

    Prometheus监控无需重启,使用prometheus.yaml配置文件即可动态更新采集规则。

    1. ARMS控制台的左侧导航栏,选择Prometheus监控 > 实例列表

    2. 在实例列表中找到要配置的实例(实例名称为ACK Serverless集群名称),单击对应的设置

    3. 在左侧导航栏,单击设置

    4. 设置页签下,单击编辑prometheus.yaml

    5. 编辑prometheus.yaml,然后单击保存

      内容示例如下:

      global:
        scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
        evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
      scrape_configs:
        - job_name: 'prometheus'
          static_configs:
          - targets: ['localhost:9090']
  • 添加ServiceMonitor

    添加ServiceMonitor后可以进行K8s集群内应用业务数据的监控。

    1. 在ARMS控制台的左侧导航栏,选择Prometheus监控 > 实例列表

    2. 在实例列表中找到要配置的实例(实例名称为ACK Serverless集群名称),单击对应的设置

    3. 在左侧导航栏,单击服务发现,然后单击配置页签。

    4. 单击ServiceMonitor页签,然后单击添加ServiceMonitor

    5. 参考以下示例填写内容,然后单击确定

      apiVersion: monitoring.coreos.com/v1
      kind: ServiceMonitor
      metadata:
        # 填写一个唯一名称
        name: tomcat-demo
        # 填写目标命名空间
        namespace: default
      spec:
        endpoints:
        - interval: 30s
          # 填写Prometheus Exporter对应的Port的Name字段的值
          port: tomcat-monitor
          # 填写Prometheus Exporter对应的Path的值
          path: /prometheus-metrics
        namespaceSelector:
          any: true
        selector:
          matchLabels:
            #填写service.yaml的label字段,用来定位目标service.yaml
            app: tomcat
  • 添加Annotation

    在应用的YAML文件里,添加Annotation如下:

    annotations:
              prometheus.io/scrape: "true"
              prometheus.io/port: "9090"
              prometheus.io/path: "/metrics"

  • 本页导读 (1)