监控对象

  • 容器集群节点
  • 集群上运行的容器

监控数据类型

  1. 性能状态图表: 各性能指标的不间断连续数据

  2. 服务心跳: 定时上报,确认服务活性

  3. 报警: 由状态数据经过报警逻辑计算触发(阈值,断流等)的报警信息

不同类型数据流向

  1. 状态: 集群节点采集器 -> Prometheus -> Grafana

  2. 心跳: 被监控容器自身 -> oneAgent -> InfluxDB -> Grafana

  3. 报警: 集群节点采集器 -> Prometheus -> AlertManager -> oneAgent -> 报警终端

注:

  • 集群节点采集器包括cAdvisor, node-exporter 等容器
  • 心跳需要特殊编写脚本,对于容器,要在Dockerfile编写时加入,并在启动时启用heartbeat相关参数

架构及部署变化

目前测试运行的 Docker Swarm 栈将要发生变化,首要目的是处于节约容器集群资源考虑,将Prometheus剥离出集群单独部署。

architecture_changing

设计任务

关键指标的提前整理归类等

部署任务

  1. 解决Prometheus和AlterManager剥离出集群后的服务发现问题(或通过配置中静态配置采集器地址)
  2. 数据采集效率和延迟测试

开发任务

  1. 容器节点和容器的心跳上报脚本,心跳功能考虑纳入今后容器构建发布的规范。
  2. AlterManager 报错脚本编写。需要了解学习Prometheus技术栈,提取报警通用逻辑,避免随着服务变动频繁增添脚本。
  3. oneAgent接口研究,修改(如有必需)

Comments

comments powered by Disqus