一個小工具幫你搞定實時監控Nginx伺服器

来源:https://www.cnblogs.com/youkanyouxiao/archive/2020/04/19/12731326.html
-Advertisement-
Play Games

Linux運維工程師的首要職責就是保證業務7 x 24小時穩定的運行,監控Web伺服器對於查看網站上發生的情況至關重要。關註最多的便是日誌變動,查看實時日誌文件變動大家第一反應應該是'tail -f /path/to/log'命令吧,但是如果每個網站的訪問日誌都是使用這種方式查看也是相當崩潰的,今天 ...


Linux運維工程師的首要職責就是保證業務7 x 24小時穩定的運行,監控Web伺服器對於查看網站上發生的情況至關重要。關註最多的便是日誌變動,查看實時日誌文件變動大家第一反應應該是'tail -f /path/to/log'命令吧,但是如果每個網站的訪問日誌都是使用這種方式查看也是相當崩潰的,今天小編就跟大家分享一個強大的Nginx日誌監控工具。

ngxtop是一個基於python的程式,可以在Python上安裝。ngxtop通過實時解析nginx訪問日誌,並將結果(nginx伺服器的有用指標)輸出到終端。

主要的功能
  • 當前有效請求
  • 總請求計數摘要
  • 按狀態代碼提供的總請求數(2xx,3xx,4xx,5xx)
  • 發送平均位元組
  • 頂級遠程地址

不僅能實時監控Nginx日誌的訪問還可以對以前的日誌進行排查整理。

在Linux上安裝ngxtop
以下操作是在CentOS 7-64bit上測試

首先,你需要安裝PIP(Python包管理系統)

  • 使用root憑據登錄你的伺服器
  • 通過安裝以下包啟用EPEL存儲庫
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-6.noarch.rpm

rpm -ivh epel-release-7-6.noarch.rpm

然後執行以下命令安裝pip
yum install python-pip

最後使用下麵安裝ngxtop
pip install ngxtop
ngxtop使用詳解

用法:

 ngxtop [選項]
 ngxtop [選項](print | top | avg | sum)<var>
 ngxtop info

選項:

ngxtop實踐

1.使用ngxtop命令查看請求計數摘要,請求的URI,狀態碼請求的數量。

$ ngxtop

2.檢查頂級客戶端的IP

查看誰向你的Nginx伺服器發出大量請求。

ngxtop top remote_addr

3.僅顯示出404的HTTP請求

ngxtop -i'status> = 404'

4.分析access.log

ngxtop -l /path/access.log

5.解析Apache的offline access.log

ngxtop -f common -l /path/access.log

另外你可以可以使用多種組合來過濾access.log以獲取有用的數據

Github地址:https://github.com/lebinh/ngxtop

作者:民工哥
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文講的字元串提取指的是從文件或某個輸出中提取符合條件的列的內容,如果某個文件或輸出中它的每一行的信息都是使用特定的分隔符來分割的話,就可以使用字元串的提取功能,本文涉及到的命令包括cut、printf、awk、sed等。 cut命令cut [選項] 文件名:在文件中提取符合條件的列。選項: -f ...
  • 通配符是用於匹配符合條件的文件名(完全匹配),但是正則表達式是用來匹配文件中符合條件的字元串(包含匹配)。 基礎的正則表達式 *:前一個字元匹配0次或任意多次。 .:匹配除了換行符之外的任意一個字元。 ^:匹配行首。 $:匹配行尾。 []:匹配方括弧中指定的任意一個字元(只匹配一個字元),裡面可以使 ...
  • 通常說到變數,可能就是指的用戶自定義的變數,但是Shell中變數的概念除了用戶自定義變數,還包括環境變數、系統預定義變數、位置參數變數、數值變數等。 用戶自定義變數註意用戶自定義變數只在當前的shell終端中生效。自定義變數:變數名稱可以使用字母、數字和下劃線組成,但是不能以數字開頭。變數類型:Ba ...
  • Shell概述一方面,Shell相當於一個命令解釋器,將Linux命令解釋為二進位機器碼,或者反過來,將二進位機器碼解釋為Linux命令。其實我們啟動Linux後命令交互界面就是系統給用戶提供的一個Shell解釋器的界面。另一方面,Shell也是一種解釋執行的腳本編程語言,並且在Shell中可以直接 ...
  • 搜索命令 whereis which locate find whereis 英文原意:locate the binary,source,and manual page files for a command 功能:查找二進位命令、源文件和幫助文檔的命令 語法:where 選項[ bm] 命令 wh ...
  • 本文記一些比較零碎的系統操作,如將程式放入後臺,查看進程和記憶體等信息,查看系統Linux內核和版本等信息,以及如何制定系統定時任務等。 將程式放入後臺在Windows程式中其實最小化之後就是放入後臺運行了,在Linux系統中有兩種方式將程式放入後臺。方式一:在命令的最後加一個&符即可將命令的運行放入 ...
  • Windows中可以通過任務管理器來查看對應的進程信息以及系統資源等信息,Linux中則通常使用“ps aux”來查看這些信息。 查看所有進程和系統資源ps aux或ps -le:查看所有進程即系統資源的使用,前者使用的是BSD操作系統格式,即Unix系統格式,a表示前臺進程,u表示創建該進程的用戶 ...
  • Linux中對於許可權的管理是非常嚴格的,不同的用戶可以擁有不同的操作許可權,其中超級管理員root是最大的,幾乎擁有所有的許可權,如果你是root用戶,即使你想把系統給刪了也是允許的,所以經常有“rm -rf /*”的玩笑或段子,但也確實需要小心,使用rm -rf命令的時候不要刪錯東西了。常用的許可權操作 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...