Help us understand the problem. What is going on with this article?

nginxを使ってアクセスログを追ってみた

More than 1 year has passed since last update.

やりたいこと

  • ある検索項目(URLのパラメータ)がどのくらい使われているのか調べたい

やったこと

nginxのアクセスログの置き場所を確認

$ cat /etc/nginx/nginx.conf

access_log  /var/log/nginx/access.log  main; # ここにある

特定の文字列が含まれている行数を出力してみる

# とりあえずログが存在するか確認
$ tail -f /var/log/nginx/access.log
#ログが流れてくればok


# 特定の文字が含まれている行数を出力
$ cat /var/log/nginx/access.log | grep {検索したい文字列} | wc -l
934

コマンド解説

wc -l

wcコマンドは、指定されたファイル内の行数、単語数、バイト数をカウントできる

オプション
  • -cバイト数のみを集計して表示
  • -w単語数のみを集計して表示
  • -c行数のみを集計して表示
  • file集計するファイルを指定する

複数のアクセスログファイルを含めて行数を出力

# 数日前のアクセスログは圧縮されているため解凍する
$ gunzip /var/log/nginx/20190720.gz

# 行数の出力
$ find /var/log/nginx/ -type f -name "access.log-2019*" | xargs sudo grep jobTypes | wc -l
7388

# 解凍したファイルを圧縮し直しておく
$ gzip /var/log/nginx/20190720.gz

コマンド解説

xargs

xargsコマンドは、標準入力やファイルを引数として、別のコマンドを実行することができる

nanaco
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away