Webサーバー

Nginxのログをリモートサーバへ送信

siteadministrator2021/01/02(土) - 21:09 に投稿

シスログサーバーはrsyslogを利用する。

NGINXはバージョン1.17以降とその前で設定が異なるようであるが、1.14でも、この記載でリモートへログ転送が出来ている。

送信側

/etc/nginx/nginx.confファイルに1行追加する。仮想ホスト毎にログ設定を行なっている場合には、/etc/nginx/sites-available/仮想ホスト設定ファイルに追加する。

vi /etc/nginx/nginx.conf

access_log syslog:server=xxx.xxx.xxx.xxx:514,facility=local7,tag=nginx,severity=info;

facilityのlocal7、severityのinfoは例

受信側

ここでは、/var/log/hosts/ホスト名.log に受信ログを振り分けて保存する。

Webサーバーのアクセス解析

siteadministrator2020/07/05(日) - 14:37 に投稿

Nginxのアクセスログ解析を行う。

GoAccessを利用する。パッケージをインストールする。

apt install goaccess

Nginxでの初期値はcombinedらしい。

log_format combined '$remote_addr - $remote_user [$time_local] '
                    '"$request" $status $body_bytes_sent '
                    '"$http_referer" "$http_user_agent"';

combinedフォーマットを前提とする。

vi /etc/goaccess.conf

time-format %H:%M:%S
date-format %d/%b/%Y
log-format COMBINED

Nginx再起動する。