簡體   English   中英

將 Apache 訪問日志存儲到 MySQL

[英]Store Apache access logs to MySQL

我引用此鏈接將訪問信息記錄到 mysql 數據庫中。

下面是我的數據庫結構

apachelogs.web_access_log

+------------------+----------------------+------+-----+---------+-------+
| Field            | Type                 | Null | Key | Default | Extra |
+------------------+----------------------+------+-----+---------+-------+
| id               | char(19)             | YES  |     | NULL    |       |
| agent            | varchar(255)         | YES  |     | NULL    |       |
| bytes_sent       | int(10) unsigned     | YES  |     | NULL    |       |
| child_pid        | smallint(5) unsigned | YES  |     | NULL    |       |
| cookie           | varchar(255)         | YES  |     | NULL    |       |
| machine_id       | varchar(25)          | YES  |     | NULL    |       |
| request_file     | varchar(255)         | YES  |     | NULL    |       |
| referer          | varchar(255)         | YES  |     | NULL    |       |
| remote_host      | varchar(50)          | YES  |     | NULL    |       |
| remote_logname   | varchar(50)          | YES  |     | NULL    |       |
| remote_user      | varchar(50)          | YES  |     | NULL    |       |
| request_duration | smallint(5) unsigned | YES  |     | NULL    |       |
| request_line     | varchar(255)         | YES  |     | NULL    |       |
| request_method   | varchar(10)          | YES  |     | NULL    |       |
| request_protocol | varchar(10)          | YES  |     | NULL    |       |
| request_time     | char(28)             | YES  |     | NULL    |       |
| request_uri      | varchar(255)         | YES  |     | NULL    |       |
| request_args     | varchar(255)         | YES  |     | NULL    |       |
| server_port      | smallint(5) unsigned | YES  |     | NULL    |       |
| ssl_cipher       | varchar(25)          | YES  |     | NULL    |       |
| ssl_keysize      | smallint(5) unsigned | YES  |     | NULL    |       |
| ssl_maxkeysize   | smallint(5) unsigned | YES  |     | NULL    |       |
| status           | smallint(5) unsigned | YES  |     | NULL    |       |
| time_stamp       | int(10) unsigned     | YES  |     | NULL    |       |
| virtual_host     | varchar(255)         | YES  |     | NULL    |       |
+------------------+----------------------+------+-----+---------+-------+

當從瀏覽器收到請求時,我看到大多數列值都是 NULL,如下所示:

+------+-------+------------+-----------+--------+------------+--------------+---------+-------------+----------------+-------------+------------------+--------------+----------------+------------------+--------------+-------------+--------------+-------------+------------+-------------+----------------+--------+------------+--------------+
| id   | agent | bytes_sent | child_pid | cookie | machine_id | request_file | referer | remote_host | remote_logname | remote_user | request_duration | request_line | request_method | request_protocol | request_time | request_uri | request_args | server_port | ssl_cipher | ssl_keysize | ssl_maxkeysize | status | time_stamp | virtual_host |
+------+-------+------------+-----------+--------+------------+--------------+---------+-------------+----------------+-------------+------------------+--------------+----------------+------------------+--------------+-------------+--------------+-------------+------------+-------------+----------------+--------+------------+--------------+
| -    | -     |          0 |      NULL | NULL   | NULL       | NULL         | -       | ::1         | NULL           | -           |                0 | NULL         | NULL           | HTTP/1.0         | NULL         | NULL        | NULL         |        NULL | NULL       |        NULL |           NULL |    408 | 1531980584 | 192.168.4.18 |
+------+-------+------------+-----------+--------+------------+--------------+---------+-------------+----------------+-------------+------------------+--------------+----------------+------------------+--------------+-------------+--------------+-------------+------------+-------------+----------------+--------+------------+--------------+
1 row in set (0.02 sec)

大多數請求參數丟失。 讓我知道我必須修改什么才能用相應的值記錄所有屬性。

謝謝

由於 'id' 列寬不匹配,Apache2 無法將日志正確寫入 MySQL 數據庫。 web_access_log表中創建的默認寬度是 19,應該增加到 25。如果 25 沒有幫助,請再試一次更大的寬度。

這樣做后,MySQL 日志自動開始更新,沒有任何進一步的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM