share facebook facebook twitter menu hatena pocket slack

2017.02.14 TUE

Nginx で特定の UserAgent からのアクセスはログに記録しない方法の一つ

川原 洋平

WRITTEN BY 川原 洋平

やりたいこと

  • ELB からのヘルスチェックログはログに記録したくないよ

解の一つ

参考


bjornjohansen.no

除外する UserAgent を設定

  • /etc/nginx/conf.d/log.conf
map $http_user_agent $log_ua {

    ~ELB-HealthChecker 0;

    default 1;
}

Nginx のアクセスログ内では UserAgent は $http_user_agent という変数に格納されているので、map モジュールを利用してフィルタする。

Web サーバーの設定(アクセスログの設定)

  • /etc/nginx/conf.d/app.conf
server {
    listen       80;
    server_name  localhost;

(略)

    access_log  /var/log/nginx/access.log  main if=$log_ua;
}

以上

他にもやり方はあるかもしれませんが、メモでした。

元記事はこちら

Nginx で特定の UserAgent からのアクセスはログに記録しない方法の一つ

cloudpack

cloudpackは、Amazon EC2やAmazon S3をはじめとするAWSの各種プロダクトを利用する際の、導入・設計から運用保守を含んだフルマネージドのサービスを提供し、バックアップや24時間365日の監視/障害対応、技術的な問い合わせに対するサポートなどを行っております。
AWS上のインフラ構築およびAWSを活用したシステム開発など、案件のご相談はcloudpack.jpよりご連絡ください。