Installieren Sie Nginx Amplify auf CentOS 8/RHEL 8, um die Leistung des LEMP-Stacks zu überwachen
11:31, 13.12.2023
Nginx Amplify ist ein perfektes Tool für die Überwachung von Nginx-Webservern. Die Besonderheit dieser speziellen Option liegt in der Fähigkeit, die LEMP-Stack-App vollständig zu überwachen. LEMP ist eine Kurzversion für PHP, Nginx, Linux und MySQL/MariaDB.
Dieses Produkt wurde von Nginx. Inc. Amplify funktioniert, indem es die empfangenen Daten sammelt und an den SaaS-Dienst sendet. Das Tool gilt als sehr leichtgewichtig und ist Open-Source. Wenn wir über die spezifischen Informationen sprechen, die es sammelt, dann sind es solche wie:
- Daten aus MariaDB/MySQL (Update/Insert/Select-Abfragen, Verbindungen usw.)
- PHP-FPM informieren (langsame Anfragen, Warteschlange für Verbindungen usw.)
- Nginx-Daten (Verkehr, Anfragen, Antwortzeit, Verbindungen usw.)
- Systemmetriken (Netzverkehr, Festplattenlatenz, RAM-Nutzung, CPU usw.)
Das Tool kann auch bei der Warnung vor ungewöhnlichem Verhalten und der Verbesserung der Nginx-Konfiguration hilfreich sein.
Einrichten von Nginx Amplify auf CentOS 8/RHEL 8
Zunächst sollten die Benutzer ihre Konten auf der offiziellen Website dieses Tools registrieren und sich mit Hilfe einer E-Mail-Adresse verifizieren. Als Nächstes folgt die Installation des Agenten auf dem Server. Die offiziellen Ressourcen bieten viele hilfreiche Empfehlungen und spezifische Befehle, die bei der Installation helfen, so dass Sie diese nur kopieren müssen.
Es gibt 2 Dinge, die wichtig sind - führen Sie diese Befehle mit Root-Zugriff aus und Python2 wird benötigt. Sobald Sie Python2 haben, installieren Sie das Skript - führen Sie es aus - und überprüfen Sie den Status nach der Installation.
Konfigurieren des Nginx-Moduls Stub_status
Der Nginx-Amplify-Agent sammelt gleich nach der Installation Systemdaten. Um andere Metriken wie Nginx zu erhalten, muss stub_status konfiguriert werden. Erstellen Sie zunächst eine Konfigurationsdatei. Fügen Sie dann die folgenden Zeilen in den http{...}-Kontext ein:
server {
listen 127.0.0.1:80;
server_name 127.0.0.1;
location /nginx_status {
stub_status on;
allow 127.0.0.1;
deny all;
}
Das war's. Schließen Sie nun diese Datei mit den hinzugefügten Änderungen und laden Sie sie neu.
Nginx-Protokollformate anpassen
Der Agent kann auch durch das Sammeln von Daten aus den Protokolldateien funktionieren. Das Standardformat enthält nur wenige Daten. Falls Sie aktuelle Informationen über die Leistung benötigen, empfiehlt es sich, ein benutzerdefiniertes Protokollformat zu erstellen.
Zunächst müssen Sie die Konfigurationsdatei öffnen. Fügen Sie oberhalb der include-Direktiven die benötigten Zeilen ein. Erstellen Sie dann ein benutzerdefiniertes Protokollformat, nennen Sie es APM, und tragen Sie die Informationen über upstream_header_time, request_time, upstream_connect_time und andere ein. Schließen Sie dann diese Datei mit den vorgenommenen Änderungen.
Um das Fehler- und Zugriffsprotokoll zu aktivieren, fügen Sie die folgenden 2 Zeilen in die Konfigurationsdatei des virtuellen Hosts im Kontext server {...} ein:
access_log /var/log/nginx/linuxbabe.com.access.log apm;
error_log /var/log/nginx/linuxbabe.com.error.log warn;
schließen Sie die Datei mit den vorgenommenen Änderungen. Jetzt sollte alles wie gewünscht funktionieren und Nginx Amplify hat alle benötigten Informationen in den Diagrammen.
Ihre IP aus den Nginx-Zugriffsprotokollen ausschließen
In einigen Fällen ist es möglich, die Glaubwürdigkeit der Nginx-Daten durch Ihre persönliche Aktivität zu ruinieren. Um solche Risiken auszuschließen, empfiehlt es sich, Ihre persönliche IP im Zugriffsprotokoll zu löschen.
Es ist notwendig, die folgenden Zeilen in den http-Kontext der Konfigurationsdatei einzufügen. Diese Nummer 23.56.32.23 sollte auf Ihre reale IP geändert werden.
map $remote_addr $log_ip {
"23.56.32.23 " 0;
default 1;
}
Der letzte Schritt besteht darin, access_log wie unten beschrieben zu ändern:
access_log /var/log/nginx/linuxbabe.com.access.log apm if=$log_ip;
Überwachung Ihrer MariaDB/MySQL-Datenbank
Erstellen Sie zunächst einen Benutzer in MySQL oder MariaDB und melden Sie sich bei diesem an. Anschließend müssen Sie einen neuen Benutzer für Nginx Amplify anlegen und das Passwort ändern.
Der nächste Schritt ist, den Server zu beenden und das MySQL-Plugin in der Konfigurationsdatei von Amplify zu aktivieren. Wählen Sie True und das Plugin wird aktiviert.
Danach suchen Sie in [mysql] die Zeile, die den Wert von unix_socket und password anzeigt, und ändern diese Werte. Das Passwort sollte auf denselben Wert wie im Amplify-Agenten geändert werden und unix_socket sollte den folgenden Wert haben:
/var/lib/mysql/mysql.sock
Schließen Sie die Datei, und innerhalb weniger Minuten wird der Agent mit der Datenerfassung beginnen.
Überwachung der PHP-FPM-Leistung
Standardmäßig ist das PHP-FPM-Plugin aktiviert. Für die Datenerfassung sollte jedoch auch der Status dieses Plugins aktiviert sein. Beginnen Sie mit dem Öffnen der Pool-Konfigurationsdatei. Suchen Sie dann die unten genannte Zeile und löschen Sie das Semikolon:
;pm.status_path = /status
Erkunden der Amplify-Übersicht
Die Übersicht enthält die wichtigsten Merkmale wie Gesamtanforderungen, CPU-Nutzung, 5xx-Fehler, Datenverkehr, Anforderungszeit und App-Zustandsbewertung. Außerdem können Sie einen Zeitrahmen wählen, es gibt die folgenden Optionen - 1h, 4h, 1d, 2d und 1w. Die Bewertung des Gesundheitszustands ist vollständig mit der Anzahl der Fehler korreliert. Wenn es keine gibt, erhalten Sie höchstwahrscheinlich 100 Prozent.
Visualisierung von Daten mit Diagrammen
Im Abschnitt Diagramme sind die Daten in die Kategorien System, Nginx, MariaDB/MySQL und PHP-FPM unterteilt. Wenn Sie auf jede Kategorie klicken, erhalten Sie in jedem Abschnitt mehrere Diagramme. Nginx liefert beispielsweise Informationen über Anfragen, Verbindungen, aktuelle Anfragen und aktuelle Verbindungen. Außerdem können die Informationen nach Stunden, Tagen und Wochen sortiert werden.
Nginx Amplify Dashboards navigieren
Dashboards helfen bei der Erstellung von anpassbaren Diagrammen und Graphen und zeigen diese nach Bedarf auf einer Seite an. Die Diagramme, die angezeigt werden, werden individuell ausgewählt, so dass die Benutzer absolut alles hinzufügen können, was sie möchten. So ist es zum Beispiel möglich, alle Daten zu einer bestimmten URL anzuzeigen oder alle Leistungsmerkmale zur besseren Visualisierung darzustellen.
Es ist wirklich praktisch, wenn man eine bestimmte Visualisierung auf einer einzigen Seite erhalten möchte, ohne ständig nach bestimmten Informationen suchen zu müssen.
Vertiefende Analyse mit dem Amplify Analyzer
In der Kategorie "Analyzer" gibt es Abschnitte wie virtuelle Server, Build und statistische Analysen. Der letztgenannte Abschnitt ist wirklich hilfreich. Nginx Amplify kann auf der Grundlage der Konfigurationsdatei Empfehlungen aussprechen. Diese Ratschläge können sich auf die Zuverlässigkeit, die Leistung und die Sicherheit beziehen. Wenn Sie auf den Abschnitt der statischen Analyse klicken, können Sie die Fehler sehen und die Konfiguration erheblich verbessern.
Wenn Sie einige Anpassungen vorgenommen haben, müssen Sie warten, bis sie umgesetzt werden und die Benachrichtigung verschwindet.
Einrichten von Warnungen in Amplify
Falls der Agent nicht mehr funktioniert, erhalten die Benutzer diese Benachrichtigung automatisch per E-Mail. Dies ist eine Standardfunktion. Für andere zusätzliche Benachrichtigungen sollten Sie auf eine spezielle Seite gehen und alles Notwendige einrichten. So können die Benutzer beispielsweise festlegen, dass sie benachrichtigt werden, wenn die Reaktionszeit des Agenten mehr als 1 Sekunde beträgt und 3 Minuten andauert. Außerdem können die Benutzer wählen, ob sie E-Mails erhalten möchten, wenn die Betriebszeit in den letzten 3 Minuten weniger als 120 Sekunden beträgt.
Wie Sie sehen, handelt es sich um ein äußerst wichtiges Instrument, das Sie sofort darauf hinweisen kann, wenn etwas nicht wie gewünscht funktioniert.
Fehlerbehebung bei Problemen mit dem Amplify Agent
Es kann Situationen geben, in denen der Agent ohne ersichtlichen Grund aufhört, Informationen über die Leistung zu senden. In diesem Fall ist es sinnvoll, einen Cron-Auftrag zu erstellen, um den Agenten neu zu starten und dieses Problem zu lösen.
Die folgende Zeile sollte in die crontab-Datei eingefügt werden:
@daily systemctl restart amplify-agent
Das bedeutet, dass der Agent einmal am Tag neu gestartet wird und nach Hinzufügen dieser Zeile die Datei geschlossen wird.
Schlussfolgerung
Jetzt haben Sie eine vollständige Anleitung zur Installation von Nginx Amplify und zur Überwachung der Leistung der LEMP-Anwendung. Es gibt ein paar zusätzliche Empfehlungen zur Erstellung eines benutzerdefinierten Nginx-Protokollformats, zur Überwachung von Serverdatenbanken, zur Aktivierung von PHP-FPM und vieles mehr. Zusätzlich zur Datenüberwachung können alle gesammelten Informationen einfach in Form von Diagrammen und allgemeinen Dashboards strukturiert werden. So können alle Benutzer die benötigten Informationen auf die einfachste und bequemste Weise erhalten. Nginx Amplify ist ein großartiges Werkzeug für die Analyse und Sammlung von Informationen, und was mehr ist - es ist wirklich einfach und flexibel.