监控指标的采集层中,监控指标分为两种类型。
一种是引擎相关指标(例如QPS、RT等)。对于这些指标而言,PolarDB-X针对每一个不同的组件,构建了一个Exporter的服务,它通过HTTP的方式来暴露监控指标。Prometheus会定期获取数据(周期就是在PolarDBXMonitor对象中限定的monitorInterval参数值,如下图所示)。
另一种是资源层面的指标(CPU、内存等基本指标)。对于这些指标而言,PolarDB-X通过开源的Node Exporter去暴露(如下图所示,可以看到在polardbx-monitor这个命名空间下,创建好了一些nodeexporter的Pod来负责监控的采集)。
采集完监控指标后,Prometheus会将监控指标存储到内部的一个时序数据库里面。然后,Grafana的监控报表会通过PromQL的方式从Prometheus中获取监控数据,并构建相应的监控图表,以供用户了解实例的运行状况。此外,对于Prometheus Cluster,我们是通过Prometheus Operator组件去管理,它可以帮助我们有效地部署和管理Prometheus集群。
一个Kubernetes集群内,哪些PolarDB-X实例需要监控、以何种频率监控,都由PolarDBXMonitor对象所制。PolarDBXMonitor会告Prometheus,需要采集哪些实例的监控指标。
以上内容摘自《PolarDB-X 从入门到实战》电子书,点击https://developer.aliyun.com/ebook/download/7674可下载完整版
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,100%兼容MySQL。 2021年开源,开源历程及更多信息访问:OpenPolarDB.com/about