盲并遗忘着-利用应用交付透析大型网站日志

盲并遗忘着-利用应用交付透析大型网站日志,第1张

盲并遗忘着-利用应用交付透析大型网站日志


回忆就像一台永远开着的机器
。当我不在看的时候
,它们会缓慢而清晰地播放。

——《三万英尺》迪克牛仔


当航班在30000英尺空的高度爬升坠落,穿越乱流,沉入海底,没有人知道它在云层中经历了怎样的波折,甚至不知道它最终长眠于何处。随着时间的推移,它可能会逐渐被遗忘。要把一切都整理出来,重新记忆,唯一的希望就是找到那个发出微弱电波,记忆一切的黑匣子。



网站的日志记录就是这种情况,是网站服务器的黑匣子。在日常运维中,我们经常依靠日志的分析和统计来发现问题。就像悬疑电影里的主角,每隔几分钟就会忘记自己的身份和名字。他需要在笔记本上不停地写,贴在墙上。录音的时候我们要环顾四周。如果没有看到就写不下来,也许明天就是终点了。

幸运的是,我们有一个日志,而且都是自动化的!

负载均衡设备承担着网站前端统一交付业务数据的任务,是核心的集中点。这里我们就以广泛使用的NetScaler为例,来讨论一下它在网站日志的运维中所能带来的帮助。


一:通过NetScaler记录网站的高延迟和慢响应时间


通常,网站的标准格式是相似的。


192.35.100.21---[2016年1月19日:14:47:37-0400]"GET/netscaler.htmlHTTP/1.1"2006553


这样的日志可以记录源地址、访问时间、目标URL等等。但这往往还不够:除了用户端的问题,服务器后端才是我们需要关注的部分。比如服务器性能不足,响应慢,用户访问某个网页延迟。当用户报告故障时,这种访问延迟已经发生。如果是上面的日志格式,如何才能在那一刻发现问题?

记录很多,但是没有应该记录的关键!这一刻感觉自己失去了光芒!



要锁定故障,必须能够记录当时服务器的响应时间,才能找出罪魁祸首。

我们需要记录响应时间,并将其写入日志,如下所示。


9月7日03:04:21<;local0.alert>;127.0.0.209/06/2015:19:04:21GMTmyNS0-PPE-0:默认重写消息107820:"mylog:ClientIP:192.168.20.1:62716serverIP:192.168.50.68:80主机:192.168.20.67URL:/index.ASPrestime:90ms"



对于NetScaler来说,这是一项非常简单的工作。NetScaler可以直接看透传输的内容,做出分析排名。可以根据单位时间的请求,带宽或者响应时间一目了然的进行排名。






当然,这样的统计也可以反映在文本日志中。我们可以详细指定日志的格式,并在日志输出端检查用户定义的日志信息。



虽然我们测试中的日志简单明了,生成的日志很小,但实际上用户多的大型网站的日志是巨大的,可能几个小时就能计算到G级。如果每条记录都记录响应时间,还是会很难发现高延迟,要使用各种工具进行查询和过滤。NetScaler也可以直接定义标准响应时间,只有当高于我们定义的延迟发生后,才会生成警告并记录在日志中。

日志的格式和内容可以根据需要任意定义,不仅有英文,还有中文,可以直接在NetScaler上查看。




积累的日志,最好有专门的日志服务器来接受。NetScaler还可以向任何定义的远程日志服务器发送高延迟日志。客户地址如下:



您可以在服务器上接收高延迟警报日志,这是一个免费的KiWiSyslog服务器。




因为NetScaler自然地在七层中处理HTTP流量,所以像上面这样的动态统计根本不会影响性能。



II:通过NetScaler集中统计日志


默认情况下,服务器日志记录在每台服务器中。每个设备日志的巡视都是极其费时费力的。我们需要分别配置每台服务器,将日志发送到集中的日志服务器进行记录,并定期进行文件切割和日志分析。



如前所述,其实大部分网站在前端都配备了负载均衡系统,所有VIP虚拟站点都落在负载均衡之上,所以访问者访问服务器都要经过负载均衡设备。那么,有没有想过让负载均衡直接生成日志,发送日志,这样就省去了后端管理很多服务器配置的麻烦?



NetScaler本身就有这个功能,称为NetScalerWebLogging(NSWL),日志可以通过单个发送点交付。HTTP/HTTPS的日志可以直接按照W3C/NCSA标准格式生成,与nginxapache生成的日志完全一致。格式可以根据指定的变量进行调整。日志可以发送到我们常用的Linux、Windows和FreeBSD系统。



@Netscaler_Insight


我们还可以定义每个日志文件的生成周期(例如每天每小时)、生成的文件大小(例如100M1G)、日志文件名(例如Exmmyydd.log)和虚拟主机名(例如www.netscaler.com),而无需通过我们自己编辑的脚本来切割日志。



三:通过Appflow可视化日志



20世纪90年代,思科开发了面向运营商和企业的网络流量分析统计协议Netflow,该协议无需探针,对CPU和网络要求低,功能丰富。经过几个版本的升级优化,NetflowV9从五个候选方案中被IETF确定为IPFIX(IP流形成导出)标准。NetFlow广泛应用于网络监控,Citrix基于该标准开发了许多新的扩展,如应用层参数、网页性能参数、数据库参数等。



NetScalerInsight使用收集的数据收集和统计应用层信息,并以强大的可视化图表显示出来。

例如,访问地理位置、带宽消耗和平均响应时间。



访问源IP



请求数量曲线



也可以针对具体的业务进行统计。


输入具体业务,可以分析具体的url和客户端,可以看到点击次数、渲染时间、加载时间等。每个网址。


输入具体的网址,就可以看到时间图。



整个页面的详细分析



对 *** 作系统、浏览器类型、响应类型等的访问。





摘要

虽然应用交付设备已经用了十几年,但是很多用户只是把它和负载平衡,甚至等同于轮询算法。事实上,随着技术的发展,ADC早已成为网络的大脑和眼睛,用来看透和控制应用层。只有用好ADC,它才能从网络的第三层或第四层直接进入应用层的世界。

睁开眼睛的记忆是光明,闭上眼睛的记忆是黑暗。

最后,我们发现我们没有失忆,也没有失明。我们一直都有眼睛。我们所要做的就是摘下眼罩,睁开眼睛。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/778811.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存