nginx中有哪些常用日志變量,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
log_format main '$remote_addr\t$http_x_forwarded_for\t[$time_local]\t$remote_user\t$request\t$status\t$body_bytes_sent\t$request_time\t"$http_referer"\t"$http_user_agent"\t$http_host\t$upstream_addr\t$upstream_status\t$upstream_response_time' 使用\t做字段分割方便后期處理,也可以換成其他方便使用的字符
$args #請求中的參數值 $query_string #同 $args $arg_NAME #GET請求中NAME的值 $is_args #如果請求中有參數,值為"?",否則為空字符串 $uri #請求中的當前URI(不帶請求參數,參數位于$args),可以不同于瀏覽器傳遞的$request_uri的值,它可以通過內部重定向,或者使用index指令進行修改,$uri不包含主機名,如"/foo/bar.html"。 $document_uri #同 $uri $document_root #當前請求的文檔根目錄或別名 $host #優先級:HTTP請求行的主機名>"HOST"請求頭字段>符合請求的服務器名.請求中的主機頭字段,如果請求中的主機頭不可用,則為服務器處理請求的服務器名稱 $hostname #主機名 $https #如果開啟了SSL安全模式,值為"on",否則為空字符串。 $binary_remote_addr #客戶端地址的二進制形式,固定長度為4個字節 $body_bytes_sent #傳輸給客戶端的字節數,響應頭不計算在內;這個變量和Apache的mod_log_config模塊中的"%B"參數保持兼容 $bytes_sent #傳輸給客戶端的字節數 $connection #TCP連接的序列號 $connection_requests #TCP連接當前的請求數量 $content_length #"Content-Length" 請求頭字段 $content_type #"Content-Type" 請求頭字段 $cookie_name #cookie名稱 $limit_rate #用于設置響應的速度限制 $msec #當前的Unix時間戳 $nginx_version #nginx版本 $pid #工作進程的PID $pipe #如果請求來自管道通信,值為"p",否則為"." $proxy_protocol_addr #獲取代理訪問服務器的客戶端地址,如果是直接訪問,該值為空字符串 $realpath_root #當前請求的文檔根目錄或別名的真實路徑,會將所有符號連接轉換為真實路徑 $remote_addr #客戶端地址 $remote_port #客戶端端口 $remote_user #用于HTTP基礎認證服務的用戶名 $request #代表客戶端的請求地址 $request_body #客戶端的請求主體:此變量可在location中使用,將請求主體通過proxy_pass,fastcgi_pass,uwsgi_pass和scgi_pass傳遞給下一級的代理服務器 $request_body_file #將客戶端請求主體保存在臨時文件中。文件處理結束后,此文件需刪除。如果需要之一開啟此功能,需要設置client_body_in_file_only。如果將次文件傳 遞給后端的代理服務器,需要禁用request body,即設置proxy_pass_request_body off,fastcgi_pass_request_body off,uwsgi_pass_request_body off,or scgi_pass_request_body off $request_completion #如果請求成功,值為"OK",如果請求未完成或者請求不是一個范圍請求的最后一部分,則為空 $request_filename #當前連接請求的文件路徑,由root或alias指令與URI請求生成 $request_length #請求的長度 (包括請求的地址,http請求頭和請求主體) $request_method #HTTP請求方法,通常為"GET"或"POST" $request_time #處理客戶端請求使用的時間,單位為秒,精度毫秒; 從讀入客戶端的第一個字節開始,直到把最后一個字符發送給客戶端后進行日志寫入為止。 $request_uri #這個變量等于包含一些客戶端請求參數的原始URI,它無法修改,請查看$uri更改或重寫URI,不包含主機名,例如:"/cnphp/test.php?arg=freemouse" $scheme #請求使用的Web協議,"http" 或 "https" $server_addr #服務器端地址,需要注意的是:為了避免訪問linux系統內核,應將ip地址提前設置在配置文件中 $server_name #服務器名 $server_port #服務器端口 $server_protocol #服務器的HTTP版本,通常為 "HTTP/1.0" 或 "HTTP/1.1" $status #HTTP響應代碼 $time_iso8601 #服務器時間的ISO 8610格式 $time_local #服務器時間(LOG Format 格式) $cookie_NAME #客戶端請求Header頭中的cookie變量,前綴"$cookie_"加上cookie名稱的變量,該變量的值即為cookie名稱的值 $http_NAME #匹配任意請求頭字段;變量名中的后半部分NAME可以替換成任意請求頭字段,如在配置文件中需要獲取http請求頭:"Accept-Language",$http_accept_language即可 $http_cookie $http_host #請求地址,即瀏覽器中你輸入的地址(IP或域名) $http_referer #url跳轉來源,用來記錄從那個頁面鏈接訪問過來的 $http_user_agent #用戶終端瀏覽器等信息 $http_x_forwarded_for $sent_http_NAME #可以設置任意http響應頭字段;變量名中的后半部分NAME可以替換成任意響應頭字段,如需要設置響應頭Content-length,$sent_http_content_length即可 $sent_http_cache_control $sent_http_connection $sent_http_content_type $sent_http_keep_alive $sent_http_last_modified $sent_http_location $sent_http_transfer_encoding $upstream_response_time 請求過程中,upstream響應時間 $upstream_addr 后臺upstream的地址,即真正提供服務的主機地址 $upstream_status upstream狀態
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。