Docker Containers 和 Swarm 的有效监控解决方案?

Yur*_*uri 5 monitoring docker coreos docker-swarm devops

我正在寻找 Web 应用程序的监控解决方案,部署为 Docker 容器群,分布在 7-10 个虚拟机中。高级要求是:

  • 性能仪表板的可配置 Web 和 REST 接口
  • VM 级别的一般性能指标(CPU/内存/IO)
  • 当容器和​​/或虚拟机脱机/重启时发出警报
  • 可以在需要时深入了解容器流程活动
  • 主机操作系统是 CoreOS 和 Ubuntu

这里有任何建议/最佳实践吗?

注意:外部 Kibana 安装用于从部署在 VM 上的 Logstash 代理收集应用程序日志。

Ser*_*nov 0

看一下Axibase 时间序列数据库/Google Cadvisor/collectd 堆栈。

披露:我在开发 ATSD 的公司工作。

  • 每个虚拟机部署 1 个 Cadvisor 容器来收集 Docker 容器统计信息。Cadvisor 前端允许您查看顶级容器进程。
  • 部署 1 个 ATSD 容器以从多个 Cadvisor 实例获取数据。
  • 在每个虚拟机上部署collectd守护进程来收集主机统计信息,配置collectd守护进程以使用write_atsd插件将数据流式传输到ATSD中。

仪表板:

  • 主持人:在此输入图像描述

  • 容器:在此输入图像描述

API / SQL:

警报:

  • ATSD 带有一个内置的规则引擎。您可以配置规则来监视容器何时停止收集数据并触发电子邮件或系统命令。