应用程序健康监控系统至少应该为您(开发人员)和/或您的老板(IT经理)和/或操作(待命)员工做些什么?
在最低要求之上还应该做些什么?
是否需要监控“基础架构”应用程序(ms-exchange,apache等),还是需要监控单个用户应用程序,网站和数据库?
如果是后者,您需要了解它们吗?
ADDENDUM:感谢您的投入,我真的在寻找应用程序级别的监控而不是基础设施监控,但是了解两者都很好
答案 0 :(得分:12)
答案 1 :(得分:2)
答案是'这取决于'。你为什么需要监控?你的运营人员有多大?你需要报告吗?什么是应用环境?谁在乎应用程序是否失败?谁在乎是否发生异常?是否可以恢复任何错误?我可以长时间问这些问题。
答案 2 :(得分:2)
这是一个开放式的问题,但我会从物理测量开始。
1.我认为托管这个网站的所有机器都可以ping通吗?
2.应该提供内容的所有机器是否实际上都提供了某些内容? (理想情况下,这会受到外部网络的影响。)
3.每台机器上的每项预期服务是否都在运行?
3A。最近有这些服务吗?
4.每台机器是否都有硬盘空间? (别忘了db)
5.这些机器是否已备份?最后一次是什么时候?
一旦人们对系统进行物理监控,就可以解决系统特有的问题?
1.自动脚本可以登录吗?需要多长时间?
2.有多少用户?是否增加了一百万个假账户?
...
这些问题变得更加模糊,并且可能非常系统化。它们通常也可以在响应动态测量时被反应性地导出。硬盘填满,也许网络服务器日志已经填满,因为一堆代理创建了太多假用户。那种事。
虽然计划A不一定是被动的,但它是许多站点设置监控系统的方式。
答案 3 :(得分:2)
很棒的问题。
我们一直在为我们的需求寻找一些应用程序级别的监控解决方案,但没有任何运气。流行的监控解决方案主要用于监控基础设施,在我看来,它们太复杂,无法满足大多数中小型公司的需求。
我们需要(主要)以下功能:
因为我们找不到合适的解决方案,所以我们开始编写自己的解决方案。最后,我们以称为AlertGrid的正常运行服务结束。 (你当然可以免费查看。)
它背后的想法是提供一种处理自定义监控方案的简单方法。 Integration API非常简单(一个函数有两个必需参数)。我们和其他人正在使用它:
答案 4 :(得分:1)
最小值:确保它正在运行:)
然而,其他一些东西会非常有用。例如,CPU负载,RAM使用情况和(在多用户系统中)用户运行的是什么。此外,对于访问网络的应用程序,每个应用程序的网络连接列表。并且(如果您可以访问客户端计算机),能够看到应用程序的“窗口标题”会很酷 - 如果更改并保存,可能每2-3分钟检查一次。此外,应用程序打开的文件列表可能非常有用,但它不是必须的。
答案 5 :(得分:1)
我认为这很简单 - 监控,以便在出现问题之前及早得到警告。这意味着监视依赖项和应用程序本身。
如果您不打算提供有关您正在监控的应用程序的详细信息,那么提供细节真的很难,所以我会说这是一般规则。
答案 6 :(得分:1)
您至少想知道系统是否健康。这对于定义您的系统是健康的是主观的。是计算机是否已启动,所需资源是否存在,数据是否流经系统,数据是否正确产生结果等等。
在我的项目中,我们对大部分内容进行监控,然后进行监控。它真正归结为可用于分析一切正常的最高级别。在我们的例子中,我们需要了解数据输出。如果你只需要知道这些机器是什么,它可以节省你试图向没有经验的最终用户展示出错的地方。
如果你只是太过于难以理解数据结果,还有“现成的”工具可以为你做很多艰苦的工作。当我环顾四周时,我特别喜欢Nagios,但我们需要的东西比它能够轻松显示的要多,所以我编写了自己的监控系统。基本上我们也会关注系统中的“特性”,内存/ CPU峰值等......
答案 7 :(得分:1)
感谢大家的意见,我真的在寻找应用程序级别的监控而不是基础设施监控,但是了解两者都很好
区别在于:
有时很难划清界限 - 过于简化的定义可能是“如果你的团队写了它,它就是一个应用程序;如果你买了它,那就是它的基础设施”
我认为在实践中最好监控两者
答案 8 :(得分:1)
您需要做的是分解应用程序的业务流程,然后让软件在主要业务组件上发出事件。此外,您还需要创建端到端综合事务(例如,模拟最终用户点击网站)。所有这些数据都将被输入监测工具。在过去,我已经为流入Tivoli Monitoring的JMX Adapter的应用程序完成了JMX,然后我完成了实现“假用户”的脚本,然后将结果通过管道传输到Tivoli Monitoring的脚本适配器中。 Tivoli Monitoring获取数据,然后根据原始数据创建应用程序运行状况和性能图表。