nginx 第6話: nginx のログ設定と監視機能
はじめに
前回はnginx の高パフォーマンス設定とキャッシュ機能について学びました。今回はnginx のログ設定と監視機能について説明します。
これらの機能は、サーバーの運用性を向上させるために不可欠です。ログ設定では、nginx が生成するログの内容や形式について指定し、監視機能では、サーバー上の nginx の稼働状況やエラーを監視することができます。
ログ設定
nginx では、ログ設定は log_format と access_log ディレクティブを使用して行うことができます。例えば、以下のように log_format を指定すると、nginx が生成するログの形式を制御できます。
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $gzip_ratio';
access_log /var/log/nginx/access.log main;
}
この例では、log_format で定義したログフォーマットを access_log に指定しています。
監視機能
nginx には、監視機能として upstream と proxy_pass ディレクティブが用意されています。upstream は、バックエンドサーバーのリストを管理し、proxy_pass は、リクエストをバックエンドサーバーに転送します。
例えば、以下のように upstream を指定すると、バックエンドサーバーのリストが定義できます。
http {
upstream backend {
server localhost:8080;
server localhost:8081;
}
server {
listen 80;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
}
この例では、upstream で定義したバックエンドサーバーにリクエストを転送しています。
まとめ
今回はnginx のログ設定と監視機能について説明しました。これらの機能は、サーバーの運用性を向上させるために不可欠です。ログ設定では、nginx が生成するログの内容や形式を制御し、監視機能では、サーバー上の nginx の稼働状況やエラーを監視することができます。