Amplify - NGINX-overvågning gjort let


Nginx amplify er en samling nyttige værktøjer til omfattende overvågning af en open source Nginx webserver og NGINX Plus. Med NGINX Amplify kan du overvåge ydeevne, holde styr på systemer, der kører Nginx og giver mulighed for praktisk at undersøge og løse problemer i forbindelse med kørsel og skalering af webapplikationer.

Det kan bruges til at visualisere og bestemme en Nginx-webserver ydeevne flaskehalse, overbelastede servere eller potentielle DDoS-angreb; forbedre og optimere Nginx-ydeevne med intelligent rådgivning og anbefalinger.

Derudover kan den underrette dig, når der er noget galt med din applikationsopsætning, og den fungerer også som en webapplikationskapacitet og præstationsplanlægger.

Nginx-forstærkningsarkitekturen er bygget på 3 nøglekomponenter, som er beskrevet nedenfor:

  • NGINX Amplify Backend - kernesystemkomponenten, implementeret som en SaaS (Software as a Service). Den indeholder skalerbar ramme for samling af metrics, en database, en analysemotor og en kerne-API.
  • NGINX Amplify Agent - et Python-program, der skal installeres og køres på overvågede systemer. Al kommunikation mellem agenten og SaaS-backend foregår sikkert via SSL/TLS; al trafik initieres altid af agenten.
  • NGINX Amplify Web UI - en brugergrænseflade, der er kompatibel med alle større browsere, og den er kun tilgængelig via TLS/SSL.

Web-brugergrænsefladen viser grafer til Nginx- og operativsystemmålinger, giver mulighed for oprettelse af et brugerdefineret dashboard, tilbyder en statisk analysator til forbedring af Nginx-konfiguration og et alarmsystem med automatiske underretninger.

Trin 1: Installer Amplify Agent på Linux System

1. Åbn din webbrowser, skriv nedenstående adresse, og opret en konto. Et link sendes til din e-mail, brug det til at bekræfte e-mail-adressen oglog ind på din nye konto.

https://amplify.nginx.com

2. Derefter skal du logge ind på din eksterne server, der skal overvåges, via SSH og downloade nginx amplify agent autoinstallationsscript ved hjælp af curl eller wget-kommandoen.

$ wget https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh
OR
$ curl -L -O https://github.com/nginxinc/nginx-amplify-agent/raw/master/packages/install.sh 

3. Kør nu kommandoen nedenfor med superbrugerrettigheder ved hjælp af sudo-kommandoen for at installere amplify agent-pakken (API_KEY vil sandsynligvis være anderledes, unik for hvert system, du tilføjer).

$ sudo API_KEY='e126cf9a5c3b4f89498a4d7e1d7fdccf' sh ./install.sh 

Bemærk: Du får muligvis en fejl, der indikerer, at sub_status ikke er konfigureret, dette gøres i næste trin.

4. Når installationen er afsluttet, skal du gå tilbage til web-UI og efter ca. 1 minut vil du kunne se det nye system i listen til venstre.

Trin 2: Konfigurer stub_status i NGINX

5. Nu skal du konfigurere stub_status-konfiguration for at oprette nøgle-Nginx-grafer (Nginx Plus-brugere skal konfigurere enten stub_status-modulet eller det udvidede statusmodul).

Opret en ny konfigurationsfil til stub_status under /etc/nginx/conf.d/.

$ sudo vi /etc/nginx/conf.d/sub_status.conf

Kopier og indsæt derefter følgende stub_status-konfiguration i filen.

server {
    listen 127.0.0.1:80;
    server_name 127.0.0.1;
    location /nginx_status {
        stub_status;
        allow 127.0.0.1;
        deny all;
    }
}

Gem og luk filen.

6. Genstart derefter Nginx-tjenester for at aktivere stub_status-modulkonfigurationen som følger.

$ sudo systemctl restart nginx

Trin 3: Konfigurer yderligere NGINX-målinger til overvågning

7. I dette trin skal du konfigurere yderligere Nginx-metrics for at holde øje med dine applikationspræstationer. Agenten samler metrics fra aktive og voksende access.log- og error.log-filer, hvis placeringer den automatisk registrerer. Og vigtigst af alt skal det være tilladt at læse disse filer.

Alt hvad du skal gøre er at definere en bestemt log_format som den nedenfor i din primære Nginx-konfigurationsfil, /etc/nginx/nginx.conf.

log_format main_ext '$remote_addr - $remote_user [$time_local] "$request" '
                                '$status $body_bytes_sent "$http_referer" '
                                '"$http_user_agent" "$http_x_forwarded_for" '
                                '"$host" sn="$server_name" ' 'rt=$request_time '
                                'ua="$upstream_addr" us="$upstream_status" '
                                'ut="$upstream_response_time" ul="$upstream_response_length" '
                                'cs=$upstream_cache_status' ;

Brug derefter ovenstående logformat, når du definerer dit access_log, og error_log-logniveauet skal indstilles til at advare som vist.

access_log /var/log/nginx/suasell.com/suasell.com_access_log main_ext;
error_log /var/log/nginx/suasell.com/suasell.com_error_log  warn;

8. Genstart nu Nginx-tjenester igen for at foretage de seneste ændringer.

$ sudo systemctl restart nginx

Trin 4: Overvåg Nginx-webserver via Amplify Agent

9. Endelig kan du begynde at overvåge din Nginx-webserver fra Amplify Web UI.

For at tilføje et andet system til overvågning skal du blot gå til Grafer og klikke på "Nyt system" og følge trinene ovenfor.

Nginx Amplify-hjemmeside: https://amplify.nginx.com/signup/

Amplify er en kraftfuld SaaS-løsning til overvågning af dit OS, Nginx-webserver samt Nginx-baserede applikationer. Det tilbyder et enkelt, samlet web-UI til at holde øje med flere eksterne systemer, der kører Nginx. Brug kommentarformularen nedenfor til at dele dine tanker om dette værktøj.