nginxを使ってアクセスログを追う
やりたいこと
- ある検索項目(URLのパラメータ)がどのくらい使われているのか調べたい
やったこと
1.nginxのアクセスログの置き場所を確認
$ cat /etc/nginx/nginx.conf ~ access_log /var/log/nginx/access.log main; // ここにある ~
2.アクセスログから特定の文字が含まれている回数を出力してみる
// とりあえずログが存在するか確認 $ tail -f /var/log/nginx/access.log ログが流れてくる // 特定の文字が含まれている行数を出力 $ cat /var/log/nginx/access.log | grep {検索したい文字列} | wc -l 934
コマンド解説
wc -l
wc
コマンドは、自邸されたファイル内の行数、単語数、バイト数をカウントできる
オプション
-c
バイト数のみを集計して表示
-w
単語数のみを集計して表示
-c
行数のみを集計して表示
file
集計するファイルを指定する
3.数日前の複数のアクセスログファイルを含めて回数を出力
// 数日前のアクセスログは圧縮されているため解凍する $ 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
コマンドは、標準入力やファイルを引数として、別のコマンドを実行することができる