接入Prometheus监控后,您可以通过ARMS预定义的大盘监控Kubernetes集群的众多性能指标。本文介绍如何为ASK集群接入ARMS Prometheus监控。
前提条件
背景信息
应用实时监控服务ARMS(Application Real-Time Monitoring Service)是一款应用性能管理(APM)产品,包含应用监控、Prometheus监控等功能模块,能帮助您实现全栈式性能监控和端到端全链路追踪诊断,实现轻松高效的应用运维。
ARMS Prometheus监控可以全面对接开源Prometheus生态,支持类型丰富的组件监控,提供多种开箱即用的预置监控大盘,并提供全面托管的Prometheus服务。借助ARMS Prometheus监控,您无需自行搭建Prometheus监控系统,因而无需关心底层数据存储、数据展示、系统运维等问题。更多信息,请参见Prometheus监控概述。
安装Prometheus监控组件
登录容器服务管理控制台。
在左侧导航栏,选择市场>应用目录。
在阿里云应用页签下,找到ack-arms-prometheus应用,然后单击该应用。
配置参数,并选择集群进行安装。
选择要安装的ASK集群。
单击参数页签,在下方yaml模板中填写AccessKey和AccessKeySecret。
单击创建。
查看安装结果。
单击集群名称进入集群信息页面,在左侧导航栏选择应用>Helm,查看arms-prom的状态是否为已部署。
查看Prometheus监控
安装prometheus监控组件后,您可以在ARMS控制台的Prometheus监控页面查看具体监控信息。
在容器服务管理控制台的左侧导航栏,选择集群。
找到要查看监控数据的集群,单击集群名称。
在集群信息页面,单击右上角的Prometheus监控。
查看Prometheus监控指标。
您可以根据需要切换页签查看各项仪表板展示的监控指标。更多信息,请参见查看Prometheus监控指标。单击右上角的跳转到应用实时监控服务 ARMS,可以跳转到ARMS控制台设置该集群的Prometheus监控大盘。
配置Prometheus监控采集规则
ARMS Prometheus监控兼容并提供三种主流采集规则的实现,包括:
标准开源采集规则配置文件prometheus.yaml
适合自定义K8s集群内监控的采集规则ServiceMonitor
默认采集规则Annotation
三种规则对应的配置方式如下:
编辑prometheus.yaml
Prometheus监控无需重启,使用prometheus.yaml配置文件即可动态更新采集规则。
在ARMS控制台的Prometheus监控页面。找到要配置的集群,单击设置。
单击Prometheus设置页签。
编辑prometheus.yaml,然后单击保存。
添加ServiceMonitor
添加ServiceMonitor后可以进行K8s集群内应用业务数据的监控。
在ARMS控制台的Prometheus监控页面。找到要配置的集群,单击设置。
单击服务发现页签,然后单击添加ServiceMonitor。
参考以下示例填写内容,然后单击确定。
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"