用于小型远程网络的简单正常运行时间监视器

用于小型远程网络的简单正常运行时间监视器

我们公司有大约 15 家小商店,每家商店都配有两台 Windows 7 PC(和两部 VoIP 电话),位于 SonicWall SOHO 后面。我们在每个地点使用各种商业级电缆和光纤 ISP。偶尔我们的商店经理会抱怨“互联网不工作”。我想在每个地点的一台 PC 上安装一个小型系统托盘应用程序,只需验证计算机是否在线(例如每 5 分钟一次)并将日志发送到服务器。然后,服务器将显示每个位置的图表及其相应的历史正常运行时间。理想情况下,如果某个位置离线超过 30 分钟,我们会收到警报(通过 Slack 是理想的),以便我们派出技术人员。

这对我们来说足够简单,可以让我们了解问题所在,但理想情况下,我们想知道 ISP 是否存在连接问题,SonicWall SOHO 是否存在问题,或者 PC 是否出现故障。

我们在大多数位置都有静态 IP,因此我可以 ping SonicWalls,但我希望有一个代理应用程序。

我读过关于 nagios、what's up gold、spiceworks、pagerduty、uptime robot 和其他的文章,但不确定其中是否任何一个足够简单,可以做到我上面提到的事情。

更新:我正在寻找一种不需要 VPN 隧道的解决方案,最好也不需要维护服务器。理想情况下,它应该是像 New Relic 这样的 SaaS 产品,但适用于 PC(而不是 Web 应用程序),并且对少于 50 台计算机免费。

更新 2:我还想知道是否有使用内置 Windows 工具和 Azure AD 的解决方案。

答案1

我当前的解决方案是使用 Pingdom 或 Uptime Robot(对于少于 50 个监视器和向 Slack 发出警报是免费)之类的工具每 5 分钟 ping 一次每个 SonicWall。

由于每个位置都有一个静态 IP,我所要做的就是在每个位置的防火墙设置中允许 Ping 响应并创建小型监视器。

因此,我不会验证防火墙后面的 PC 是否正常工作,但我会监控 Internet 连接和防火墙是否正常运行。

没有什么特别的,但是简单而且免费。

答案2

从你的问题中我了解到你需要一个监测基础设施。即使你用不同的措辞来描述它,很明显你需要一些东西:

  • 定期检查您的 15 个远程站点是否“正常运行”;
  • 如果某些节点离线,则发出一些警报(发送电子邮件、短信等);
  • 保留状态/事件的历史记录。

嗯....以上监测基础设施。

你坚持了:“不确定这些是否足够简单,可以做到我上面提到的事情“其中的‘简单’一词可能代表了一个问题:我确信建立一个非常基本的监控平台并不是一件‘简单’的事情,但是……尽管如此,如果你觉得需要这样一个平台,那么你大多强制(为了您自己的利益)扩大规模,投入时间和资源来实施这样的平台。

所以,回到你的问题,这是我的建议:通过 VPN 将所有 15 个远程站点连接到总部,监控箱将定期检查你的网络/服务/远程站点的健康状况。VPN 服务器和监控箱可以位于同一个 Linux 机箱中,并且该解决方案将 100% 基于开源。

详细地:

  1. 安装一个 Linux 机器(甚至虚拟机也可以)并且安装/配置一个 OpenVPN 服务器(带有证书认证);

  2. 在 15 个 win7 机器上分别安装 OpenVPN 客户端。让客户端在启动时启动,这样每次 Win7 机器重启时,它都会立即连接到 OpenVPN 服务器;

  3. 正确配置 Windows 防火墙,以便接受通过 VPN 的任何类型的流量;

完成以上三个步骤后,您将可以从总部(通过 linux、openvpn 服务器)完全访问每个 Win7 机箱。

有了这样的网络基础设施,您就可以部署监控平台了。

我一般避免推荐产品和技术,但是......为了正确回答您的问题,确实需要提及一些产品。

我认为,有两款产品应该很适合您的情况,它们可以为您提供灵活性……现在您并不需要,但我预计您在未来几个月会需要:NAGIOS 和 ZABBIX。它们是完全不同的产品,具有不同的监控任务方法。

在这两种产品中,考虑到您的主要关注点是“Win7 盒子”(而不是“远程网络和资源”),我建议使用 ZABBIX。所以:

  1. 在 linux/openvpn 框上安装 Zabbix。很有可能它已经包含在软件存储库中,因此安装非常简单

  2. 部署Zabbix 代理在每个 Win7 机器上,小心地配置它们以便回答来自 zabbix 服务器的请求;

最后:

  1. 花一些时间(至少几天)配置 zabbix因此:
    • 通过 zabbix 代理访问 15 个 Windows 框(zabbix“主机”);
    • 检索您想要监控的实体的状态(CPU,内存,I/O,网络状态等 - zabbix“items”);
    • 定义“警报”条件(zabbix“触发器”)

当所有这些都到位后,您将能够非常轻松地从总部(甚至从智能手机,因为 OpenVPN 客户端也可用于 Android 和 iOS)了解远程站点的状态。

到底:

  • 以上内容“容易/简单”吗?不,不是这样的。但是它也不是很复杂;

  • 上述这些是否“值得努力”?是的。当然。你需要一些时间来把所有东西都准备好,但是……当一切都准备好时,你会开始思考,以前没有这样的基础设施,你是如何生存下来的;

  • 上面说的“是世界上最好的监控基础设施”吗?可能不是。但它非常适合你的环境(以我的拙见);

  • 如果您在安装/配置时遇到问题怎么办?好消息是,我建议的所有软件组件(Linux、OpenVPN、Zabbix)都是著名的开源项目。即使在伟大的 ServerFault 社区中,它们也得到了很好的体现 [参见这里这里, 和这里]。此外,网络上有大量关于它们的非常好的文档。

祝你好运!欢迎加入(顺便说一句,很不错的)系统/网络管理员世界 :-)

相关内容