Wenn wir feststellen, dass unser VPS-Server abnormal ist, können wir ihn im Allgemeinen anhand der Serverprotokolle analysieren, um festzustellen, ob es eine IP-Quelle gibt, die sich nicht an die „Regeln“ hält. Beispielsweise können wir Serverprotokoll-Analysetools verwenden: ngxtop und GoAccess, um die IP-Quelle, die Anzahl der Verbindungen, Fehleranfragen, Browser, die Verkehrsbandbreite usw. in den statistischen Protokollen zu analysieren.
Gleichzeitig können bei einigen komplexen Website-Anwendungen die Ursachen von Anomalien auch anhand des Netzwerkverkehrs des Servers analysiert werden. In diesem Artikel werden zwei sehr praktische Tools zur Überwachung des Servernetzwerkverkehrs vorgestellt: ntopng und Munin. ntopng ist eine neue Generation von NTOP. Die ursprüngliche offizielle Version von NTOP wird nicht mehr aktualisiert. Das neue ntopng ist sehr leistungsfähig bei der Überwachung der Netzwerkdatenübertragung und der Fehlerbehebung.
Ntopng analysiert den Netzwerkverkehr, um verschiedene Probleme im Netzwerk zu ermitteln. Wenn das Netzwerk plötzlich langsamer wird, kann anhand der von Ntop abgefangenen Datenpakete festgestellt werden, welche Art von Datenpaketen einen großen Platz einnehmen Menge der Bandbreite, sowie die Sendezeit des Datenpakets, die Verzögerung der Datenpaketübertragung, die Quelladresse des Datenpakets usw.
Ein weiteres hervorragendes Serverüberwachungstool, Munin, ist ein großartiges Systemüberwachungstool, das dem RRD-Tool ähnelt. Es kann Ihnen verschiedene Informationen zur Systemleistung liefern, z. B. zu Festplatte, Netzwerk, Prozess, System und Benutzern. Diese Informationen können HTML-Webseiten generieren , sodass Sie verschiedene Überwachungsdaten direkt über die Webseiten durchsuchen können. Munin unterstützt auch die Überwachung im Master-Slave-Modus.
Als Basis-Webmaster ist es sehr nützlich, bestimmte Webmaster-Tools zu beherrschen, insbesondere wenn Ihr Server einem „Angriff“ ausgesetzt ist, können diese „scharfen Tools“ seine Verteidigungsfähigkeiten einsetzen.
- Tools zur Serverprotokollanalyse: ngxtop und GoAccess – Echtzeitüberwachung und visuelle Verwaltung, um die Ursache von Ausnahmen schnell zu finden
- Smokeping-Installation und -Konfiguration – kostenloses Open-Source-Tool zur visuellen Master/Slave-Bereitstellung zur Überwachung der Netzwerkleistung
- Drei Befehlstools: Rsync, SCP und Tar – schnelle Lösung für die VPS-Remote-Website-Verlagerung und Datensynchronisierung
1. Installation und Verwendung von ntopng
1.1 Vorbereitung vor der Installation
Offizielle Website:
- HTTP://wuwuwu.yeartop.org/
Nehmen Sie Ubuntu 16.04 als Demonstration und führen Sie ein Upgrade durch, bevor Sie mit der Installation beginnen:
sudo apt-get update -y
sudo apt-get upgrade -y
sudo shutdown -r now
1.2 Ntopng installieren
Verwenden Sie einfach den Befehl, um es direkt zu installieren:
sudo apt-get install ntopng
1.3 Konfigurieren Sie Ntopng
Die Konfigurationsdatei befindet sich unter: /etc/ntopng.conf
.
sudo vim /etc/ntopng.conf
Ändern Sie die Konfiguration entsprechend Ihren eigenen Bedürfnissen:
# DO NOT REMOVE the following option, required for daemonization.
-e=
# * Interfaces to sniff on: one interface per line, prefix with -i=
# If none is specified, ntopng will try to auto-detect the best interface.
-i=eth0
# * Port on which ntopng will listen for the web-UI.
-w=3000
Speichern Sie die Konfigurationsdatei und starten Sie ntopng
neu:
sudo systemctl restart ntopng
ntopng
bietet auch viele Optionen. Sie können ntopng -h
verwenden, um Folgendes anzuzeigen:
sudo ntopng -h
1.4 Offener Port
Sie müssen den entsprechenden Port in der VPS-Firewall öffnen. Wenn oben beispielsweise 3000 verwendet wird, müssen Sie Folgendes zu den Firewall-Regeln hinzufügen:
sudo ufw allow 3000
1.5 Ntopng-Nutzung
Öffnen Sie Ihren Browser, greifen Sie auf die IP- und Portnummer zu und Sie sehen die Ntopng-Anmeldeschnittstelle. Verwenden Sie zum Anmelden den Standardbenutzernamen admin
und das Passwort admin
.
Ntopng bietet sehr schöne Netzwerkverkehrsdiagramme.
Klicken Sie hier, um die Analyse der Verbindungsdaten in Echtzeit anzuzeigen, einschließlich IP-Adresse, Upload- und Download-Geschwindigkeit, Protokoll, Prozess usw.
Ntopng verfügt außerdem über eine Fülle von Diagrammen zur Auswahl, z. B. Diagramme zur Verkehrsanalyse, aufgelistet nach IP-Adresse, Netzwerkverbindungs-Client, Betriebssystem, Mac-Adresse usw.
Wenn Sie an einer bestimmten Verbindung interessiert sind, können Sie auf klicken, um die Seite „Details anzeigen“ aufzurufen, auf der Ntopng detaillierte Informationen zum aktuellen IP-Verbindungsserver anzeigt, z. B. Zeit, Protokoll, Upload, Download, Mac usw. (Klicken um zu vergrößern)
Ntopng verfügt auch über einige allgemeine statistische Zusammenfassungen, beispielsweise Statistiken zur Portbelegung.
Es gibt auch eine Zusammenfassung der Anwendungsstatistiken.
Es bietet außerdem Statistiken und eine Zusammenfassung des Netzwerkkartenverkehrs auf Zeitbasis, die von 5 Minuten bis zu einem Jahr reicht, einschließlich Echtzeit-Verkehrsstatistiken. Sie müssen nur auf die Zeitleiste klicken, die Sie anzeigen möchten. (Klicken um zu vergrößern)
2. Installation und Nutzung von Munin
Offizielle Website:
- HTTP://木你-monitoring.org/
2.1 Munin schnell installieren
Wenn Ihr Server mit einer Webumgebung konfiguriert wurde, müssen Sie Munin nur installieren, wenn es sich um ein Debian- oder Ubuntu-System handelt: apt-get install munin munin-node
, wenn es sich um ein Redhat- oder CentOS-System handelt : yum install munin munin-node
.
Öffnen Sie dann die Hauptkonfigurationsdatei von Munin: /etc/munin/munin.conf. /var/www/munin ist der Pfad für den Webzugriff. Sie können diese Pfade zu einem Ort angeben, an dem der Webzugriff direkt verwendet werden kann.
Nachdem Sie das Webzugriffsverzeichnis angegeben haben, müssen Sie die Verzeichnisberechtigungen auf Munin festlegen, da Munin sonst keine Daten schreiben kann. Befehl: chown -R munin:munin /home/wwwroot/monin
Warten Sie abschließend eine halbe Stunde, öffnen Sie Ihre Website und Sie können die Überwachungsdiagrammdaten von Munin sehen.
2.2 Munin manuell installieren
Wenn Sie keine Webumgebung wie LNMP und Oneinstack installiert haben, können Sie Apache und Munin manuell installieren. Hier verwenden wir CentOS und Fedora als Demonstrationen:
2.3 EPEL-Repository installieren
Installieren Sie mit dem folgenden Befehl:
RHEL/CentOS 7
------------------ RHEL/CentOS 7 - 64-Bit ------------------ # wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm # rpm -ivh epel-release-7-9.noarch.rpm
RHEL/CentOS 6
------------------ RHEL/CentOS 6 - 32-Bit ------------------ # wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm # rpm -ivh epel-release-6-8.noarch.rpm ------------------ RHEL/CentOS 6 - 64-Bit ------------------ # wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -ivh epel-release-6-8.noarch.rpm
RHEL/CentOS 5
------------------ RHEL/CentOS 5 - 32-Bit ------------------ # wget http://download.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm # rpm -ivh epel-release-5-4.noarch.rpm ------------------ RHEL/CentOS 5 - 64-Bit ------------------ # wget http://download.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm # rpm -ivh epel-release-5-4.noarch.rpm
Aktualisieren Sie es nach der Installation:
------------------ On RHEL and CentOS Only ------------------ # yum -y update
2.4 Apache installieren
Munin benötigt Apache oder Nginx, um statischen HTML-Zugriff bereitzustellen. Lassen Sie uns Apache als Beispiel installieren:
------------------ On RHEL, CentOS and Fedora ------------------ # yum install httpd ------------------ On Fedora 22+ Releases ------------------ # dnf install httpd
Nachdem Apache installiert wurde, stellen Sie es so ein, dass es beim Booten automatisch startet.
------------------ On RHEL, CentOS and Fedora ------------------ # service httpd start # chkconfig --level 35 httpd on ------------------ On RHEL/CentOS 7 and Fedora 22+ ------------------ # systemctl enable httpd # systemctl start httpd
2.5 Munin und Munin-Node installieren
Installieren Sie Munin und Munin-Node direkt mit den folgenden Befehlen:
------------------ On RHEL, CentOS and Fedora ------------------ # yum -y install munin munin-node ------------------ On Fedora 22+ Releases ------------------ # dnf -y install munin munin-node
Nachdem Munin installiert ist, können Sie mit der Bearbeitung der Munin-Konfigurationsdatei beginnen. Im Folgenden finden Sie das Verzeichnis der Munin-bezogenen Funktionen:
/etc/munin/munin.conf: Munin-Konfigurationsdatei.
/etc/cron.d/munin: Munin-Timing-Datei.
/etc/httpd/conf.d/munin.conf: Munin Apache-Konfigurationsdatei.
/var/log/munin: Munin-Protokoll.
/var/www/html/munin: Munin-Webverzeichnis.
/etc/munin/munin-node.conf: Munin-Slave-Knoten-Konfigurationsdatei.
/etc/munin/plugins.conf: Konfigurationsdatei für Munin-Plugins.
Starten Sie abschließend Munin neu und stellen Sie es so ein, dass es beim Booten automatisch startet:
------------------ On RHEL, CentOS and Fedora ------------------ # service munin-node start # chkconfig --level 35 munin-node on ------------------ On RHEL/CentOS 7 and Fedora 22+ ------------------ # systemctl enable munin-node # systemctl start munin-node
Öffnen Sie den Browser und Sie können das von Munin überwachte Datendiagramm sehen.
2.6 Munin überwacht den Status mehrerer Server
Geben Sie Ihren anderen VPS-Host ein, Sie müssen nur munin-node
installieren:
# yum install munin-node # dnf install munin-node [On Fedora 22+ versions] # apt-get install munin-node [On Debian based systems]
Öffnen Sie dann /etc/munin/munin-node.conf
und fügen Sie die IP Ihres Munin-Hostservers hinzu.
# vi /etc/munin/munin-node.conf
Gehen Sie davon aus, dass die IP Ihres Munin-Hauptservers 192.168.0.103 lautet und das Format wie folgt lautet:
# A list of addresses that are allowed to connect. allow ^127.0.0.1$ allow ^::1$ allow ^192.168.0.103$
Munin-Client neu starten:
------------------ On RHEL, CentOS and Fedora ------------------ # service munin-node start # chkconfig --level 35 munin-node on ------------------ On RHEL/CentOS 7 and Fedora 22+ ------------------ # systemctl enable munin-node # systemctl start munin-node
Öffnen Sie nun auf Ihrem Munin-Hauptserver: /etc/munin/munin.conf
Fügen Sie Ihren Client-Knoten hinzu, hauptsächlich den Namen und die IP-Adresse:
# a simple host tree [munin.wzfou.com] address 127.0.0.1 use_node_name yes [node.wzfou.com] address 192.168.0.15 use_node_name yes
Starten Sie abschließend den Munin-Server neu und öffnen Sie http://munin.wzfou.com/munin
, um das Überwachungsdatendiagramm der Master- und Slave-Knoten anzuzeigen.
3. Zusammenfassung
Ntopng und Munin sind beide sehr gute Netzwerküberwachungstools, aber jedes Tool hat seinen eigenen Schwerpunkt auf der Überwachung des Netzwerkverkehrs auf professionellem Niveau . Verbinden Sie verschiedene Informationen vom Client, was für die Analyse von Netzwerkangriffen sehr nützlich ist.
Man kann sagen, dass Munin eine umfassende Plattform zur Überwachung der Serverleistung ist. Zusätzlich zum Abrufen von Informationen wie Netzwerkverkehr können Sie auch verschiedene Informationen wie Festplattenkapazität, E/A-Lesen und -Schreiben, CPU-Auslastung, Speichernutzung usw. anzeigen besser geeignet für den Allround-Einsatz von Servermonitoren. Wenn Sie die von Munin generierten Datendiagramme nicht öffentlich machen möchten, können Sie mit Apache ein Zugangspasswort festlegen.