监控不变基础架构的虚拟机

43次阅读
没有评论

问题描述

目前正在使用HashiCorp技术栈(Packer、Terraform)和Ansible来生成不变基础架构(Immutable Infrastructure)和基础架构即代码(Infrastructure as Code)。该流程从基础镜像构建虚拟机,进行配置,并将其应用到一些VSphere服务器中。然而,他遇到了一个问题,即如何知道虚拟机何时宕机或无响应。用户在研究了Consul和Prometheus后,想知道如何在这种场景下进行监控。

解决方案

请注意以下操作可能会因版本差异而有所不同。

使用Consul进行监控

Consul正是为此场景而设计的,它可以对您定义的所有服务运行健康检查,并在服务不健康时将其自动移出使用。但是,它并不会在服务出现问题时发送警报,它更多地用于自动从服务中移除不健康的部分。然而,它为您提供了一个可以查询基础架构健康状态的单一点,您可以手动设置警报,或者结合使用类似于 consul-alerts 的工具来实现自动警报。

使用Prometheus进行监控

Prometheus更加关注于指标,它可以以不同的方式监控应用程序的健康状况,这是Consul所不太适合的。它可以在定义的事件发生时发送警报,您可以根据需要进行调整以监控您所需的内容。

考虑外部检查

除了内部监控,您还可以考虑使用一些外部检查来确保公共终端点是否正常工作,从外部的角度进行验证。一些服务,如 Panopta,可以进行此类检查,确保从外部视角检查终端点是否仍在工作。

总结

在监控不变基础架构的虚拟机时,您可以选择使用Consul和Prometheus来满足不同的需求。Consul适合自动化管理不健康的服务,而Prometheus则更适合监控应用程序的指标。此外,您还可以考虑使用外部检查来验证公共终端点的可用性。

请注意,根据您的具体需求和基础架构,您可能需要在不同的监控工具之间进行权衡和选择。建议根据您的实际情况来决定哪种监控方案更适合您的场景。

正文完