最近,我们的CDN服务出现了一个问题:一个边缘位置caching了JavaScript文件的不完整版本,我们来自阿拉伯联合酋长国的客户(以及其他一些附近的国家)无法使用我们的服务。 这个问题现在已经解决了,但是我们已经意识到监控我们的CDNnetworking可能是一个好主意。
我们需要监视:
由于我们的CDN提供商在不同地点有很多服务器,我们也需要从多个不同地点跟踪这个服务器。 我见过很多可以跟踪网站的服务,但是所有这些服务似乎都集中在衡量可用性和速度上,而对于这个问题我们更关注一致性。
所以我相信我们有以下select:
有什么更好的办法? 你能否提出其他build议来解决我们的问题?
谢谢。
对不起,但这几乎是不可能的。
最好的方法是从CDN提供商处获得所有边缘服务器的IP地址列表,然后编写脚本来testing边缘位置的副本。 但是,我99%肯定你不会find一个能给你详细信息的CDN提供商,这个CDN的竞争非常激烈。
除了上面已知的IP列表之外, 使用CDN,您不能依赖DYI监视,或者Gomez,Pingdom或任何其他HTTP监视服务完成的HTTP监视。 CDN在许多城市都有边缘位置,并使用某种“智能”交通路线:
因此,您的监控客户端将被定向到“最近的”CDN POP,并且无法监控其他CDN POP。 您必须在许多地方运行监控代理,然后才能确定涵盖所有CDN POP。
所有优秀的CDN都对自己的networking进行了广泛的监控,所以实际上应该没有理由自己复制它。 相反,我会build议考虑:
切换到更好的CDN提供商?
迫使CDN POP更频繁地驱逐他们的caching版本。 良好的CDN可以独立于HTTP Expires&Cache-Control标头所说的来pipe理其边缘上的cachingTTL。 这样,如果有不完整的文件,它会更快地刷新。
1)查看pingdom.com和websitepulse.com的监控位置
2)不可靠
3)不可靠
4)从来没有听说过
您是否与您的CDN提供商通话以检查可能的工具以满足您的监控需求? CDN可能会为您提供一个界面,专门为您的检查请求select一个镜像站点或区域。 我会把它当作第一的路线,因为其他的一切都不是真正的解决办法。
有代理目录,但这些是不可靠的,经常变化,如3molo所述。 您可能会考虑在云服务(例如AWS或Azure)上运行您自己的代理作为监控代理,但是这实际上取决于CDN使用的地理位置algorithm,如果这将反映“真实世界”检测并获得“正确“的服务器。
依靠一个不可靠的点对点基础设施来监控听起来像是一个坏主意,如果你没有其他select,可能只值得一试。