所以我有一套分布式的微服务,比如。Elasticsearch,MongoDB,Postgres,Flask应用程序,Apache Kafka集群等。我想构建一个监控工具,在那里我可以为它们周围的各种状态创建一个仪表板。例如,run-time,CPU %,number of processes等。这些和明显的当前状态将告诉我服务是否正在运行。
以前从来没有做过这样的工具,所以需要一些帮助。有什么东西已经做好了吗?如果没有,制作这类东西的良好做法是什么?
发布于 2015-09-05 13:44:16
看看森苏。Sensu是一个相当先进的监控工具。把它想象成分布式nagios。所以你在每台机器上安装了一个Sensu代理,它有一个大的no。上面提到的每个进程可用的插件。您也可以用自己选择的语言编写自己的插件,只要它们是有效的可执行文件。Bash,perl,Python,ruby什么都行。代理将数据发布到rabbitmQ,其中Sensu服务器读取数据。对于仪表板,您可以简单地安装uchiwa,这可能是最好的Sensu仪表板。这允许您进行监视之外的其他工作,因为Sensu服务器通过rabbitmQ请求来自所有Sensu代理的更新。所以你可以像你自己的事件触发器一样在这些机器上使用它。就像你可以远程启动和关闭进程一样。
另一个值得注意的工具是Riemann,http://riemann.io/。
Sensu更多的是通过代理发送数据,Riemann则是关于接收端的流处理。所以你可以有森苏特工和黎曼接收器。使用Riemann,您可以构建真正先进的度量警报规则。
然后是Icinga。这也是先进的nagios,但没有Sensu那么全面。
最后,如果您不想经历所有这些设置和维护的过程,您可以只使用像datadog这样的托管服务。但是在那里你会为你所监视的每一个主机付费。
发布于 2015-09-08 09:18:47
您可能会看到www.vamp.io,这是一个基于开源JVM的框架,用于管理基于容器和(微)服务的体系结构。
它还包括监视和带有仪表板功能的GUI。Vamp使用ElasticSearch来存储在系统中流动的度量,因此如果您愿意,也可以轻松地创建您自己的自定义Kibana仪表板。有一个强大的度量API可以使用:http://vamp.io/documentation/using-vamp/metrics-and-events/
我们现在进入了测试阶段,但是Vamp已经在一些SaaS供应商的生产中得到了大规模的应用。
免责声明:我是Magnetic.io的创始人之一,Vamp背后的公司。
https://stackoverflow.com/questions/32413647
复制相似问题