网站异常情况监控与处理
做SEO会经常查看网站的log日志,通过log日志来进行一些分析和判断,但是如果你控制了上百或上千的站群时,你还会一个一个的看log么?
在处理大规模站群的时候,我们一般就是根据网站的重要程度,进行分级别监控,比如重要的资源站,我们可能当成主站一样的分析维护,而对于有些站可能只是出问题时进行分析,维护,而还有些站可能就让它自生自灭了,这个根据作站群时的策略来定义,并没有通用的说法。
那一般我都会对站群进行的是异常监控,即发现异常时人工分析处理,平时基本不看。
异常情况定义
在监控网站运行情况时,我们需要定义哪些情况被认为是异常的。一般来说,我个人定义的异常情况主要包括以下5种:
- 蜘蛛到访次数异常:比如突然降权导致蜘蛛不再访问,或者出现降权蜘蛛频繁访问的情况。
- 网站流量异常:站群的流量一般不会出现大幅波动,若出现波动可能是有人采集或攻击网站。
- 404异常:即页面不存在异常,需要及时处理。
- 特殊页面流量异常:重要页面流量异常,比如淘客跳转页面,可以通过流量与成交率比较观察流量来源情况。
- 特殊词流量异常:若市场搜索量和描述点击率保持不变,特殊词流量即反映词排名情况。
监控方法
为了监控上述异常情况,我们可以为每个指标建立一个数据表,用ABCDE代替。然后建立一个自动执行的任务,将每个网站每天的数据保存到数据库。
在IIS下,推荐使用微软提供的Logparser工具,该工具能够使用SQL语句对日志进行处理。具体参数意义可通过搜索引擎自行查找。
具体使用方法
以第一个异常情况为例,可以通过以下命令来监控蜘蛛到访次数异常:
Logparser -i:iisw3c "Select count(0) as hits Into A from xxx.log where cs(User-Agent) like '%spider%'" -o:SQL -server: 服务器IP -driver:"SQL Server" -database:数据库名 -username:sa -password:***
异常处理
进行预处理时,对当天数据和昨天数据进行对比,获取差值。设定阈值,超出阈值即视为异常。比如流量异常可用百分比判断,超过30%为异常;404异常可直接使用减法判断。
我使用一个C#程序来处理异常,比如通过对比最新的404数据来发现异常。当异常发生时,程序会通过邮件通知,方便及时处理。
其他建议
除了以上方法,还可以利用Logparser拆分日志,然后通过FTP命令发送到指定FTP地址,这样就能直接利用数据而不必每次手动处理。
总的来说,监控网站异常情况是维护网站安全和稳定运行的重要手段,及时发现和处理异常情况能够保障网站的正常运行和用户体验。