Es gibt viele nützliche Tools, mit denen Sie die Serverlast überwachen können, von Linux-Dienstprogrammen bis hin zu spezialisierten Diensten.
Einfache Linux-Dienstprogramme zeigen den aktuellen Speicherverbrauch für jeden Prozess, die CPU-Auslastung, den freien Speicherplatz und die Verkehrsstatistik an.
Darüber hinaus gibt es kostenpflichtige und kostenlose Dienste, die den Status Ihres Servers rund um die Uhr überwachen, Fehler im Betrieb oder in der Netzwerkverfügbarkeit registrieren und die Leistung von Anwendungen überprüfen.
Inhalt
Linux-Dienstprogramme
Ressourcennutzung
oben
Eines der am häufigsten verwendeten Tools zur Überprüfung der Ressourcennutzung durch Prozesse. Das Dienstprogramm
toperstellt eine einfache Tabelle mit dem aktuellen Ressourcenverbrauch, in der die Prozesse mit der höchsten Auslastung oben angegeben sind.
top - 14:45:52 up 29 min, 1 user, load average: 0.10, 0.09, 0.06
Tasks: 56 total, 1 running, 55 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.0%us, 0.3%sy, 0.0%ni, 99.7%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1019600k total, 393756k used, 625844k free, 11136k buffers
Swap: 0k total, 0k used, 0k free, 316748k cached
PID %MEM VIRT SWAP RES CODE DATA SHR nFLT nDRT S PR NI %CPU COMMAND
832 1.3 32364 18m 12m 896 11m 1688 1 0 S 20 0 0.0 bash
820 0.4 89456 83m 4008 488 948 3040 12 0 S 20 0 0.0 sshd
812 0.3 49948 46m 2828 488 616 2216 0 0 S 20 0 0.0 sshd
1 0.2 24192 21m 2108 152 868 1300 23 0 S 20 0 0.0 init
400 0.1 243m 242m 1420 344 216m 1084 0 0 S 20 0 0.0 rsyslogd
Einige allgemeine Statistiken werden unmittelbar vor der Tabelle bereitgestellt, einschließlich der durchschnittlichen CPU-Auslastung in der letzten Minute, 5 Minuten und 15 Minuten. Außerdem werden der Speicherverbrauch, der Verbrauch von Auslagerungsdateien und der Prozessstatus angezeigt.
Die Liste wird in Echtzeit aktualisiert: Sie können sie auf einem zweiten Monitor anzeigen und ständig ansehen.
htop
Obwohl das Dienstprogramm
topmit fast jeder Distribution geliefert wird, steht in den meisten Repositorys auch eine verbesserte Version zum Download zur Verfügung htop.
Installation
htopunter Ubuntu:
apt-get install htop
Hier sehen wir fast die gleiche Ausgabe, aber mit unterschiedlichen Farben und interaktiverer Ausgabe:
CPU[| 0.7%] Tasks: 21, 3 thr; 1 running
Mem[||||||||||||| 64/995MB] Load average: 0.00 0.02 0.05
Swp[ 0/0MB] Uptime: 00:37:37
PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command
2752 root 20 0 25660 1876 1364 R 0.0 0.2 0:00.06 htop
1 root 20 0 24192 2108 1300 S 0.0 0.2 0:00.55 /sbin/init
312 root 20 0 17224 640 444 S 0.0 0.1 0:00.04 upstart-udev-brid
314 root 20 0 21592 1360 760 S 0.0 0.1 0:00.04 /sbin/udevd --dae
394 messagebu 20 0 23808 688 436 S 0.0 0.1 0:00.01 dbus-daemon --sys
401 syslog 20 0 243M 1420 1084 S 0.0 0.1 0:00.07 rsyslogd -c5
402 syslog 20 0 243M 1420 1084 S 0.0 0.1 0:00.00 rsyslogd -c5
Der obere Teil ist hier klarer und besser organisiert.
Hier sind einige Schlüssel zur besseren Verwendung
htop:
- M : Prozesse nach Speichernutzung sortieren
- P : Prozesse nach CPU-Auslastung sortieren
- ? : Referenz
- k : Aktuelle / markierte Prozesse beenden
- F2 : Einstellung (hier können Sie die anzuzeigenden Optionen auswählen)
- / : Suche nach Prozessen
Eine Reihe weiterer Optionen sind in der Hilfe und in den Einstellungen aufgeführt. Es lohnt sich, das Studium des Programms in diesen beiden Abschnitten zu beginnen.
Netzwerktraffic
Nethogs
nethogsIst das einfachste Dienstprogramm, um zu sehen, wie viel Verkehr auf jedem Dienst ist. Unter Ubuntu wird das Dienstprogramm mit dem folgenden Befehl installiert:
apt-get install nethogs
Dann kann es ohne Schlüssel gestartet werden. Das Problem ist einfach:
PID USER PROGRAM DEV SENT RECEIVED
3379 root /usr/sbin/sshd eth0 0.485 0.182 KB/sec
820 root sshd: root@pts/0 eth0 0.427 0.052 KB/sec
? root unknown TCP 0.000 0.000 KB/sec
TOTAL 0.912 0.233 KB/sec
Es gibt nur wenige Optionen zum Ändern der Ausgabe:
- m : zwischen kb / s, kb, b, mb wechseln
- r : Sortieren nach empfangenem Verkehr.
- s : Sortieren nach gesendetem Verkehr
- q : Beenden
Dies ist zwar ein einfaches Dienstprogramm, aber es ist ideal, um schnell zu erkennen, welche Anwendungen Datenverkehr generieren.
IPTraf
IPTraf- eine weitere Möglichkeit zur Überwachung des Netzwerkverkehrs mit vielen Optionen. Installation unter Ubuntu:
apt-get install iptraf
Dieses Dienstprogramm bietet die Möglichkeit, eine der interaktiven Schnittstellen auszuwählen:
???????????????????????????????????
? IP traffic monitor ?
? General interface statistics ?
? Detailed interface statistics ?
? Statistical breakdowns... ?
? LAN station monitor ?
???????????????????????????????????
? Filters... ?
???????????????????????????????????
? Configure... ?
???????????????????????????????????
? Exit ?
???????????????????????????????????
Um beispielsweise den gesamten Netzwerkverkehr anzuzeigen, wählen Sie den ersten Menüpunkt:
? TCP Connections (Source Host:Port) ?????????? Packets ??? Bytes Flags Iface ?
??192.241.xxx.xxx:22 > 369 82420 -PA- eth0 ?
??72.43.xxx.xxx:49488 > 381 19860 --A- eth0 ?
? ?
? ?
Damit IP-Adressen in Domänen aufgelöst werden können, müssen Sie in der Konfiguration das Element "DNS-Suche umkehren" auswählen.
Neben der Anzeige des Datenverkehrs nach Ports gibt es eine Option zum Anzeigen des Datenverkehrs nach Dienst (Option 'TCP / UDP-Dienstnamen'). Wenn beide Optionen aktiviert sind, sieht die Ausgabe ungefähr so aus:
TCP Connections (Source Host:Port) ?????????? Packets ??? Bytes Flags Iface ?
??192.241.xxx.xxx:ssh > 151 34924 -PA- eth0 ?
??rrcs-72-43-xxx-xxx.nyc.biz.rr.co:49488 > 155 8108 --A- eth0 ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? ?
? TCP: 1 entries ???????????????????????????????????????????????? Active ??
????????????????????????????????????????????????????????????????????????????????
? UDP (72 bytes) from 192.241.xxx.xxx:43463 to 8.8.8.8:domain on eth0 ?
? UDP (66 bytes) from 192.241.xxx.xxx:53140 to 8.8.8.8:domain on eth0 ?
? UDP (135 bytes) from 8.8.8.8:domain to 192.241.xxx.xxx:41429 on eth0 ?
? UDP (119 bytes) from 8.8.8.8:domain to 192.241.xxx.xxx:43463 on eth0 ?
? UDP (110 bytes) from google-public-dns-a.googl:domain to 192.241.xxx.xxx:531 ?
Es gibt einige andere Schnittstellen, die Sie selbst lernen können.
netstat
Das Dienstprogramm
netstatist ein sehr flexibles und leistungsstarkes Tool zum Sammeln von Netzwerkinformationen.
Standardmäßig
netstatwird eine Liste der offenen Sockets angezeigt :
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 192.241.187.204:ssh ip223.hichina.com:50324 ESTABLISHED
tcp 0 0 192.241.187.204:ssh rrcs-72-43-115-18:50615 ESTABLISHED
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node Path
unix 5 [ ] DGRAM 6559 /dev/log
unix 3 [ ] STREAM CONNECTED 9386
unix 3 [ ] STREAM CONNECTED 9385
. . .
Wenn die Option Hinzufügen hinzugefügt wird
-a, wird eine Liste aller Ports angezeigt:
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 *:ssh *:* LISTEN
tcp 0 0 192.241.187.204:ssh rrcs-72-43-115-18:50615 ESTABLISHED
tcp6 0 0 [::]:ssh [::]:* LISTEN
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 6195 @/com/ubuntu/upstart
unix 2 [ ACC ] STREAM LISTENING 7762 /var/run/acpid.socket
unix 2 [ ACC ] STREAM LISTENING 6503 /var/run/dbus/system_bus_socket
. . .
Flags
-toder -uFilter für TCP- bzw. UDP-Verbindungen. Das Flag -szeigt Statistiken an. Um die Ausgabe ständig zu aktualisieren, müssen Sie den Befehl mit der Taste ausführen -c.
Festplattenplatz
df
Das Standarddienstprogramm zum Anzeigen von Informationen zu bereitgestellten Partitionen ist
df. Es zeigt eine Liste der angeschlossenen Geräte und Informationen zum belegten Speicherplatz an.
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda 31383196 1228936 28581396 5% /
udev 505152 4 505148 1% /dev
tmpfs 203920 204 203716 1% /run
none 5120 0 5120 0% /run/lock
none 509800 0 509800 0% /run/shm
Standardmäßig erfolgt die Ausgabe in Bytes, was nicht sehr praktisch ist. Der Parameter
-haktiviert die Ausgabe in Megabyte und Gigabyte:
Filesystem Size Used Avail Use% Mounted on
/dev/vda 30G 1.2G 28G 5% /
udev 494M 4.0K 494M 1% /dev
tmpfs 200M 204K 199M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 498M 0 498M 0% /run/shm
Fügen Sie die Option hinzu, um den gesamten Speicherplatz auf allen Datenträgern anzuzeigen
--total.
du
Mit dem Dienstprogramm erhalten
dfSie schnell einen allgemeinen Überblick. Für detailliertere Informationen ist ein Programm besser geeignet du, das das aktuelle Verzeichnis und alle Unterverzeichnisse analysiert. Die Standardausgabe sieht folgendermaßen aus:
4 ./.cache
8 ./.ssh
28 .
Auch hier wird eine besser lesbare Ausgabe mit einem Schlüssel aktiviert
-h.
Das Anzeigen der Größe von Dateien und Verzeichnissen wird durch das Flag
-a, die Gesamtsumme - durch die Flags -c(Details und Menge) und -s(nur Menge) aktiviert .
Verbesserte Versionen
Die verbesserten Versionen von df und ich genannt pydf und ncdu und auf Ubuntu mit der Installation
apt-get install pydfund Befehlen apt-get install ncdu. Sie organisieren schöne Ergebnisse in Pseudo-Grafiken mit Farben:
pydf -a
dev/vda 30G 1200M 27G 3.9 [........] /
udev 493M 4096B 493M 0.0 [........] /dev
devpts 0 0 0 - [........] /dev/pts
proc 0 0 0 - [........] /proc
tmpfs 199M 204k 199M 0.1 [........] /run
none 5120k 0 5120k 0.0 [........] /run/lock
none 498M 0 498M 0.0 [........] /run/shm
. . .
ncdu
--- /root ----------------------------------------------------------------------
8.0KiB [##########] /.ssh
4.0KiB [##### ] /.cache
4.0KiB [##### ] .bashrc
4.0KiB [##### ] .profile
4.0KiB [##### ] .bash_history
Hier können Sie mit den Pfeiltasten im Dateisystem navigieren.
Speichernutzung
frei
Der einfachste Weg, um die aktuelle RAM-Nutzung anzuzeigen, ist mit dem Befehl
free. Die Ausgabe ohne Optionen sieht folgendermaßen aus:
total used free shared buffers cached
Mem: 12286456 11715372 571084 0 81912 6545228
-/+ buffers/cache: 5088232 7198224
Swap: 24571408 54528 24516880
Das Starten mit einem Schlüssel
-merzeugt eine Ausgabe in Megabyte.
Die mittlere Zeile
-/+ buffers/cachezeigt die Menge des verwendeten Speichers abzüglich der Summe der Puffer / Cache und der Menge des freien Speichers plus der Summe der Puffer / Cache.
Tatsache ist, dass Linux wie die meisten modernen Betriebssysteme versucht, die maximale Menge an verfügbarem RAM für Puffer und Cache zu verwenden. Daher ist die zweite Zeile wichtig, die die tatsächliche Menge an potenziell verfügbarem RAM für Anwendungen anzeigt, wenn wir die Puffer und den Cache ignorieren. Dieser Speicherplatz wird bei Bedarf für Anwendungen automatisch freigegeben.
vmstat
Der Befehl
vmstatzeigt verschiedene Informationen zum System an, einschließlich Speicher, Auslagerungsdatei, E / A-Vorgänge und CPU-Auslastung.
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
1 0 2828 407616 335348 5511476 0 0 26 268 41 27 28 30 42 0 0
Die erste Spalte
rzeigt die Anzahl der aktiven Prozesse, die zweite die Anzahl der Prozesse in einem unterbrechungsfreien Wartezustand.
Spalten
siund sozeigen die Speichermenge an, die aus der Auslagerungsdatei gelesen bzw. in diese geschrieben wird.
Das Folgende zeigt die Anzahl der empfangenen oder an das Block-E / A-Gerät (bi, bo) gesendeten Blöcke, die Anzahl der Interrupts pro Sekunde einschließlich Timer (in), die Anzahl der Kontextwechsel pro Sekunde (cs) und die CPU-Statistik: Prozentsatz der Verarbeitungszeit Code im Benutzerbereich (us), zur Verarbeitung des Kernel-Codes (sy), im Ruhezustand (id) und zum Warten auf E / A (wa) sowie Zeit, die von der virtuellen Maschine (st) "gestohlen" wurde, dh wenn die virtuelle CPU Wartet, bis die reale CPU reagiert, wenn der Hypervisor einen anderen virtuellen Prozessor wartet.
Das Flag
-S Maktiviert die Zustellung in Megabyte. Wenn Sie mit dieser Option arbeiten -s, werden allgemeine Statistiken angezeigt.
Überwachungsdienste
Wenn Sie den Serverstatus rund um die Uhr überwachen müssen (Speicher, CPU, freier Speicherplatz, Leistung, Antwortzeit usw.), können Sie einen kostenlosen oder kostenpflichtigen Überwachungsdienst verwenden. Es gibt viele solcher Dienste, hier ist eine kleine Liste in alphabetischer Reihenfolge:
- Anturis
- AppDynamics
- AppNeta
- Atera
- BigPanda
- CollectD
- Datadog
- eG Innovationen
- Ganglien
- Icinga (kostenlose Anpassung von Nagios Core)
- Instrumental
- LogicMonitor
- ManageEngine OpManager
- Monitis
- Motadata
- Nagios XI (die kostenlose Version heißt Nagios Core)
- Navicat Monitor
- NinjaRMM
- Op5 Monitor
- OpenNMS
- Pandora FMS
- Panopta
- PRTG-Netzwerkmonitor
- Seelöwe
- Serverdichte
- Site24x7
- SolarWinds Server und Anwendungsmonitor
- Spiceworks Network Monitor (kostenlos)
- Stapeln
- WhatsUpGold
- Zabbix (kostenloser Systemmonitor)
Einige Monitore eignen sich besser für kleine Unternehmen, während andere besser für große Unternehmen geeignet sind. Einige sind auf die Überwachung von Cloud-Systemen spezialisiert. Es gibt Dienste, die nur auf Linux-Servern ausgeführt werden. Systeme unterscheiden sich in Skalierbarkeit, Funktionsumfang und Automatisierungsgrad. Mehrere Monitore sind Open Source verteilt.
Betrachten Sie beispielsweise drei relativ beliebte Überwachungsdienste.
SolarWinds Server und Anwendungsmonitor
Einer der fortschrittlichsten Servermonitore auf dem Markt ist SolarWinds Server and Application Monitor (SAM). Obwohl das Tool nur unter Windows Server 2016+ installiert wird, kann es jede Hardware verfolgen, einschließlich Linux-Server.
Der Monitor überwacht die Serverleistung, meldet Probleme und bietet einige Verwaltungsfunktionen: Er ermöglicht den Neustart des Servers, das Aufnehmen von Prozessen und das Neustarten von Diensten, dh er ist nicht nur ein Tool zur Überwachung, sondern auch zur Verwaltung.
Das Programm ist besser für große Unternehmen geeignet. Erklärte Kompatibilität mit Dell PowerEdge, HP ProLiant, IBM eServer xSeries, Dell PowerEdge Blade, HP BladeSystem, Microsoft Windows Server und VMware vSphere. SAM überwacht auch AWS- und Azure-Cloud-Instanzen.
Es werden Statistiken zu Antwortzeit, CPU-Auslastung, Speicher usw. angezeigt. Die Leistung einzelner Anwendungen wird überwacht: Die Unterstützung für mehr als 1200 verschiedene Anwendungen ist integriert. Der Hardwarestatus wird ebenfalls überprüft: CPU-Auslastung, Festplattenlast, Stromversorgung, Lüfterstatus usw. Die Status sind von grün bis rot farbcodiert, um den Zustand des Systems auf einen Blick beurteilen zu können.
Der Monitor erkennt automatisch neue Hardware und Software in Ihrem Cluster und fügt sie sofort dem Dashboard hinzu. Dies ist eine der Hauptfunktionen von SAM sowie von der maximalen Automatisierung vorbereitete Vorlagen zur Automatisierung regelmäßiger Überwachungs- und Wartungsaufgaben, Vorlagen für Berichte und Benachrichtigungen.
Normalerweise haben solche Dienste eine kostenlose Testphase, und die Kosten können von den verwendeten Funktionen abhängen. Hier gibt es auch eine Testphase, und die Kosten für SolarWinds Server und Application Monitor beginnen bei 1275 Euro bei minimaler Funktionalität.
Navicat Monitor
Ein weiteres Beispiel ist Navicat Monitor , das auf Datenbanküberwachung spezialisiert ist. Es unterstützt MySQL, MariaDB, SQL Server sowie Cloud-basierte DBMS wie Amazon RDS, Amazon Aurora, Oracle Cloud, Google Cloud und Microsoft Azure.
Standardansicht
Kompakte Ansicht Der
Monitor verfolgt die Ausführungszeit bestimmter Abfragen, indem er sie in einem bestimmten Intervall ausführt.
Zusätzlich zu Abfragen an die Datenbank werden regelmäßig andere Abfragen an Server gesendet, um die Leistungsindikatoren des E / A-Systems, des Netzwerks usw. zu überwachen. Es werden Statistiken zur CPU-Auslastung, Speicherauslastung und anderen Standardmetriken gesammelt.
Die Navicat Monitor-Architektur bietet keine Softwareinstallation für Überwachungsobjekte
Der Mindestpreis für Navicat Monitor beträgt 32,99 USD pro Token und Monat (ein Token entspricht der Überwachung eines Servers oder von vier Azure-Basen). Es gibt eine voll funktionsfähige 14-Tage-Testversion.
Zabbix
Zabbix ist ein kostenloses Open Source-Tool, das den Zustand des Netzwerks, der Anwendungen und des Servers selbst überwacht. Mit vorgefertigten Vorlagen zur Überwachung gängiger Server und Betriebssysteme wie HP, IBM, Lenovo, Dell, Linux-Server, Ubuntu und Solaris. Im Laufe der Jahre hat die Zabbix-Community Vorlagen für verschiedene Szenarien vorbereitet.
Wichtige Zabbix-Module überwachen die CPU-Auslastung, die Speichernutzung, die E / A-Fehlerrate, den freien Speicherplatz, den Lüfterstatus, die Temperatur und die Eigenschaften des Stromversorgungssystems. Das Netzwerkmodul überprüft den Datenverkehr, die Netzwerkverfügbarkeit, die Paketverlustrate, die Qualität der TCP-Verbindungen und den Durchsatz der Router.
Zabbix führt eine Liste der installierten Software- und Firmware-Versionen, um nicht autorisierte Softwareinstallationen anzuzeigen.
Der Systemadministrator kann Benachrichtigungen in Zabbix für beliebige Bedingungen programmieren sowie die Bedeutung aktiver Benachrichtigungen ändern. In der Systemsteuerung können Sie Benutzer hinzufügen und jedem von ihnen bestimmte Arten von Benachrichtigungen senden. Mithilfe von Automatisierungsskripten können Sie Aufgaben automatisch starten und sie Mitarbeitern zuweisen.
Dank der Fernzugriffs- und Verwaltungsfunktion kann Zabbix als gutes Serververwaltungstool bezeichnet werden.
Der einzige Nachteil dieses Systems besteht darin, dass Zabbix aufgrund der großen Anzahl von Nachrichten und Verschlüsselungsverfahren langsam auf Befehle reagiert, wenn Sie etwa 1000 Server oder mehr zur Überwachung hinzugefügt haben. Daher ist dieses Tool für sehr große Unternehmen nicht sehr geeignet.
Serverüberwachungssysteme unterscheiden sich in ihrer Funktionalität ... Nicht jeder kann den Zustand einzelner Anwendungen, die Serverleistung und die Antwortzeiten überwachen. Diese Mängel können jedoch mit zusätzlichen Tools behoben werden: z. B. Analyse- und Protokollüberwachungssysteme.
Ein zuverlässiger Server zur Miete und die richtige Wahl eines Tarifplans lassen Sie weniger von unangenehmen Überwachungsbenachrichtigungen abgelenkt werden - alles funktioniert reibungslos und mit einer sehr hohen Betriebszeit!
