Fabric1.4版本是一个里程碑式的版本,是首个LTS的版本(Long Term Support的版本)。我们认为1.4版本发布的节点数据指标收集接口,极大的提升了fabric的可维护性和可监控性,意味着更利于生产环境的稳定运行。下面详述我们针对fabric 1.4版本的数据指标如何进行采集、展示和预警。
首先看fabric 1.4中关于Operation Services数据指标文档的描述:
Configuring Metrics
Fabric provides two ways to expose metrics: a pull model based on Prometheus and a pushmodel based on StatsD.
fabric提供了基于Prometheus这种拉式模型和基于StatsD这种推式模型的两种方式来获取指标数据。这里我们以Prometheus这种拉式模型来展开介绍。
一. Prometheus Operator
我们fabric是部署在k8s环境上的,coreos有一个开源项目 Prometheus Operator,可以在k8s上部署、管理prometheus。其优势体现在基于k8s的CustomResourceDefinition,该项目中定义了prometheus/serviceMonitor等resource type,可以通过k8s的matchLabel标签匹配动态按需为特定的容器组分配prometheus节点;以及prometheusRule、alertmanager等resource type,实现快速配置告警服务。使用户可以通过简单创建k8s的对应resource,来动态管理prometheus节点、监控服务和告警服务。具体介绍可以参考