log analytics
TRANSCRIPT
日志分析方法 日志在 SEO 中的作用 Cygwin 的安装 Linux 下日志分析基本命令 grep 过滤方法 AWK 的基本用法 A&G 组合过滤 全站日志分析 AWK 脚本 频道细节日志分析 日志分析 SEO 扩展
日志在 SEO 中的作用
监控蜘蛛的抓取数量 监控状态码的异常 监控重复的抓取率 监控蜘蛛的载入耗时 持续监控 , 持续改善 . 提高有效抓取 , 推动收录 . 日志数据间接指导 , 提升效果 , 微调微
调 .
Cygwin 安装下载 http://cygwin.com/setup.exe
安装教程 http://wenku.baidu.com/view/45a0ea21ccbff121dd36830e.html
检查 awk 及 grep 版本 确保安装正确 awk –V grep –V
Linux 下日志分析基本命令常用 Linux 命令锦集
文件操作:rm go.tar /* 删除 go.tar 文件 */find mt.cgi /* 查找文件名为 mt.cgi 的文件 */
详情请看以下链接
http://www.vpser.net/build/linux-vps-ssh-command.html
日志分析常用命令• ls // 列出当前目录所有文件• cd // 打开目录• cd .. // 返回上级目录• cd /e/log // 打开具体路径• mkdir // 建立目录• mkdir log // 建立 log 目录
grep 过滤方法 命令详解
grep ‘Baiduspider+’ log.log >baidu.log
匹配日志包含Baiduspider+ 所有的行
要过滤的日志文件 重定向命令 > 输出
输出文件名 baidu.log
组合过滤 egrep "Baiduspider+|Googlebot" example.log >spider.txt
匹配日志包含Baiduspider+ 及Googlebot 所有的行并用 管道 链接 |
要过滤的日志文件 重定向命令 > 输出
输出文件名 spider.txt
AWK 的基本用法
AWK 是以特定分隔符来定义字段区位如图: 220.181.7.61 是字段区位第一位 用 $1 表示 awk 在 linux 下一般以空格为分隔符 - 即空格分割后也为一个字段区位,如图为 $3 $4 $11
基本用法 awk '{print $1}' log.log >s1.log
'{print $1}' 打印所有字段区位 1 的行‘{print $1,$6,$7}’ 打印 1 6 7 字段区位
AWK 的基本用法 - 区位匹配过滤 awk 脚本是由模式和操作组成的 如 $ awk '/root/' test ,或 $ awk '$3 < 100' test
匹配操作符 (~) 用来在记录或者域内匹配正则表达式 如 $ awk '$1 ~/^root/' test 将显示 test 文件第一列中以 root 开头的行。
EXP:awk ‘($13 ~ /302/)’log.log // 如果 13 位是状态码,那么就过滤 13 位所有 302 的
行
同样的方法可以获得 404 500 503 的状态码行数 .
利用管道可以获得更多的参数
awk ‘($13 ~ /302/)’log.log | awk '{print $2,$5,$6,$10,$12}' >xxx.txt
先过滤 302 所有的行 然后利用管道 | 去执行下一个命令输出跟多的参数至 xxx.txt
A&G 组合过滤 获得百度蜘蛛返回 404 的行
1. 先过滤百度蜘蛛 grep ‘Baiduspider’ log.log2. 匹配所有 404 的行 . awk ‘($13 ~ /302/)’3. 获得更多的参考参数 awk '{print $2,$5,$6,$10,$12}‘4. 输出文件 >Baiduspider404.log
组合命令 - 利用管道 | 连接
grep ‘Baiduspider’ log.log | awk ‘($13 ~ /302/)’ | awk '{print$2,$5,$6,$10,$12}‘ >Baiduspider404.log
Exp
获取百度蜘蛛 500 grep ‘Baiduspider’ log.log | awk ‘($13 ~ /500/)’ | awk '{print$2,$5,$6,$10,$12}‘ >Baiduspider404.log
获取谷歌蜘蛛 302 grep ‘Googlebot’ log.log | awk ‘($13 ~ /302/)’ | awk '{print$2,$5,$6,$10,$12}‘ >Googlebot404.log
获取百度和谷歌蜘蛛 500 egrep ‘Baiduspider|Googlebot’ log.log | awk ‘($13 ~ /500/)’ | awk '{print$2,$5,$6,$10,$12}‘ >BG404.log
全站日志分析 AWK 脚本 Spider.awk 区位修改
把 spider.awk 放到日志目录下
找出 URL 及状态码位置 URL 动态的情况
修改区位
全站日志分析awk –f spider.awk xx.log >xx.txt
Cygwin 里执行命令awk -f spider.awk ex120607.log >0607.txt
获得结果填表入库
频道细节日志分析 过滤频道特诊 URL如目录 $ grep '\/news\/' ex120607.log | awk -f spider.awk
grep ‘\/news\/’ // 正则匹配 news 目录
管道 | // 给 spider.awk 分析
awk –f spider.awk // 执行拆分
grep ‘xxoo’ xxx.log |awk –f spider.awk
利用好 grep 正则匹配,也可用 awk 的正则区位匹配 来获取目录或则特征 URL 的抓取情况
获得数据结果填入 excel
对比数据 , 持续监控并改善 .
日志分析 SEO 扩展某个蜘蛛的载入耗时grep Baiduspider log.log | awk '{sum+=$NF} END {print " 平均下载耗时 =", sum/NR}'
数据与报表监控日期 , 状态码 , 重复抓取 ,SEO 项目记录