GNU/Linux >> Znalost Linux >  >> Ubuntu

Monitorujte soubory protokolu Nginx pomocí ngxtop na Ubuntu 20.04

ngxtop je bezplatný, open-source, flexibilní a v reálném čase monitorovací nástroj pro webové servery Nginx. Dokáže analyzovat přístupový protokol Nginx a vytisknout informace o počtu požadavků, požadovaném URI, počtu požadavků podle stavového kódu a mnohem více. Je to jednoduchý a snadno použitelný nástroj pro sledování požadavků přicházejících na webový server Nginx.

V tomto článku vám ukážu, jak nainstalovat a používat monitorovací nástroj ngxtop na Ubuntu 20.04.

Předpoklady

  • Server se systémem Ubuntu 20.04.
  • Na vašem serveru je nakonfigurováno heslo uživatele root.

Instalovat ngxtop

ngxtop je nástroj založený na pythonu, takže budete muset do svého systému nainstalovat balíčky Python a PIP. Můžete je nainstalovat pomocí Nginx pomocí následujícího příkazu:

apt-get install nginx python3 python3-pip -y

Po instalaci můžete balíček ngxtop nainstalovat pomocí PIP, jak je znázorněno níže:

pip3 install ngxtop

Jakmile je ngxtop nainstalován, můžete ověřit verzi ngxtop pomocí následujícího příkazu:

ngxtop --version

Měli byste získat následující výstup:

xstat 0.1

Jak používat ngxtop

V této části vám ukážeme, jak používat ngxtop ke sledování webového serveru Nginx.

Spuštěním příkazu ngxtop bez jakéhokoli argumentu se zobrazí souhrn počtu požadavků, požadované URI a počet požadavků podle stavového kódu.

ngxtop

Měli byste vidět následující obrazovku:

Pomocí volby -l můžete zadat protokol přístupu, který chcete analyzovat.

ngxtop -l /var/log/nginx/access.log

Měli byste vidět následující obrazovku:

Chcete-li zobrazit seznam hlavních IP adres, které přistupují k vašemu serveru Nginx, spusťte následující příkaz:

ngxtop --group-by remote_addr -l /var/log/nginx/access.log

Měli byste vidět následující obrazovku:

Pomocí následujícího příkazu můžete vytisknout 10 požadavků s nejvyšším celkovým počtem odeslaných bajtů:

ngxtop --order-by 'avg(bytes_sent) * count' -l /var/log/nginx/access.log

Měli byste vidět následující obrazovku:

ngxtop také umožňuje analyzovat soubor protokolu Apache ze vzdáleného serveru. Můžete to udělat pomocí následujícího příkazu:

ssh [email protected] tail -f /var/log/apache2/access.log | ngxtop -f common

Chcete-li získat seznam všech možností dostupných s ngxtop, spusťte následující příkaz:

ngxtop --help

Měli byste vidět následující výstup:

ngxtop - ad-hoc query for nginx access log.

Usage:
    ngxtop [options]
    ngxtop [options] (print|top|avg|sum)  ...
    ngxtop info
    ngxtop [options] query  ...

Options:
    -l , --access-log   access log file to parse.
    -f , --log-format   log format as specify in log_format directive. [default: combined]
    --no-follow  ngxtop default behavior is to ignore current lines in log
                     and only watch for new lines as they are written to the access log.
                     Use this flag to tell ngxtop to process the current content of the access log instead.
    -t , --interval   report interval when running in follow mode [default: 2.0]

    -g , --group-by   group by variable [default: request_path]
    -w , --having   having clause [default: 1]
    -o , --order-by   order of output for default query [default: count]
    -n , --limit   limit the number of records included in report for top command [default: 10]
    -a  ..., --a  ...  add exp (must be aggregation exp: sum, avg, min, max, etc.) into output

    -v, --verbose  more verbose output
    -d, --debug  print every line and parsed record
    -h, --help  print this help message.
    --version  print version information.

    Advanced / experimental options:
    -c , --config   allow ngxtop to parse nginx config file for log format and location.
    -i , --filter   filter in, records satisfied given expression are processed.
    -p , --pre-filter  in-filter expression to check in pre-parsing phase.

Examples:
    All examples read nginx config file for access log location and format.
    If you want to specify the access log file and / or log format, use the -f and -a options.

    "top" like view of nginx requests
    $ ngxtop

    Top 10 requested path with status 404:
    $ ngxtop top request_path --filter 'status == 404'

    Top 10 requests with highest total bytes sent
    $ ngxtop --order-by 'avg(bytes_sent) * count'

    Top 10 remote address, e.g., who's hitting you the most
    $ ngxtop --group-by remote_addr

    Print requests with 4xx or 5xx status, together with status and http referer
    $ ngxtop -i 'status >= 400' print request status http_referer

    Average body bytes sent of 200 responses of requested path begin with 'foo':
    $ ngxtop avg bytes_sent --filter 'status == 200 and request_path.startswith("foo")'

    Analyze apache access log from remote machine using 'common' log format
    $ ssh remote tail -f /var/log/apache2/access.log | ngxtop -f common

Závěr

Ve výše uvedené příručce jste se naučili, jak nainstalovat a používat ngxtop na Ubuntu 20.04. Doufám, že nyní můžete svůj protokol Nginx snadno sledovat z rozhraní příkazového řádku.


Ubuntu
  1. Jak nainstalovat WordPress pomocí Nginx na Ubuntu 18.04

  2. Nainstalovat LibreNMS na Ubuntu 20.04 LTS pomocí Nginx – průvodce krok za krokem?

  3. Odstraňte soubory protokolu pomocí úlohy cron

  1. Jak monitorovat Nginx pomocí Netdata na Ubuntu 16.04

  2. Jak monitorovat a zjišťovat upravené soubory pomocí Tripwire IDS na Ubuntu 16.04

  3. Jak monitorovat soubory protokolu serveru pomocí Logwatch na Debianu a Ubuntu

  1. Jak synchronizovat soubory/složky pomocí FreeFileSync na Ubuntu

  2. Monitorujte svůj webový/proxy server NGINX pomocí Amplify

  3. Jak nainstalovat Nginx na Ubuntu 20.04 LTS pomocí zdrojového kódu