色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

玩轉(zhuǎn)Nginx日志管理:高效排查問(wèn)題的終極指南

馬哥Linux運(yùn)維 ? 來(lái)源:馬哥Linux運(yùn)維 ? 2024-12-30 13:50 ? 次閱讀

Nginx日志對(duì)于統(tǒng)計(jì)、系統(tǒng)服務(wù)排錯(cuò)很有用。Nginx日志主要分為兩種:access_log(訪問(wèn)日志)和error_log(錯(cuò)誤日志)。通過(guò)訪問(wèn)日志我們可以得到用戶的IP地址、瀏覽器的信息,請(qǐng)求的處理時(shí)間等信息。錯(cuò)誤日志記錄了訪問(wèn)出錯(cuò)的信息,可以幫助我們定位錯(cuò)誤的原因。

訪問(wèn)日志主要記錄客戶端的請(qǐng)求??蛻舳讼騈ginx服務(wù)器發(fā)起的每一次請(qǐng)求都記錄在這里。客戶端IP,瀏覽器信息,referer,請(qǐng)求處理時(shí)間,請(qǐng)求URL等都可以在訪問(wèn)日志中得到。當(dāng)然具體要記錄哪些信息,你可以通過(guò)log_format指令定義。

錯(cuò)誤日志在Nginx中是通過(guò)error_log指令實(shí)現(xiàn)的。該指令記錄服務(wù)器和請(qǐng)求處理過(guò)程中的錯(cuò)誤信息。

Nginx中通過(guò)access_log和error_log指令配置訪問(wèn)日志和錯(cuò)誤日志,通過(guò)log_format我們可以自定義日志格式。如果日志文件路徑中使用了變量,我們可以通過(guò)open_log_file_cache指令來(lái)設(shè)置緩存,提升性能。

一、訪問(wèn)日志的配置

1.log_format

log_format用來(lái)設(shè)置日志格式,也就是日志文件中每條日志的格式,具體如下:
log_format name(格式名稱) type(格式樣式)

log_format main '$server_name $remote_addr - $remote_user [$time_local] "$request" '
                '$status $uptream_status $body_bytes_sent "$http_referer" '
                '"$http_user_agent" "$http_x_forwarded_for" '
                '$ssl_protocol $ssl_cipher $upstream_addr $request_time $upstream_response_time';

$server_name:虛擬主機(jī)名稱。

$remote_addr:遠(yuǎn)程客戶端的IP地址。

-:空白,用一個(gè)“-”占位符替代,歷史原因?qū)е逻€存在。

$remote_user:遠(yuǎn)程客戶端用戶名稱,用于記錄瀏覽者進(jìn)行身份驗(yàn)證時(shí)提供的名字,如登錄百度的用戶名scq2099yt,如果沒(méi)有登錄就是空白。

[$time_local]:訪問(wèn)的時(shí)間與時(shí)區(qū),比如18/Jul/201200:01 +0800,時(shí)間信息最后的"+0800"表示服務(wù)器所處時(shí)區(qū)位于UTC之后的8小時(shí)。

$request:請(qǐng)求的URI和HTTP協(xié)議,這是整個(gè)PV日志記錄中最有用的信息,記錄服務(wù)器收到一個(gè)什么樣的請(qǐng)求。

$status:記錄請(qǐng)求返回的http狀態(tài)碼,比如成功是200。

$uptream_status:upstream狀態(tài),比如成功是200。

$body_bytes_sent:發(fā)送給客戶端的文件主體內(nèi)容的大小,比如899,可以將日志每條記錄中的這個(gè)值累加起來(lái)以粗略估計(jì)服務(wù)器吞吐量。

$http_referer:記錄從哪個(gè)頁(yè)面鏈接訪問(wèn)過(guò)來(lái)的。

$http_user_agent:客戶端瀏覽器信息

$http_x_forwarded_for:客戶端的真實(shí)ip,通常web服務(wù)器放在反向代理的后面,這樣就不能獲取到客戶的IP地址了,通過(guò)$remote_add拿到的IP地址是反向代理服務(wù)器的iP地址。反向代理服務(wù)器在轉(zhuǎn)發(fā)請(qǐng)求的http頭信息中,可以增加x_forwarded_for信息,用以記錄原有客戶端的IP地址和原來(lái)客戶端的請(qǐng)求的服務(wù)器地址。

$ssl_protocol:SSL協(xié)議版本,比如TLSv1。

$ssl_cipher:交換數(shù)據(jù)中的算法,比如RC4-SHA。

