我的公司开始为客户提供托管服务协议,这意味着我们可以远程管理客户站点的小型服务器集群。我们管理的主机位于客户防火墙后面,我们通过 VPN 进行访问。这对于故障排除或交互式任务来说非常有效。
但是,我不确定如何管理监控。我可以编写一堆监控脚本,当出现问题时通过电子邮件通知我。但我更愿意使用“真正的”监控框架(例如,我最熟悉的 Nagios),它可以让我对所有客户站点的运行状况有一个统一的了解。
不过,我不确定我该如何做到这一点,因为我想要监控的网站只能通过 VPN 访问——而只是为了监控而一直保持 VPN 连接是不切实际的。
我很想听听任何想法。
答案1
始终保持 VPN 连接畅通有什么问题?它们不会磨损。这听起来像是监控 VPN 端点健康状况的好方法。事实上,如果您要使用 Nagios,您可能希望将所有检查配置为将 VPN 端点作为依赖项(这样您的 VPN 发生故障就不会触发大量错误警报)。
您可能还想阅读 Nagios 文档分布式监控,这可能会为您提供所需的东西——在每个客户站点安装一个监控主机,并让它们使用本文档中讨论的技术向“主监控器”报告。假设您的客户网络不阻止您的出站访问,这似乎满足了你的目标:
- 您不依赖 VPN 进行入站访问
- 你可以在一个中心位置检查所有监控
答案2
如果您只关心问题通知:
- 在客户现场安装 Nagios。
- 配置 Nagios,当发生任何事情时向您发送电子邮件。
- 为了确保您收到有关客户电子邮件系统或互联网访问问题的通知,请设置具有 WWAN 通信功能的 Nagios 实例,例如,这个小 GPRS 调制解调器并将短信与电子邮件一起发送或作为电子邮件的替代。
如果您还想提取监控数据,您会发现您的解决方案将受到客户安全要求的限制:我确信在某些情况下他们会拒绝提供 VPN 设置之外的传入连接。但如果不行,那么您可以整理一些 perl 脚本并将它们放在外部可用的网站上 - 这种设置易于构建、管理和控制访问。例如,如果您查看 Pingdom,您会发现他们使用这种方法来监控您环境中的几乎所有内容。
答案3
我认为保留 vpn 进行监控并没有错。
或者您可能有安全方面的顾虑。
您可以使用检查_by_ssh并与受监控公司中的单个主机(例如路由器或任何其他可以访问局域网和公共互联网的设备)进行通信,以调用内部机器上的 nagios 代理。
我会更多地依赖主动(例如基于 nagios)的监控,而不是通过邮件发送的问题报告。