如何做日志分析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何做日志分析相关的知识,希望对你有一定的参考价值。
一个合格的站长或者seoer必须要能看懂网站的服务器日志文件,这个日志记录了网站被搜索引擎爬取的痕迹,给站长提供了蜘蛛是否来访的有力佐证,站长朋友可以通过网站日志来分析搜索引擎蜘蛛的抓取情况,分析网站的是否存在收录异常问题。并且我们可以根据这个日志文件判断蜘蛛来访频率以及抓取规律,这将非常有利于我们做优化。另外,学习分析网站日志文件也是站长必须具备的能力,也是你从一个初级seo进阶到seo高手的必由之路。但是前提是要主机服务商开通日志统计功能,一般虚拟主机提供商都不会开通,你可以申请开通,或者自己到服务器管理后台开通这个日志统计功能,不过日志也会占用空间的,我们在看完日志文件后,可以隔段时间清理下日志文件。那么如何分析服务器日志文件呢?听我娓娓道来。搜索引擎抓取网站信息必会在服务器上留下信息,这个信息就在网站日志文件里。我们通过日志可以了解搜索引擎的访问情况,一般通过主机服务商开通日志功能,再通过FTP访问网站的根目录,在根目录下可以看到一个log或者weblog文件夹,这里面就是日志文件,我们把这个日志文件下载下来,用记事本(或浏览器)打开就可以看到网站日志的内容。那么到底这个日志里面隐藏了什么玄机呢?其实日志文件就像飞机上的黑匣子。我们可以通过这个日志了解很多信息,那么到底这个日志给我们传递了什么内容呢?
如果想要知道网站日志文件包含了什么内容,首先必须知道各搜索引擎的蜘蛛名称,比如百度的蜘蛛程序名称是baiduspider,Google的机器人程序名称是Google-Googlebot等等,我们在日志的内容里搜索上述的的蜘蛛名就可以知道哪个搜索引擎已经爬取过网站了,这里就留下了他们的蛛丝马迹。再者,必须能看懂常见的http状态码,最常见的HTTP状态码有200(页面抓取成功)、304(上次抓取的和这次抓取的没变化),404(未找到页面,错误链接)500(服务器未响应,一般由服务器维护和出故障,网站打不开时出现的),这些状态码是我们站长朋友必须能看懂的,服务器状态码的值是我们和蜘蛛交流的信号。知道了这些基本信息以后我们就可以根据网站日志进行分析了,一般来说我们只看百度和谷歌蜘蛛的爬行和抓取情况,当然有特殊需要的也可以对其他几个蜘蛛的爬行情况进行分析。网站日志中出现大量的谷歌蜘蛛和百度蜘蛛,说明搜索引擎蜘蛛时常来光顾你的网站。
说到分析日志文件,我们就不得不说分析日志文件的时机了,那么在什么情况下我们要去分析日志文件呢?首先,新网站刚建立的时候,这个时候也是站长朋友最急切的时候,我们一般都会焦急的等待搜索引擎收录网站内容,经常会做的事情就是去百度或者Google用命令site:下网站域名看看是否被收录,这个时候,其实我们没必要频繁的查询网站是否被收录,要想知道搜索引擎是否关顾我们的网站。我们就可以借助网站日志文件来查看,怎么看?看网站日志是否有搜索引擎的蜘蛛来网站抓取过,看返回的状态码是200还是其他,如果返回200说明抓取成功,如果返回404说明页面错误,或者页面不存在,就需要做301永久重定向或者302暂时重定向。一般抓取成功后被搜索引擎放出来的时间也会晚点,一般谷歌机器人放出来的比较快,最快可秒杀,但是百度反应就慢了,最快也要一周左右,不过11月份百度算法调整后,放出来的速度还是很快的。其次,当网站收录异常时我们要把正常收录的日志和异常的日志进行对比分析,找出问题所在,这样可以解决网站收录问题,也是对完整优化大有裨益的。第三,网站被搜索引擎K掉后,我们必须要观察网站日志文件来亡羊补牢,一般这种情况下,日志文件里只有很少的几个蜘蛛爬行了首页和robots,我们要找出被K的原因并改正,再提交给搜索引擎,接下来就可以通过观察日志来看蜘蛛是否正常来临,慢慢过一段时间,如果蜘蛛数量增加或者经常来临并且返回200状态吗,那么恭喜你,你的网站又活了,如果半年都没反应,那么建议放弃该域名重新再战了。
很多站长朋友不懂得如何利用网站日志文件,遇到网站收录问题就去提问别人,而不好好自检,这是作为站长或者seoer的悲哀。而且网上的很多软文都提到要做好日志文件的分析,但是那只是软文而已,说不定写文章的作者都没有去看日志文件。说到底,还是希望站长朋友一定不要忽略了网站日志文件,合理的利用好网站日志文件是一个站长或seoer必备的技能。再者说,看懂网站日志文件并不需要你有多么高深的编码知识,其实只要看得懂html代码和几个返回的状态码就可以了,一定不能懒,或者抱着侥幸心理去对待你的网站,这种心理会导致你输得很惨。如果你是一个小站长,或者你是一个seoer,如果你以前没有意识到网站日志文件的重要性,那么从看到我写的这篇文章开始要好好对待你的网站日志了。 参考技术A 1.什么是网站日志?网站日志是记录web服务器接收处理请求以及运行时错误等各种原始信息的以·log结尾的文件。通过网站日志可以清楚的得知用户在什么IP、什么时间、用什么操作系统、什么浏览器、什么分辨率设备下访问了网站的哪个页面,是否访问成功。
2.为什么要做网站日志分析?先来了解SEO流量的获取流程:抓取、索引、排名、点击、流量。因此,要获得SEO流量的前提务必是,有价值的页面被搜索引擎抓取到。所以,对于SEO运营而言,分析搜索引擎网站日志就显得非常有必要。
3.网站分析的最终目标:让更多有价值的页面被抓取,将有机会获得索引,从而有机会获得SEO流量。
如何进行具体网站网站分析呢?参考文章:http://www.guoylife.top/509.html 参考技术B 分析日志目前的方案有ELK 、日 志 易、Sp'lunk主流方案。
下面主要讲一下开源的方式
A 收集日志
日志管理的第一件事,就是日志的收集。日志收集是开发者必备的技巧,不管是哪个开发语言,哪个开发平台,日志收集的插件都是有很多选择的。例如:.net 平台大家钟爱的log4net,支持多种存储方式(文件、数据库),多种格式,多种日志拆分方式。java 平台主流的log4j、slf4j、logback,多种选择。
日志收集的组件这里就不一一说明了,使用都是很简单的,这里重点说明一下,日志我们收集应该注意的地方:
1. 日志等级一定要规范
正确的级别便于运维。便于统一调整系统日志级别,如特殊情况可以只记录error错误
没有正确的级别,对后期日志分析和处理是留下很大的隐患。error是需要去关注,并且处理掉的问题。info是普通日志的记录,大部分时候是无需关注的。
2. error日志内容一定要详实 ,info日志要简洁易懂
运营过大型系统的人都知道,除了数据库存储外,日志、图片、附件是存储的三大债主,他们是会占用非常非常大的空间,所有记录info的日志,要简洁易懂,避免空间浪费。 而对于error级别的错误,记录一定要详实,因为error的所有问题,是后期都要去解决的。
请求的地址\请求的参数\请求的ip\请求的用户
为了能很好的反馈当时error产生场景,以上的这些内容都应该被记录,而且越详细越好。
3. error日志一定是全局统一收集的
前文说过,error的日志,不仅是我们需要关注的,还是我需要解决掉的问题,所有error日志非常重要。错误日志的收集,必须是全局统一收集的.
B 管理日志
每个开发人员对日志的收集,都是非常熟悉的,基本都是将日志按照日期的方式进行保存,日常使用日志的时候,也是有一些要求:
1. 单个文件的大小要控制
因为大家都是通过日期方式保存的,但是因为有的人不重视日志,经常会看到有的系统单个日志文件上百M,有的甚至是几G,而实际大家处理问题关注的都是最近的日志,所以控制单个日志文件的大小,对日志的性能以及后期的运维都是非常便利的。
2. 日志要便于浏览
日志文件小才便于浏览,日志最好能通过网址直接访问到,而不需要一波三折登录服务器,花10分钟下载下来,再来分析。
3. 日志的安全性要得到保障
日志内容有时会包含敏感信息,特别是error日志,直接把系统的具体错误抛出来,所以日志除了查看方便,还需要确保日志文件的安全。如果是日志文件是html或者txt,请一定记得把你的日志文件权限修改下,特定用户才能访问,不要随便开放,所有人都能访问。
4. 日志要定期清理
日志是非常占用存储的空间,日志太大对存储的性能也有一定的影响,所有日志要定期进行清理。
空间充足可以保留半年
空间不足最少也要保留3个月
当然,这个也不是一定的,根据每个系统的情况去制定清理计划就可以了。
如果大家是小型网站,一个系统一台服务器,日志管理就简单了。如果系统是做了高可用,后端用了均衡负载,那么,日志存在当前服务器是不太明智的做法,日志一定要统一存储,因为均衡负载随时都可能会切换服务器,当出现故障,你需要去找日志究竟存在哪个服务器,也是件很浪费时间的事情。日志文件也可以通过:
共享虚拟目录来存储
定时进行文件同步来存储
日志存储也是对性能有一定影响的,文件同步虽然看起来麻烦一定,但是比共享虚拟目录的方式来说,性能会好,推荐使用这种方式。
说到日志的同步,就不得不提Logstash这个日志组件。Logstash是现在应用最广的日志收集组件,基于java平台。其实很多java平台的组件,是不用去了解java开发的,只要简单的配置就能使用。
Logstash支持文件同步,也可以结合rsyslog进行文件同步,当然,也支持通过tcp协议,与第三方对接,好伙伴当然是Elasticsearch。Elasticsearch下文也会做简单的介绍。
日志的分析也是一个很大的概念,可能对于运维和安全人员关注的是系统的所有日志,包括访问日志、系统监测的日志等,但是开发人员对于日志更多的是:
监控系统运行错误,并获取错误时的相关数据包
记录重要的信息,某些时候便于后期检查
所以,开发人员对日志的需求相对而言简单一点,但是处理不当也会面临挑战。如果要根据某些关键字找日志,没有一个靠谱的系统处理,那么大家只能一直在ctrl+f 或者 find 命令中来回查找自己需要的信息,使用过的人都知道,这绝对不是一个很好的体验。那么是否有很好的工具来处理呢?有,这里就介绍另外的两个工具:
Elasticsearch——一个基于lucene的搜索引擎工具,解决日志的搜索问题。当然,也能解决系统的搜索问题,而且是分布式的哦。
Kibana——一个可视化的日志操作引擎,结合Elasticsearch可以达到更好的效果。
Linux 日志分析
Linux 日志分析
虽然提取的时候,不总是和你想的一样简单,但是日志中有大量信息在等着你。在这部分,我们会讲一些基本分析示例,你可以马上拿来处理你的日志(只是搜索里面有什么)。我们还会讲一些高级分析方法,开始的时候可能要花时间来做配置,但会为以后省很多时间。你可以把高级分析的示例用在待解析的数据上,比如生成摘要计数,过滤字段值等。
首先我们会演示,你应该如何使用不同的工具在命令行进行日志分析;然后,演示一个日志管理工具,它能够让大多数乏味的工作变得自动化和高效。
------------友情链接:美康网:http://www.cg1.cn肺癌频道。
以上是关于如何做日志分析的主要内容,如果未能解决你的问题,请参考以下文章