導入Web日誌到MySQL資料庫

來源:互聯網
上載者:User

訪問分析是SEO的一項重要工作,但統計、分析工具畢竟功能是針對大眾的,很多時候SEO需要一些特定的資料,是HTTP://www.aliyun.com/zixun/aggregation/10341.html"> 統計分析軟體、程式所不能提供的。 這樣,直接的Web日誌分析就是最合適的了,日誌中會記錄每一個訪問情況,只要按自己的意願提取、組合,就能得到想要的資料。

就這個問題與星箭聊了挺長時間,最後一致認為將日誌導入到SQL資料庫(MySQL & SQL Server)中,使用SQL語句分析是最方便的,需要什麼樣的資料,只要使用相應的SQL命令就能實現。

我的伺服器是Linux的,沒有 SQL Server,之前就沒再繼續這件事。 今天聊到這個話題時認真的搜索了一下,找到了使用MySQL分析日誌的第一步,記錄在此。

下一步的分析方法我有心得後會發佈在博客中,有興趣的朋友可以留意;同時,徵集精通于SQL語句的朋友,一起討論分析的各種方法,並分享給其他朋友。

導入Web日誌到MySQL資料庫的實現

1、修改Apache日誌格式

修改Web日誌格式為:

Logformat combined %>a,%ui,%un,[%tl],"%rm %ru HTTP/%rv",%Hs,%h","%{User-Agent}>h",%Ss:%Sh

明白的朋友應該一看就知道了,SQL需要導入的內容有特定的分隔符號,Apache的日誌預設是以空格分隔的,而有些內容(如狀態碼中的 200 610)也包含空格,這就無法準確的導入。

將日誌格式修改為以逗號分隔,就能準確的導入了。 還可以根據自己的需要,取消日誌格式中不需要的內容,減少日誌檔案大小。

2、建立MySQL6184.html">資料表

drop table if exists weblog;
create table weblog (
id int unsigned auto_increment PRIMARY KEY not null,
l_date date,
l_time time,
c_ip Varchar(15),
s_ip Varchar(15),
s_port Varchar(5),
method Varchar(10),
path Varchar(255),
query Varchar(255),
status Varchar(3),
domain Varchar(50),
system Varchar(200)
);

注:上面只是一個MySQL資料表結構範例,沒有與上一步日誌格式對應,請勿直接複製使用!

新建一個資料庫,資料表結構與日誌格式對應起來。

3、導入日誌到MySQL中

LOAD DATA INFILE '/日誌位置/日誌檔' INTO TABLE weblog FIELDS TERMINATED BY ',';

weblog 對應上面的資料表名。

第二步就是分析了,如上所說,有心得後再分享。

另外,從網上找到一個將IIS日誌導入到MySQL資料庫的.pl程式,原理相通的,需要的點這裡下載(Readme.txt為使用說明)。

作者:樂思蜀
原文:導入Web日誌到MySQL資料庫
版權所有,轉載時必須以連結形式注明作者和原出處並保留本聲明。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.