はじめに
Nginxのログをそのまま見るのは辛いですよね... そんなあなたにalpコマンド
!!
alpコマンドを使えばログが取っても見やすくなり、解析作業が捗ります!特にベンチマークを取るときにサマリーが見やすくなるのでとてもおすすめです。
コマンドのインストール
Linuxであればgithubからダウンロードすることで導入できます
wget https://github.com/tkuchiki/alp/releases/download/v1.0.11/alp_linux_amd64.zip
unzip alp_linux_amd64.zip
sudo install ./alp /usr/local/bin
MacであればHomebrew経由で簡単にインストールができます
brew install alp
Nginxの設定
次にNginxの設定を編集してjson形式でログを受け取るように変更します。お好きなエディタでnginx.conf
を開いてください
sudo vi /etc/nginx/nginx.conf
次のように編集します
今回はパフォーマンス・チューニングで利用するような項目を取り入れました。項目は自由に設定してください。
# Logging Settings
log_format json escape=json '{"time":"$time_iso8601",'
'"host":"$remote_addr",'
'"port":$remote_port,'
'"method":"$request_method",'
'"uri":"$request_uri",'
'"status":"$status",'
'"body_bytes":$body_bytes_sent,'
'"referer":"$http_referer",'
'"ua":"$http_user_agent",'
'"request_time":"$request_time",'
'"response_time":"$upstream_response_time"}';
access_log /var/log/nginx/access.log json;
error_log /var/log/nginx/error.log;
編集が終われば構文に間違いがないかチェックします
sudo nginx -t
# nginx : the configu.... syntax is ok
# nginx : configu..... test is successful
そして、ログを移動・または削除しておかないとalpコマンドを使ったときにエラーがでるので今までのログは移動しましょう。
sudo mv /var/log/access.log /var/log/access.log.back
ここまで終われば設定を反映させるために再起動します
sudo systemctl reload nginx
これで準備は完了です
コマンドを叩く
cat /var/log/access.log | alp json
以上alpコマンドの紹介でした! またね~