全部产品
Search
文档中心

弹性容器实例:接入ARMS Prometheus监控

更新时间:Aug 30, 2023

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

前提条件

  • 已创建ACK Serverless集群

    说明

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

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

    说明

    Prometheus监控是ARMS的付费子产品,您可以免费试用15天,试用结束后需开通专家版方可继续使用。更多信息,请参见ARMS定价页

背景信息

应用实时监控服务ARMS(Application Real-Time Monitoring Service)是一款应用性能管理(APM)产品,包含应用监控、Prometheus监控等功能模块,能帮助您实现全栈式性能监控和端到端全链路追踪诊断,实现轻松高效的应用运维。

ARMS Prometheus监控可以全面对接开源Prometheus生态,支持类型丰富的组件监控,提供多种开箱即用的预置监控大盘,并提供全面托管的Prometheus服务。借助ARMS 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监控>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监控>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"