溫馨提示×

如何設置Nginx日志記錄慢查詢

小樊
82
2025-03-28 15:16:16
欄目: 編程語言

要設置Nginx日志記錄慢查詢,你需要使用Nginx的access_log指令,并結合log_format指令自定義日志格式。以下是設置Nginx慢查詢日志的步驟:

  1. 打開Nginx配置文件。通常位于/etc/nginx/nginx.conf/etc/nginx/sites-available/your_domain.conf。

  2. http塊中,定義一個新的日志格式,例如命名為slow_requests。在這個日志格式中,你可以使用$request_time變量來記錄每個請求的處理時間。例如:

http {
    log_format slow_requests '$remote_addr - $remote_user [$time_local] '
                             '"$request" $status $body_bytes_sent '
                             '"$http_referer" "$http_user_agent" '
                             '$request_time';
}

這里,$request_time變量表示請求的處理時間,單位為秒。

  1. serverlocation塊中,使用access_log指令指定慢查詢日志文件,并引用剛剛定義的slow_requests日志格式。例如,你可以設置一個閾值,將處理時間超過1秒的請求記錄為慢查詢:
server {
    # ...
    access_log /var/log/nginx/slow_queries.log slow_requests if=$slow_request;

    location / {
        # ...
        set $slow_request 0;
        if ($request_time > 1) {
            set $slow_request 1;
        }
    }
}

這里,我們使用if指令設置了一個變量$slow_request,當請求處理時間超過1秒時,將其值設為1。然后,在access_log指令中使用if=$slow_request參數,只有當$slow_request值為1時,才會將該請求記錄到慢查詢日志中。

  1. 保存配置文件并退出編輯器。

  2. 重新加載Nginx配置以應用更改:

sudo nginx -t      # 檢查配置文件語法是否正確
sudo nginx -s reload  # 重新加載配置文件

現在,Nginx將記錄處理時間超過1秒的請求到/var/log/nginx/slow_queries.log文件中。你可以根據需要調整閾值和處理時間。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女