16 网站运行监控

Posted water___Wang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了16 网站运行监控相关的知识,希望对你有一定的参考价值。

在这里插入图片描述

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


1 监控数据采集

广义上的网站监控涵盖所有非直接业务行为的数据采集与管理,包括供数据分析师 和产品设计师使用的网站用户行为日志、业务运行数据,以及供运维工程师和开发工程 师使用的系统性能数据等。

  1. 用户行为日志收集

用户行为日志指用户在浏览器上所做的所有操作及其所在的操作环境,包括用户操 作系统与浏览器版本信息,ip地址、页面访问路径、页面停留时间等,这些数据对统计 网站PV/UV指标、分析用户行为、优化网站设计、个性化营销与推荐等非常重要。

具体用户行为日志收集手段有两种。

服务器端日志收集。这个方案比较简单,Apache等几乎所有Web服务器都具备日志 记录功能,可以记录大部分用户行为日志,开启Web服务器的日志记录功能即可。其缺 点是可能会岀现信息失真,如IP地址是代理服务器地址而不是用户真实IP;无法识别访 问路径等。

客户端浏览器日志收集。利用页面嵌入专门的javascript脚本可以收集用户真实的操 作行为,因此比服务器日志收集更加精准。其缺点是比较麻烦,需要在页面嵌入特定的 JavaScript脚本来完成。

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

  1. 服务器性能监控

收集服务器性能指标,如系统Load、内存占用、磁盘IO、网络IO等对尽早做岀故 障预警,及时判断应用状况,防患于未然,将故障扼杀在萌芽时期非常重要。此外根据 性能监控数据,运维工程师可以合理安排服务器集群规模,架构师及时改善系统性能及 调整系统伸缩性策略。
目前网站使用比较广泛的开源性能监控工具是Ganglia,它支持大规模服务器集群, 并支持以图形的方式在浏览器展示实时性能曲线。

  1. 运行数据报告

除了服务器系统性能监控,网站还需要监控一些与具体业务场景相关的技术和业务 指标,比如缓冲命中率、平均响应延迟时间、每分钟发送邮件数目、待处理的任务总数 等。

对于服务器性能监控,网站运维人员可以在初始化系统时统一部署,应用程序开发 完全不关心服务器性能监控。而运行数据需要在具体程序中采集并报告,汇总后统一显 示,应用程序需要在代码中处理运行数据采集的逻辑。


2 监控管理

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

系统报警

在服务器运行正常的情况下,其各项监控指标基本稳定在一个特定水平,如果这些 指标超过某个阈值,就意味着系统可能将要出现故障,这时就需要对相关人员报警,及 时采取措施,在故障还未真正发生时就将其扼杀在萌芽状态。

监控管理系统可以配置报警阈值和值守人员的联系方式,报警方式除了邮件,即时通信工具,还可以配置手机短信,语音报警,系统发生报警时,工程师即使在千里之外、 夜里睡觉也能被及时通知,迅速响应。

失效转移

除了应用程序访问失败时进行失效转移,监控系统还可以在发现故障的情况下主动 通知应用,进行失效转移。

自动优雅降级

优雅降级是指网站为了应付突然爆发的访问高峰,主动关闭部分功能,释放部分系 统资源,保证网站核心功能正常访问的一个手段。淘宝每年一次的“双十一”促销活动 主动关闭“评价”、“确认收货”等非核心功能,以保证交易功能的正常进行,就可以看作 是一种优雅降级。

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


3 小结

对公司而言,可用性关系网站的生死存亡。对个人而言,可用性关系到自己的绩效升迁。工程师对架构做了许多优化、对代码做了很多重构,对性能、扩展性、伸缩性做 了很多改善,但别人未必能直观地感受到,也许你的直接领导都不知道你做的这些意义何在。但如果你负责的产品岀了重大故障,CEO都会知道你的名字。事物总是先求生存, 然后求发展。保证网站可用,万无一失,任重而道远。

以上是关于16 网站运行监控的主要内容,如果未能解决你的问题,请参考以下文章

16 网站运行监控

高可用——网站运行监控

使用shell脚本监控网站运行状态

shell监控网站是否自动运行并自动重启原创

监控系统实践第7天:为CentOS安装配置网站运行环境

Linux开源软件Gatus - 自动化监控网站运行服务