使用Django进行实时监控

时间:2019-03-08 23:32:44

标签: django django-models django-rest-framework django-views

我想使用Django监视某些网络设备。 可以说我在三个不同的位置拥有三台PC。

PC1= city1
PC2= city2
PC3= city3

类似这样的东西:

example

在Django中制作实时监控应用程序的最佳方法是什么。

我已经知道我可以使用snmp或ping来获取这些PC的状态。 (使用视图)。而且我对mapbox或Java有点了解,可以获取交互式地图。

所以!我如何拥有一个网页,例如每10秒自动更新这些PC的状态?

1 个答案:

答案 0 :(得分:0)

您有两种方法可以做到这一点。第一个是带有JS的页面,该页面具有setTimeout代码,该代码每10秒运行一次,此超时将对您的服务器执行ajax调用,该服务器将执行“获取状态”命令并返回JSON结果,您可以使用来更新浏览器页面上的数据。

另一种解决方案是与服务器一起使用打开的网络套接字,然后让Celery工作者每10秒运行一次定期任务,该任务执行“获取状态”命令并将结果返回到打开的网络套接字(s),然后更新您的浏览器页面。

希望这会有所帮助!