2015-08-21 28 views
2

我正在寻找Web应用程序的监视解决方案,它被部署为通过7-10个虚拟机传播的Swarm Docker容器。高层次的需求是:Docker Containers和Swarm的工作监控解决方案?

  • 配置Web和REST接口,性能仪表板
  • 在VM水平(CPU /内存/ IO)
  • 警报的常规性能指标时,容器和/或虚拟机的脱机/重启需要
  • 主机OS时
  • 可能性向下钻取到容器过程中的活动是CoreOS和Ubuntu

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

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

+0

就像我身边的更新一样:经过一番研究,我们现在正在测试每个集群节点上运行的cAdvisor和[Prometheus.io]作为后端和分析仪表板前端的设置。还有其他一些选项,比如InfluxDB + Graphana,或者Kubernetes + [Heapster](https://github.com/kubernetes/heapster)。 – Yuri

+0

我正在寻找一个群体监测工具。这事有进一步更新吗? – JorelC

+0

@Yuri你能分享一些你的经验吗?我即将在每个节点+ prometheys设置上测试相同的cAdvisor。任何提示/资源? – fiunchinho

回答

0

看看Axibase Time-Series Database/Google Cadvisor/collectd stack。

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

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

仪表板:

  • 主持人:enter image description here

  • 集装箱:enter image description here

API/SQL:

快讯:

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

谢谢谢谢 - 这种设置是否允许获得动态虚拟机配置,即如果新主机通过cAdvisor加入群集,ATSD是否可以自动获取它? – Yuri

+0

正确的是,当您在新主机上启动cadvisor容器时,请确保将其atsd存储驱动程序指向中央ATSD。 –

0

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

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

1

根据您的要求,听起来像Sematext Docker Agent将是一个不错的选择。它作为每个Docker主机上的一个小容器运行,并收集所有主机+容器度量标准,事件和日志。它可以解析日志,路由它们,黑名单/白名单,拥有容器自动发现功能等等。最后,日志会以Logsene结尾,度量和事件最终会以SPM结束,这将为您提供单个窗格的所有Docker操作位视图,并提供警报,异常检测和关联等。