我如何certificate一个Web服务器和网站正在工作?

我们的DMZ中有一个Web服务器,它提供了一个ASP.NET Web应用程序。 该应用程序已经活了大约2个月,工作很好,但我们收到来自用户定期的电子邮件说,他们无法访问该网站,因为他们得到超时或链接断开或页面未find等…

我的第一个想法是,这是最终的东西,因为我们已经有人从世界各地testing网站,没有问题,也没有发现停工时间。 我的问题是我不想告诉用户,“问题就在你身上,弄明白了。” 我想有办法向他们certificate这一点,或者有些步骤可以让他们自己certificate。

任何build议为自己或用户的问题?

编辑:为了澄清更多,问题是与相同的用户一遍又一遍(如目前为止总共5),他们根本无法访问该网站。 所以这不是一个页面特定的问题。 到目前为止,一些很好的答案,我希望我可以标记多个答案,因为它们都很好。

感谢您的快速转身。 在这里询问和得到答案比联系我的服务器/networking组:)更快

您可以使用此网站来validation您的网站是从“外部”

http://downforeveryoneorjustme.com/

如果用户更精明,并且愿意为您做一些额外的工作,让他们加载“YSlow”插件到Firefox,然后访问您的网站。 这将有助于确定性能瓶颈,断开的链接等。

http://developer.yahoo.com/yslow/

有许多服务将从多个位置testing您的网站,并向您提供每个网站的响应时间报告。 一个这样的网站是mon.itor.us

你也可能想检查你的服务器设置和日志 。 也许你是最大限度地允许连接数量带宽内存CPU容量

使用多个位置的远程监控服务。 网站脉冲是一个很好的,便宜,易于设置自己。 它可以让你知道你的网站在世界各地和不同networking上的performance如何。

他们可以向您发送电子邮件和SNMP陷阱,让您知道您的网站缓慢或不回答。

我在最后一个公司遇到了这个问题。 我会远程进入我的机器在家里,并检查网站。 遇到一个这样做的问题,我和我们的服务器在同一个ISP上,所以这不是从外面看的真正的检查,就在我们的防火墙之外。

现在我使用downforeveryoneorjustme.com除了我的远程家庭检查。

另外,如果您的公司有多个站点,则可以使用Nagios甚至PowerShell来检查网站,并在出现故障时提醒您。 只要确保在支票中使用您的公开地址。

我用Pingdom取得了巨大的成功。 您可以创build检查DNS,ICMP,HTTP连接以及HTTP Get和Post方法的检查,以确保您的站点正在返回有效的响应,并且脚本/表单可以正常工作。

合理的定价和支票来自5个或30个地点(分别为基本或商业账户)。 他们还跟踪来自这些地点的响应时间,以便了解您的网站在全球的performance如何。

如果是间歇性问题,则可能是由于任何地方的暂时性networking问题或服务器性能问题造成的。 可能的原因是巨大的! 您需要消除服务器作为问题的原因。 检查事件操作系统日志,IIS错误日志等尝试要求别人立即与您联系,因为问题发生。 要求他们对服务器执行tracert或pathping来诊断networking问题。 在问题发生的时候检查服务器是否有高负载。

为了更确切的答案,我们需要更多的信息。

当然,网站的宕机时间是正常的,您可以尝试从外部监控网站,并检查它是否正常运行。 只要根据你的SLA高于你的4到5个9就好了,这有时候是重要的。

如果你已经有来自世界各地的人使用这个网站,你应该把这个问题的用户指向http://downforeveryoneorjustme.com/ 。 这是向他们certificate,无论是什么问题,都不是你。 您还应该设置一些实际加载网页的内部监控。 监测一个网站不是简单地得到一个200 OK消息。 您需要一个监视解决scheme,实际上在正确的页面上查找某些内容。 如果有某种types的后端连接(SQL DB,ADAM授权),则监控解决scheme也应该能够使用该连接加载页面。

certificate这种或那种方式是困难的,因为互联网路由可能是相互冲突的,也可能是DNS痛苦。

请记住,它可能不是你或他们有问题,它可能是你之间的互联网的一点点。 就像您ISP的ISP的DNS一样。 或者他们的ISP的ISP的路由。 或者你的networking服务器的前缀可能被别人的AS广告欺骗了(它发生了谷歌!)

要明确知道你需要从他们的位置nslookup您的网站的testing,最好从根名字服务器egaroot-servers.net开始。 并努力工作。 你想尝试在根和你的networking服务器的主机名的authenticationDNS服务器之间的path中的所有DNS服务器,因为它occaisionally发生的授权服务器之一将是fubar但其他确定,所以它适用于说你,但不适合他们。

假设DNS是好的,那么他们需要看看数据包是否可以find你。 即一审平。 你需要确保你的数据包可以回来。 平息他们。 假设一切都很好,那么你可能想要让他们做一个wget,curl或者telnet到你的web服务器,并且手工做一个GET(以消除浏览器caching)。 那么它可能是合理的说你的座位是可以到达的 – 假设是。 如果没有,那么你会有一个合理的想法是在哪里。

正如你所看到的,这不是一件小事。

正如其他人所build议的,一些商业服务器可以帮助您在多个networking中的多个位置定位您自己的服务器,并彼此进行检查。

如果你需要一个相当完善的监测服务,我build议你看一下Keynote或者Gomez 。

如果您托pipe了Web服务器,则需要使用外部服务来检查它,或者如果Web服务器是外部的,则可以自己安装监视服务。

在任何情况下,除了或许你的案件,但无论如何 – 通常你需要做的不仅仅是检查回应…

在响应中configuration特定内容的检查,所以你不会允许一个成功的响应,只是一个错误页面或其他网站的失败作为一个绿灯闪烁 – 走动时认为一切都很好,当它不是^^

监控任何服务并不像听起来那么简单,这就是为什么真正有用的服装往往非常复杂和/或昂贵。 当然,简单的方法可能会涵盖基础知识,尤其是在这种特定情况下。

我已经与Keynote运气好(不能添加链接,因为我是一个新用户)。 您可以从各个点设置显示器,指定testing间隔等。

过去我曾经使用过基调和戈麦斯networking,但首先我必须问,你怎么知道这不是真的与您的网站的问题?

在之前的工作中,我们曾经抱怨过我们的服务不可用,并且发现只有通过用户连接的数据包追踪并返回零字节。

在访问日志中什么都没有显示出来,并且我们的系统上还没有发现其他问题。

原来是apache模块中的某种错误导致了它的恐慌,而不是发出任何types的错误。