$upstream_addr:upstream的地址,即真正提供服務(wù)的主機(jī)地址。

$request_time:整個(gè)請(qǐng)求的總時(shí)間。

$upstream_response_time:請(qǐng)求過(guò)程中,upstream的響應(yīng)時(shí)間。

需要注意的是:log_format配置必須放在http內(nèi),否則會(huì)出現(xiàn)如下警告信息:

nginx: [warn] the "log_format" directive may be used only on "http" level in /etc/nginx/nginx.conf:9

2.access_log

access_log指令用來(lái)指定日志文件的存放路徑(包含日志文件名)、格式和緩存大小,具體如下:

access_log path(存放路徑) [format(自定義日志格式名稱) [buffer=size] [gzip[=level]] [flush=time] [if=condition] ]

#設(shè)置訪問(wèn)日志
#指定日志的寫入路徑為/var/logs/nginx-access.log,日志格式使用默認(rèn)的combined。
access_log /var/logs/nginx-access.log
access_log logs/access.log main;
#指定日志的寫入路徑為/var/logs/nginx-access.log,日志格式使用默認(rèn)的combined,指定日志的緩存大小為32k,日志寫入前啟用gzip進(jìn)行壓縮,壓縮比使用默認(rèn)值1,緩存數(shù)據(jù)有效時(shí)間為1分鐘。
access_log /var/logs/nginx-access.log buffer=32k gzip flush=1m
#關(guān)閉日志
access_log off;
#能夠使用access_log指令的字段包括:http、server、location、limit_except。

path 指定日志的存放位置。

format 指定日志的格式。默認(rèn)使用預(yù)定義的combined。

buffer 用來(lái)指定日志寫入時(shí)的緩存大小。默認(rèn)是64k。

gzip 日志寫入前先進(jìn)行壓縮。壓縮率可以指定,從1到9數(shù)值越大壓縮比越高,同時(shí)壓縮的速度也越慢。默認(rèn)是1。

flush 設(shè)置緩存的有效時(shí)間。如果超過(guò)flush指定的時(shí)間,緩存中的內(nèi)容將被清空。

if 條件判斷。如果指定的條件計(jì)算為0或空字符串,那么該請(qǐng)求不會(huì)寫入日志。

二、錯(cuò)誤日志的配置

錯(cuò)誤日志主要記錄客戶端訪問(wèn)Nginx出錯(cuò)時(shí)的日志,格式不支持自定義。通過(guò)錯(cuò)誤日志,你可以得到系統(tǒng)某個(gè)服務(wù)或server的性能瓶頸等。因此,將日志好好利用,你可以得到很多有價(jià)值的信息。

錯(cuò)誤日志的語(yǔ)法:

error_log path(存放路徑) level(日志等級(jí))

path含義同access_log,level表示日志等級(jí),日志等級(jí)分為[ debug | info | notice | warn | error | crit ],從左至右,日志詳細(xì)程度逐級(jí)遞減,即debug最詳細(xì),crit最少,默認(rèn)是error。

error_log  logs/error.log  info;

需要注意的是:error_log off并不能關(guān)閉錯(cuò)誤日志,而是會(huì)將錯(cuò)誤日志記錄到一個(gè)文件名為off的文件中。正確的關(guān)閉錯(cuò)誤日志記錄功能的方法如下:

#表示將存儲(chǔ)日志的路徑設(shè)置為“垃圾桶”。
error_log /dev/null;

error_log可以配置在main, http, mail, stream, server, location作用域。

三、日志分割

1.編寫nginx日志分割腳本

#!/bin/bash 
LOGS_PATH=/usr/local/nginx/logs 
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d) 
cp ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log && >${LOGS_PATH}/access.log
cp ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${YESTERDAY}.log && >${LOGS_PATH}/error.log

2.設(shè)置定時(shí)任務(wù)運(yùn)行腳本

$ crontab -e
0 0 * * *  /usr/local/nginx/logs/NginxLogRotate.sh

定時(shí)任務(wù)每天00:00執(zhí)行腳本/usr/local/nginx/logs/NginxLogRotate.sh,實(shí)現(xiàn)定時(shí)自動(dòng)分割Nginx日志(包括訪問(wèn)日志和錯(cuò)誤日志),這樣Nginx每天都會(huì)生成一個(gè)新的日志文件。

鏈接:https://www.cnblogs.com/myitnews/p/11536181.html

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    390

    瀏覽量

    14880
  • nginx
    +關(guān)注

    關(guān)注

    0

    文章

    151

    瀏覽量

    12185

