「大型网站架构设计」—— 网站运行监控

嘿,笔者的个人博客已经孵化完成啦,欢迎大家来逛逛。以后的文章也会在博客进行首发,快来关注我吧,我们继续一起探讨技术一同进步~

本文主要是笔者对《大型网站技术架构》一书的总结归纳。主要通过两种方式展现,一是通过「思维导图」的形式输出;另一种,就是本文以图文的形式更加详细和展开的描述‘大型网站技术架构’的方方面面。



本文是「大型网站架构设计」系列文章的最后一篇,相关文章见:
大型网站技术架构 ——「思维导图」
「大型网站架构设计」—— 前言
「大型网站架构设计」—— 大型网站核心架构要素
「大型网站架构设计」—— 网站性能测试
「大型网站架构设计」—— 网站运行监控


四,网站运行监控

“不允许没有监控的系统上线”,这是许多网站架构师在做项目上线评审时常说的一句话。网站运行监控对于网站运维和架构设计优化至关重要,运维没有监控的网站,犹如架势没有仪表的飞机。盲人骑瞎马,夜半临深渊而不知,生死尚且未卜,提高可用性、减少故障率就更无从做起了。

4.1 监控数据采集

  1. 用户行为日志收集
    ① 服务器端日志收集;
    ② 客户端浏览器日志已收集

    大型网站的用户日志数据量惊人,数据存储与计算压力很大,目前许多网站逐步开发基于实时计算框架Storm的日志统计与分析工具。

  2. 服务器性能监控
    目前网站使用比较广泛的开源性能监控工具是Ganglia,它支持大规模服务器集群,并支持以图形的方式在浏览器展示实时性能曲线。

  3. 运行数据报告
    除了服务器系统性能监控,网站还需要监控一些与具体业务场景相关的技术和业务指标。
    运行数据需要在具体程序中采集并报告,汇总后统一显示,应用程序需要在代码中处理运行数据采集的逻辑。


4.2 监控管理

监控数据采集后,除了用作系统性能评估、集群规模伸缩性预测等,还可以根据实时监控数据进行风险预警,并对服务器进行失效转移,自动负载调整,最大化利用集群所有机器的资源。

网站在监控管理基础之上实现自动优雅降级,是网站柔性架构的理想状态:监控系统实时监控所有服务器的运行状况,根据监控参数判断应用访问负载情况,如果发现部分应用负载过高,而部分应用负载过低,就会适当卸载低负载应用部分服务器,重新安装启动部分高负载应用,使应用负载总体均衡,如果所有应用负载都很高,而且负载压力还在继续增加,就会自动关闭部分非重要功能,保证核心功能正常运行。

你可能感兴趣的:(「大型网站架构设计」—— 网站运行监控)