ELB の Health Check ログを隔離する(nginx)

Amazon ELB 配下で nginx を動かしているとこんなログが大量に表示されて鬱陶しいので隔離することにしました。

10.120.21.xxx - - [01/Feb/2013:17:53:39 +0000] "-" 400 0 "-" "-"
10.120.21.xxx - - [01/Feb/2013:17:54:09 +0000] "-" 400 0 "-" "-"
10.120.21.xxx - - [01/Feb/2013:17:55:29 +0000] "-" 400 0 "-" "-"

基本的に名前ベースのバーチャルホストで運用しているので、それ以外を隔離すればOK。access_log off でもいいですが、障害時の切り分けが難しくなるのでできるだけ出力するようにしておいたほうがいいと思います。

server {
    listen 80;

    access_log /var/log/nginx/elb.log;
    error_log /var/log/nginx/elb_error.log;

    location = /health_check {
        empty_gif;
    }
}

あと、うちでは Health Check 用のエンドポイントを /health_check として空のGIFファイルを返すようにしています。こんな感じで ELB からアクセスが来ます。

10.120.21.xxx - - [01/Feb/2013:17:56:10 +0000] "GET /health_check HTTP/1.1" 200
 43 "-" "ELB-HealthChecker/1.0"


このエントリーのはてなブックマーク (-)