Metrics Monitor 架构图,由图中看,主要有4部分:
psutil:一个跨平台的系统信息采集 Python 模块。
metric_collector:周期性(默认为5s)采集系统信息,并存储到 ApplicationMetricMap 当中。
ApplicationMetricMap:数据容器,本地暂存采集指标。
Emitter:周期性(默认为60s)把 ApplicationMetricMap 中存储的所有监控数据,发送给 Metrics Collector。
简述一下 Metrics Monitor 的工作流程:
metric_collector 每 5s 通过 psutil 采集一次当前系统的信息(如 disk、cpu、memory、network等),并存储到 ApplicationMetricMap 当中;Emitter 每 60s 把 ApplicationMetricMap 中存储的所有监控数据,通过 HTTP POST 接口,发送给 Metrics Collector。
Metrics Sink 和 Metrics Monitor 的架构图大同小异,这里就不再展示 Metrics Sink 的架构图,
仅仅简述一下 Metrics Sink 的工作流程:
根据每个应用的实际情况,采集相应的监控指标,先暂存到本地的数据容器中,然后周期性的通过 HTTP POST 接口,发送给 Metrics Collector。