【アクセスログ】テストデータを作成(apache)

ログ解析のコード検証でアクセスログデータが必要になったので、テストデータを作成する方法をまとめました。

インストール

「apache-loggen」というもの使うことでテストログを生成することが出来ます。

gemなので下を実行するだけでインストール完了です。

楽ですねっ!

インストール
sudo gem install apache-loggen --no-ri --no-rdoc -V

使い方

各種オプションは以下のようになっています。

各種オプション
apache-loggen -h
    Usage: apache-loggen [options]
    --limit=COUNT 最大何件出力するか。デフォルトは0で無制限。
    --rate=RATE 毎秒何レコード生成するか。デフォルトは0で流量制限無し。
    --rotate=SECOND ローテーションする間隔。デフォルトは0。
    --progress レートの表示をする。
    --json json形式の出力

今回はこのように実行してみました。

毎秒5個で20個生成するようになっています。

apache-loggen --limit=20 --rate=5 > access.log

生成されたログはこんな感じです。

生成ログ
44.27.42.149 - - [21/Feb/2018:20:13:02 +0900] "GET /category/games HTTP/1.1" 200 79 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"
64.192.201.53 - - [21/Feb/2018:20:13:02 +0900] "POST /search/?c=Sports HTTP/1.1" 200 89 "/category/software" "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"
204.225.170.55 - - [21/Feb/2018:20:13:02 +0900] "GET /item/books/1834 HTTP/1.1" 200 73 "/category/books" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
212.78.113.178 - - [21/Feb/2018:20:13:02 +0900] "GET /item/books/385 HTTP/1.1" 200 100 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:9.0.1) Gecko/20100101 Firefox/9.0.1"
196.159.150.216 - - [21/Feb/2018:20:13:02 +0900] "GET /item/games/2659 HTTP/1.1" 200 45 "/item/books/851" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"
60.66.62.73 - - [21/Feb/2018:20:13:03 +0900] "GET /category/finance HTTP/1.1" 200 98 "/category/electronics" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
100.51.115.52 - - [21/Feb/2018:20:13:03 +0900] "GET /category/computers HTTP/1.1" 200 79 "/item/games/4243" "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"
208.117.109.103 - - [21/Feb/2018:20:13:03 +0900] "GET /item/toys/3995 HTTP/1.1" 200 99 "http://www.google.com/search?ie=UTF-8&q=google&sclient=psy-ab&q=Toys&oq=Toys&aq=f&aqi=g-vL1&aql=&pbx=1&bav=on.2,or.r_gc.r_pw.r_qf.,cf.osb&biw=4263&bih=232" "Mozilla/5.0 (Windows NT 6.0; rv:10.0.1) Gecko/20100101 Firefox/10.0.1"
84.24.128.82 - - [21/Feb/2018:20:13:03 +0900] "GET /item/electronics/2652 HTTP/1.1" 200 100 "/item/finance/279" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7"
128.45.140.57 - - [21/Feb/2018:20:13:03 +0900] "GET /item/music/72 HTTP/1.1" 200 138 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; BTRS122159; GTB7.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; BRI/2)"
204.126.31.156 - - [21/Feb/2018:20:13:04 +0900] "GET /category/giftcards HTTP/1.1" 200 60 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)"
224.81.137.71 - - [21/Feb/2018:20:13:04 +0900] "GET /item/electronics/3145 HTTP/1.1" 200 84 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7"
220.99.182.180 - - [21/Feb/2018:20:13:04 +0900] "GET /category/software HTTP/1.1" 200 98 "/category/software" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; YTB730; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)"
72.66.111.200 - - [21/Feb/2018:20:13:04 +0900] "GET /category/books HTTP/1.1" 200 59 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
64.57.207.38 - - [21/Feb/2018:20:13:04 +0900] "GET /item/networking/2057 HTTP/1.1" 200 117 "/category/electronics" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)"
128.186.208.122 - - [21/Feb/2018:20:13:05 +0900] "GET /category/cameras HTTP/1.1" 200 137 "/category/toys" "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"
28.186.203.56 - - [21/Feb/2018:20:13:05 +0900] "POST /search/?c=Software HTTP/1.1" 200 59 "/category/electronics" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
132.42.95.81 - - [21/Feb/2018:20:13:05 +0900] "GET /item/giftcards/4681 HTTP/1.1" 200 63 "/category/giftcards" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.77 Safari/535.7"
40.222.145.81 - - [21/Feb/2018:20:13:05 +0900] "POST /search/?c=Electronics+Electronics HTTP/1.1" 200 127 "/category/office" "Mozilla/5.0 (iPad; CPU OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A405 Safari/7534.48.3"
156.150.96.189 - - [21/Feb/2018:20:13:06 +0900] "GET /category/electronics HTTP/1.1" 200 78 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; YTB730; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)"

最後の行を見るとわかりますが、誤差がありますね。

厳密に言うと実行開始時間がちょうど秒で始めれば良いのですが、基本的にありえないので、OS時間が変わると同時にログの時間も変わってしまうようです。

OS時間に依存しないテストログ生成方法を探してみます。。。

以上、ご購読ありがとうございました!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です