原文標(biāo)題:玩轉(zhuǎn)Nginx日志管理:高效排查問(wèn)題的終極指南

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    EulerOS+Nginx+MySQL 部署 GLPI 資產(chǎn)管理系統(tǒng)

    1. 部署環(huán)境說(shuō)明 ??本次環(huán)境選擇使用華為云 Flexus 云服務(wù)器 X 實(shí)例,因?yàn)槠渚哂懈咝阅艿挠?jì)算能力、靈活的資源配置、穩(wěn)定的運(yùn)行環(huán)境、高效的網(wǎng)絡(luò)訪問(wèn)速度、服務(wù)的高可用性保證以及多層次的數(shù)據(jù)
    的頭像 發(fā)表于 01-03 09:28 ?59次閱讀
    EulerOS+<b class='flag-5'>Nginx</b>+MySQL 部署 GLPI 資產(chǎn)<b class='flag-5'>管理</b>系統(tǒng)

    Linux高頻命令終極指南

    -f journalctl /usr/bin/bash 4、管理日志 # 空間使用 journalctl --disk-usage # 保留500M journalctl --vacuum-size
    的頭像 發(fā)表于 12-05 16:53 ?201次閱讀

    使用lsof實(shí)現(xiàn)對(duì)linux文件的誤刪除恢復(fù)練習(xí)

    本文記錄使用lsof實(shí)現(xiàn)對(duì)linux文件的誤刪除恢復(fù)練習(xí)。題目如下: 1.確保當(dāng)前nginx進(jìn)程運(yùn)行中 2.刪除日志文件,rm -f /var/log/nginx/access.log 3.以
    的頭像 發(fā)表于 11-24 11:14 ?197次閱讀
    使用lsof實(shí)現(xiàn)對(duì)linux文件的誤刪除恢復(fù)練習(xí)

    機(jī)智云歷史數(shù)據(jù)導(dǎo)出與排查指南

    機(jī)智云歷史數(shù)據(jù)導(dǎo)出與排查指南在使用機(jī)智云平臺(tái)進(jìn)行設(shè)備管理和數(shù)據(jù)監(jiān)控時(shí),歷史數(shù)據(jù)的導(dǎo)出和排查是常見(jiàn)的需求。機(jī)智云提供了開(kāi)放的API接口,方便用戶通過(guò)編程方式導(dǎo)出設(shè)備歷史數(shù)據(jù),以便進(jìn)行分析
    的頭像 發(fā)表于 11-21 01:01 ?161次閱讀
    機(jī)智云歷史數(shù)據(jù)導(dǎo)出與<b class='flag-5'>排查</b><b class='flag-5'>指南</b>

    Air201:MQTT實(shí)用示例的終極指南

    今天我們學(xué)習(xí)的是關(guān)于Air201的MQTT實(shí)用示例的終極指南
    的頭像 發(fā)表于 11-07 19:30 ?181次閱讀
    Air201:MQTT實(shí)用示例的<b class='flag-5'>終極</b><b class='flag-5'>指南</b>

    errDump錯(cuò)誤日志上報(bào):開(kāi)啟高效排查之門

    相信很多朋友都會(huì)忽視errDump錯(cuò)誤日志上報(bào),但不得不說(shuō)的是技術(shù)高手都知道它真的是比較重要的一環(huán)。
    的頭像 發(fā)表于 11-02 11:52 ?338次閱讀
    errDump錯(cuò)誤<b class='flag-5'>日志</b>上報(bào):開(kāi)啟<b class='flag-5'>高效</b><b class='flag-5'>排查</b>之門

    nginx日志配置方法

    access_log用來(lái)定義日志級(jí)別,日志位置。
    的頭像 發(fā)表于 10-24 17:43 ?235次閱讀

    Linux日志管理經(jīng)驗(yàn)總結(jié)

    日志內(nèi)容,合理的日志內(nèi)容(日志錨點(diǎn),內(nèi)容格式,等)可以為應(yīng)用服務(wù)的執(zhí)行記錄、問(wèn)題排查提供最有力的幫助。
    的頭像 發(fā)表于 10-24 17:36 ?223次閱讀

    日志篇:模組日志總體介紹

    ?今天我們學(xué)習(xí)合宙模組日志總體介紹,以下進(jìn)入正文。 一、本文討論的邊界 本文是對(duì)合宙 4G 模組, 以及 4G+GNSS 模組的日志功能的總體介紹。通過(guò)日志,可以對(duì)研發(fā)過(guò)程中,以及模組運(yùn)行過(guò)程中
    的頭像 發(fā)表于 10-24 07:16 ?197次閱讀
    <b class='flag-5'>日志</b>篇:模組<b class='flag-5'>日志</b>總體介紹

    nginx中的正則表達(dá)式和location路徑匹配指南

    前言,我這里驗(yàn)證的nginx-v1.23.2單機(jī)環(huán)境下的nginx中的正則表達(dá)式、location路徑匹配規(guī)則和優(yōu)先級(jí)。
    的頭像 發(fā)表于 09-29 16:02 ?819次閱讀
    <b class='flag-5'>nginx</b>中的正則表達(dá)式和location路徑匹配<b class='flag-5'>指南</b>

    linux日志管理之journalctl命令

    journalctl 用來(lái)查詢 systemd-journald 服務(wù)收集到的日志。systemd-journald 服務(wù)是 systemd init 系統(tǒng)提供的收集系統(tǒng)日志的服務(wù)。
    的頭像 發(fā)表于 08-14 18:18 ?2617次閱讀
    linux<b class='flag-5'>日志</b><b class='flag-5'>管理</b>之journalctl命令

    nginx重啟命令linux步驟是什么?

      1、驗(yàn)證nginx配置文件是否正確   方法一:進(jìn)入nginx安裝目錄sbin下,輸入命令./nginx -t   看到如下顯示nginx.conf syntax is ok
    發(fā)表于 07-11 17:13

    nginx重啟命令linux步驟是什么?

      1、驗(yàn)證nginx配置文件是否正確   方法一:進(jìn)入nginx安裝目錄sbin下,輸入命令./nginx -t   看到如下顯示nginx.conf syntax is ok
    發(fā)表于 07-10 16:40

    玩轉(zhuǎn)EEPROM——全面指南

    玩轉(zhuǎn)EEPROM——全面指南 EEPROM(電可擦除可編程只讀存儲(chǔ)器)是一種能夠在斷電后保存數(shù)據(jù)的存儲(chǔ)器,廣泛應(yīng)用于存儲(chǔ)配置參數(shù)和少量數(shù)據(jù)的場(chǎng)景。本文將帶您深入了解EEPROM的基礎(chǔ)知識(shí)、常見(jiàn)操作
    的頭像 發(fā)表于 07-01 09:36 ?2621次閱讀
    <b class='flag-5'>玩轉(zhuǎn)</b>EEPROM——全面<b class='flag-5'>指南</b>

    功放進(jìn)入削峰保護(hù)模式?教你如何排查問(wèn)

    功放進(jìn)入削峰保護(hù)模式?教你如何排查問(wèn)題? 功放進(jìn)入削峰保護(hù)模式可能是由多種原因引起的。在排查問(wèn)題之前,我們首先需要了解什么是功放的削峰保護(hù)模式。 功放的削峰保護(hù)模式是一種保護(hù)機(jī)制,旨在保護(hù)功放不受
    的頭像 發(fā)表于 02-05 10:32 ?1184次閱讀
    主站蜘蛛池模板: 国产亚洲精品久久久久久入口 | 日日噜噜噜夜夜爽爽狠狠图片| 蜜桃最新网址| 美女被黑人巨大进入| 男女肉大捧进出全过程免费| 男人的天堂黄色片| 美女一级毛片免费不卡视频| 如懿传免费观看在线全集| 亚洲日韩视频免费观看| 怡春院欧美一区二区三区免费| 伊人不卡久久大香线蕉综合影院| 中文字幕高清在线中文字幕| 4399亚洲AV无码V无码网站 | 亚洲第一区欧美日韩精品| 亚洲日韩中文字幕区| av在线观看地址| 调教玩弄奶头乳夹开乳震动器| 国产精品欧美亚洲| 回复术士勇者免费观看全集| 精品在线观看一区| 毛片免费在线视频| 无码欧美喷潮福利XXXX| 亚洲精品电影天堂网| 在线播放日韩欧美亚洲日本| 99久久精品国产交换| 顶级欧美不卡一区二区三区| 久久久久久久久免费视频| 男人J桶进男人屁股过程| 性绞姿始动作动态图| 在线成人精品国产区免费| 国产成人高清亚洲一区app| 好紧小嫩嫩水的10p| 老师xxxx69动漫| 日本肉肉口番工全彩动漫| 亚洲成熟人网站| 被黑人群jian又粗又大H| 国产精一品亚洲二区在线播放| 精品国产乱码久久久久久免费 | 国产午夜亚洲精品一区| 欧美特黄99久久毛片免费| 小黄文纯肉污到你湿|