关闭。这个问题是 opinion-based 。它目前不接受答案。
想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文来回答。
7年前关闭。
Improve this question
我们正在完成我们的 Web 应用程序并计划部署。部署到生产的一个非常重要的方面是监控系统的健康状况。拥有一个由开发人员/支持组成的小团队,这对于我们在潜在问题对用户产生影响之前获得潜在问题的早期通知并解决这些问题非常重要。
使用 Nagios 接缝是一个不错的选择,但想获得更多关于一般 Web 应用程序和特别是 Django 应用程序的最佳监控工具/实践的意见?除了明显的 CPU、内存、磁盘空间、数据库连接之外,还欢迎就应该监控的内容提出建议。
我们的 Web 应用程序是用 Django 编写的,我们在 Linux (Ubuntu) 上运行,使用 Apache + Fast CGI 和 PostgreSQL 数据库。
编辑
我们在 Linode 下有一个完全虚拟化的环境。
编辑
我们正在使用 django-logging,所以我们有一种方法可以将信息、错误、关键问题等分开。
最佳答案
Nagios 很好,定期运行系统测试(Selenium)也很好。
编辑:Hyperic 和 Groundwork 看起来也很有趣。
可能有一个测试套件系统可以为您保持压力测试。我一时想不起来这个名字,也许有人可以在下面提到一个。
我喜欢做的其他事情:
基础设施的最佳座右铭始终是修复、检测、修复。解决它,找到它的根源,如果可以的话,治愈/预防它。
由于一个系统存在多个层次,我们应该在多个层次上进行测试:
编辑:通过电子邮件将所有错误或警告直接发布给您的个案经理。这样您就可以在一个地方跟踪事件。
1) Connection :从服务器和外部监控您的互联网连接。在某处记录这个
2) Server :监控您需要的所有进程,以确保它们正在运行并且没有固定服务器。使用 HP 服务器或具有硬件故障通知功能的等效设备,它可以从 BIOS 级别执行此操作。如果是,请通知并记录。
3) 软件 :识别需要一直运行的关键软件。设置性能级别(如果有),然后监控它们。 Nagios 应该能够帮助解决这个问题。在 Windows 上,它可以多一点。发生异常时,您应该能够从中运行脚本以自动重新启动进程。我梦想的系统允许我通过 SMS 与服务器交互,如果服务器将其视为我必须允许的异常(exception),或者除非我通过 sms 取消否则会自动发生的异常(exception)。一天..
4) 远程电源 :确保远程电源重置功能在您手中。如果您曾经使用 Windows 进行任何操作,您可能希望安排每周重新启动。
5) 业务逻辑测试 :定期运行脚本测试系统的工作流程。 Selenium 可能可以实现其中的一些,但我也喜欢记录结果,并说此时运行并且这些文件有错误。如果可能,请让系统通过脚本监控自身。
6) 备份 :做一个你可以设置和忘记的备份。如果您可以将东西放入虚拟机中,那将是理想的选择,因为您可以在任何地方扩展、移动或部署基础架构的任何部分。我曾经有过将一个死服务器移到我的笔记本电脑上的实例,让它在我解决问题的同时在 vmware 中运行。
关于django - Web 应用程序监控最佳实践,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/495985/