chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

馬哥Linux運維 ? 來源:馬哥Linux運維 ? 2024-12-30 13:50 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

一、訪問日志的配置

1.log_format

log_format用來設(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:虛擬主機名稱。

$remote_addr:遠程客戶端的IP地址。

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

$remote_user:遠程客戶端用戶名稱,用于記錄瀏覽者進行身份驗證時提供的名字,如登錄百度的用戶名scq2099yt,如果沒有登錄就是空白。

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

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

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

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

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

$http_referer:記錄從哪個頁面鏈接訪問過來的。

$http_user_agent:客戶端瀏覽器信息

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

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

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

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

$request_time:整個請求的總時間。

$upstream_response_time:請求過程中,upstream的響應(yīng)時間。

需要注意的是:log_format配置必須放在http內(nèi),否則會出現(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指令用來指定日志文件的存放路徑(包含日志文件名)、格式和緩存大小,具體如下:

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

#設(shè)置訪問日志
#指定日志的寫入路徑為/var/logs/nginx-access.log,日志格式使用默認的combined。
access_log /var/logs/nginx-access.log
access_log logs/access.log main;
#指定日志的寫入路徑為/var/logs/nginx-access.log,日志格式使用默認的combined,指定日志的緩存大小為32k,日志寫入前啟用gzip進行壓縮,壓縮比使用默認值1,緩存數(shù)據(jù)有效時間為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 指定日志的格式。默認使用預(yù)定義的combined。

buffer 用來指定日志寫入時的緩存大小。默認是64k。

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

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

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

二、錯誤日志的配置

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

錯誤日志的語法:

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

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

error_log  logs/error.log  info;

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

#表示將存儲日志的路徑設(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è)置定時任務(wù)運行腳本

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

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

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

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

    關(guān)注

    1

    文章

    407

    瀏覽量

    29044
  • nginx
    +關(guān)注

    關(guān)注

    0

    文章

    180

    瀏覽量

    12958

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    芯片封裝方式終極指南(上)

    這是一份涉及芯片封裝幾乎所有關(guān)鍵概念的終極指南,它可以幫助您全面了解芯片的封裝方式以及未來互連技術(shù)的發(fā)展趨勢。
    的頭像 發(fā)表于 11-27 09:31 ?1580次閱讀
    芯片封裝方式<b class='flag-5'>終極</b><b class='flag-5'>指南</b>(上)

    華納云服務(wù)器Linux系統(tǒng)日志集中化管理平臺搭建

    在云計算時代,企業(yè)運維團隊面臨服務(wù)器數(shù)量激增帶來的日志管理難題。本文詳細解析如何基于Linux系統(tǒng)構(gòu)建高效的云服務(wù)器日志集中化管理平臺,涵蓋
    的頭像 發(fā)表于 09-12 14:11 ?331次閱讀

    Nginx在企業(yè)環(huán)境中的調(diào)優(yōu)策略

    Nginx作為現(xiàn)代互聯(lián)網(wǎng)架構(gòu)中最重要的Web服務(wù)器和反向代理服務(wù)器,其性能調(diào)優(yōu)對企業(yè)級應(yīng)用的穩(wěn)定性和效率至關(guān)重要。本指南將從運維實踐角度出發(fā),詳細介紹Nginx在企業(yè)環(huán)境中的各種調(diào)優(yōu)策略和最佳實踐。
    的頭像 發(fā)表于 07-14 11:13 ?386次閱讀

    Centos7分用戶記錄歷史命令至日志文件教程

    在企業(yè)級Linux運維中,實時記錄用戶操作歷史是審計排查的關(guān)鍵步驟。本文華納云針對CentOS7系統(tǒng),提供三種高效方案實現(xiàn)分用戶日志記錄+防篡改管理。所有步驟均經(jīng)過實際驗證,代碼段內(nèi)含
    的頭像 發(fā)表于 06-28 14:50 ?577次閱讀

    Nginx配置終極指南

    Nginx 是開源、高性能、高可靠的 Web 和反向代理服務(wù)器,而且支持熱部署,幾乎可以做到 7 * 24 小時不間斷運行,即使運行幾個月也不需要重新啟動,還能在不間斷服務(wù)的情況下對軟件版本進行熱
    的頭像 發(fā)表于 06-18 15:56 ?784次閱讀
    <b class='flag-5'>Nginx</b>配置<b class='flag-5'>終極</b><b class='flag-5'>指南</b>

    云原生環(huán)境里Nginx的故障排查思路

    本文聚焦于云原生環(huán)境下Nginx的故障排查思路。隨著云原生技術(shù)的廣泛應(yīng)用,Nginx作為常用的高性能Web服務(wù)器和反向代理服務(wù)器,在容器化和編排的環(huán)境中面臨著新的故障場景和挑戰(zhàn)。
    的頭像 發(fā)表于 06-17 13:53 ?624次閱讀
    云原生環(huán)境里<b class='flag-5'>Nginx</b>的故障<b class='flag-5'>排查</b>思路

    Nginx性能優(yōu)化終極指南

    而worker 進程數(shù)默認為 1 。單進程最大連接數(shù)為1024。如下圖(打開Nginx目錄下的/conf/nginx.conf 文檔),現(xiàn)在我們來對這兩個數(shù)值進行調(diào)優(yōu)
    的頭像 發(fā)表于 06-16 13:44 ?888次閱讀
    <b class='flag-5'>Nginx</b>性能優(yōu)化<b class='flag-5'>終極</b><b class='flag-5'>指南</b>

    遠程日志errDump調(diào)試功能實戰(zhàn)教程:案例驅(qū)動的故障排查!

    通過真實案例場景,本教程將展示如何利用遠程日志errDump調(diào)試功能定位系統(tǒng)崩潰、性能瓶頸等問題,從日志捕獲到原因分析,手把手帶您體驗實戰(zhàn)中的調(diào)試流程。 本文特別分享errDump功能
    的頭像 發(fā)表于 06-09 16:51 ?522次閱讀
    遠程<b class='flag-5'>日志</b>errDump調(diào)試功能實戰(zhàn)教程:案例驅(qū)動的故障<b class='flag-5'>排查</b>!

    詳解journalctl日志管理

    systemd 提供了自己的日志系統(tǒng)(logging system),稱為 journal。使用 systemd 日志,無需額外安裝日志服務(wù)(syslog)。
    的頭像 發(fā)表于 06-05 17:22 ?1127次閱讀
    詳解journalctl<b class='flag-5'>日志</b><b class='flag-5'>管理</b>

    如何在CentOS系統(tǒng)中部署ELK日志分析系統(tǒng)

    日志分析已成為企業(yè)監(jiān)控、故障排查和性能優(yōu)化的重要組成部分。ELK(Elasticsearch、Logstash 和 Kibana)堆棧作為一種強大的開源解決方案,提供了高效日志收集、
    的頭像 發(fā)表于 05-08 11:47 ?764次閱讀
    如何在CentOS系統(tǒng)中部署ELK<b class='flag-5'>日志</b>分析系統(tǒng)

    華為 FlexusX 與 Docker+Nginx高效整合之路

    前言 華為 FlexusX 攜手 Docker+Nginx高效整合,云端性能再升級!FlexusX 服務(wù)器,依托華為強大的技術(shù)實力,為 Docker 容器與 Nginx 服務(wù)器提供了完美的運行環(huán)境
    的頭像 發(fā)表于 01-23 17:55 ?563次閱讀
    華為 FlexusX 與 Docker+<b class='flag-5'>Nginx</b> 的<b class='flag-5'>高效</b>整合之路

    零死角玩轉(zhuǎn)STM32F103—指南

    電子發(fā)燒友網(wǎng)站提供《零死角玩轉(zhuǎn)STM32F103—指南者.pdf》資料免費下載
    發(fā)表于 01-20 14:18 ?49次下載

    分布式日志追蹤ID實戰(zhàn)

    作者:京東物流 張小龍 本文通過介紹分布式應(yīng)用下各個場景的全局日志ID透傳思路,以及介紹分布式日志追蹤ID簡單實現(xiàn)原理和實戰(zhàn)效果,從而達到通過提高日志查詢排查問題的效率。 背景 開發(fā)
    的頭像 發(fā)表于 01-20 10:16 ?888次閱讀

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

    1. 部署環(huán)境說明 ??本次環(huán)境選擇使用華為云 Flexus 云服務(wù)器 X 實例,因為其具有高性能的計算能力、靈活的資源配置、穩(wěn)定的運行環(huán)境、高效的網(wǎng)絡(luò)訪問速度、服務(wù)的高可用性保證以及多層次的數(shù)據(jù)
    的頭像 發(fā)表于 01-03 09:28 ?1014次閱讀
    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 ?950次閱讀