Docker Containers和Swarm的工作监控解决scheme?

我正在寻找Web应用程序的监视解决scheme,部署为通过7-10个虚拟机传播的Docker容器群。 高级要求是:

  • 性能仪表板的可configurationWeb和REST接口
  • VM级别的一般性能指标(CPU /内存/ IO)
  • 当容器和​​/或VM正在离线/重新启动时警报
  • 需要时可以深入容器处理活动
  • 主机操作系统是CoreOS和Ubuntu

任何build议/最佳做法?

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

根据您的要求,听起来像Sematext Docker Agent会很好。 它作为每个Docker主机上的一个小容器运行,并收集所有主机+容器度量标准,事件和日志。 它可以parsing日志,路由他们,黑名单/白名单,有容器自动发现,等等。 在最后的日志中,最后是Logsene ,度量和事件最终在SPM中 ,它为您提供了所有Docker操作位的单一窗口视图,包括警报,exception检测,关联等等。

我目前正在用scollector + cAdvisor支持来评估bosun。 现在看起来确定。

编辑:它应该符合所有列出的要求和一点点。 🙂

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

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

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

仪表板:

  • 主办: 在这里输入图像说明

  • 容器: 在这里输入图像说明

API / SQL:

快讯:

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