So überwachen Sie Docker -Container mit Zabbix -Überwachungstool

So überwachen Sie Docker -Container mit Zabbix -Überwachungstool

Docker ist wohl eine der am meisten geschätzten DevOps Tools, die die Entwicklung, Bereitstellung und Versand von Anwendungen in Containern optimieren.

Das Konzept der Containerisierung beinhaltet die Nutzung von Containerbildern. Dies sind kleine, leichte und eigenständige ausführbare Pakete, die alles enthalten, was für die Ausführung einer Anwendung einschließlich des Quellcode, Bibliotheken und Abhängigkeiten sowie Konfigurationsdateien erforderlich ist.

Auf diese Weise kann die Anwendung in fast jeder Computerumgebung ausgeführt werden. traditionelle IT -Infrastruktur, Cloud und eine Vielzahl von Linux / Unix -Aromen.

Die Überwachung von Containern hilft den Betriebsteams, zugrunde liegende Probleme zu identifizieren und sie rechtzeitig zu lösen. Die Containerüberwachung umfasst die Erfassung grundlegender Metriken wie CPU -Verwendung, Speicherauslastung, Containergröße und Bandbreitenauslastung, um nur einige zu erwähnen. Darüber hinaus können Sie Echtzeit-Protokolle sammeln, die beim Debuggen und Alarmieren des IT-Teams hilfreich sind, wenn Sie skalieren müssen.

Zabbix ist ein beliebtes IT -Infrastrukturüberwachungsinstrument, das fast jedes Element Ihrer Umgebung im Auge behält, einschließlich physischer Geräte wie Server und Netzwerkgeräten wie Router und Schalter. Es kann auch Anwendungen, Dienste und Datenbanken überwachen.

In diesem Handbuch zeigen wir Ihnen, wie Sie überwachen können Docker Behälter mit dem Zabbix Überwachungsinstrument unter Linux.

Anforderungen

Hier ist, was Sie brauchen, bevor Sie anfangen:

Stellen Sie zunächst sicher, dass Sie zwei Knoten haben - der erste Knoten ist der Zabbix -Server. Dies ist der Knoten, von dem wir die Fernbedienung überwachen werden Docker Server. Wir haben einen Artikel über:

  • So installieren Sie Zabbix auf Rocky Linux und Almalinux
  • So installieren Sie das ZABBIX -Überwachungstool auf Debian 11/10
  • So installieren Sie Zabbix auf RHEL 8
  • So installieren Sie Zabbix auf Ubuntu

Der zweite Knoten ist der Docker Server auf welch Docker ist installiert. Dies ist der Knoten, aus dem wir Docker -Container ausführen und die Behälteraktivität überwachen werden.

  • So installieren Sie Docker unter Rocky Linux und Almalinux
  • So installieren und verwenden Sie Docker auf Ubuntu 20.04
  • So installieren Sie Docker in CentOS und RHEL 8/7

Stellen Sie als nächstes sicher, dass Sie SSH -Zugriff auf Ihre haben Docker Serverknoten mit einem bereits konfigurierten sudo -Benutzer.

Mit Ihrem Setup können Sie jetzt die Ärmel rollen!

Schritt 1: Installieren Sie Zabbix-Agent unter Linux

Zu überwachen Docker Container auf dem Remote -Server müssen Sie a installieren Zabbix Agent, Dies ist ein Überwachungsagent, der auf einem Zielknoten bereitgestellt wird, um Systemmetriken und andere Anwendungen aktiv zu überwachen.

Zuerst müssen Sie die installieren Zabbix Repository auf der Docker Knoten.

----------- Auf Ubuntu 20.04 ----------- $ sudo wget https: // repo.Zabbix.com/zabbix/5.4/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.4-1+Ubuntu20.04_all.Deb $ sudo dpkg -i zabbix -release_5.4-1+Ubuntu20.04_all.Deb $ sudo APT Update $ sudo APT Installieren Sie Zabbix-Agent2 ----------- Auf rhelbasierter Distribution ----------- $ sudo rpm -uvh https: // repo.Zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-release-5.4-1.EL8.Keinarch.RPM $ sudo dnf update $ sudo dnf install zabbix-Agent ----------- Auf Debian 11 ----------- $ sudo wget https: // repo.Zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1%2BDEBIAN11_ALL.Deb $ sudo dpkg -i zabbix -release_5.4-1%2BDEBIAN11_ALL.Deb $ sudo APT Update $ sudo APT Installieren Sie Zabbix-Agent2 ----------- Auf Debian 10 ----------- $ sudo wget https: // repo.Zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4-1%2BDEBIAN10_ALL.Deb $ sudo dpkg -i zabbix -release_5.4-1%2BDEBIAN10_ALL.Deb $ sudo APT Update $ sudo APT Installieren Sie Zabbix-Agent2 

Schritt 2: Konfigurieren Sie Zabbix-Agent unter Linux

Standardmäßig die Zabbix Agent wird eingestellt, um Metriken an die zu versenden Zabbix Server auf demselben Host ist installiert. Da es unser Ziel ist, zu überwachen Docker Container auf dem Remote -Server sind einige zusätzliche Konfigurationen erforderlich.

Daher zugreifen Zabbix Agentenkonfigurationsdatei.

$ sudo vim/etc/zabbix/zabbix_agent2.Conf 

Die Konfigurationsdatei enthält Einstellungen, die die Adresse angeben, an die die Metriken gesendet werden, der Port, der für Verbindungen verwendet wird, und vieles mehr. Zum größten Teil funktionieren die Standardeinstellungen einwandfrei.

So konfigurieren Sie die Zabbix Agent, um Metriken an die zu senden Zabbix Server, suchen Sie die Anweisung, die so konfiguriert ist.

Server = 127.0.0.1 

Legen Sie die Adresse fest, um die Adresse des Zabbix -Servers widerzuspiegeln

Server = Zabbix-Server-IP 

Zusätzlich navigieren Sie zum ''Aktive SchecksAbschnitt und ändern Sie die Anweisung, auf die IP -Adresse des Zabbix -Servers zu verweisen.

Serveractive = zabbix-server-ip 

Stellen Sie sicher, dass Sie auch den Hostnamen des Docker -Servers entsprechend anpassen. Der Hostname meines Docker -Servers ist Ubuntu20.

Hostname = Ubuntu20 

Speichern Sie dann die Änderungen und beenden Sie die Zabbix -Konfigurationsdatei.

Damit der Zabbix -Agent Docker -Container im Auge behält, müssen Sie den standardmäßigen Zabbix -Benutzer zur Docker -Gruppe hinzufügen.

$ sudo usermod -ag docker zabbix 

So starten Sie den Zabbix-Agent-Dienst neu, um die Änderungen an die Konfigurationsdatei anzuwenden, und ermöglichen Sie den Start des Systemstarts.

$ sudo systemctl restart zabbix-Agent2 $ sudo systemCTL aktivieren Zabbix-Agent2 

Bestätigen Sie den laufenden Status des Zabbix -Agenten wie folgt.

$ sudo systemctl Status zabbix-Agent2 
Überprüfen Sie den ZABBIX -Agentenstatus

Zabbix Agent hört auf Port zu 10050. Wenn Sie eine UFW -Firewall oder eine Firewalld laufen lassen, sollten Sie den Port wie folgt öffnen.

----------- Auf UFW Firewall ----------- $ sudo ufw erlauben 10050/tcp $ sudo ufw reload ----------- Auf Firewall ----------- $ sudo firewall-cmd --add-port = 10050/tcp --permanent $ sudo Firewall-cmd-Reload 

Großartig! Wir sind jetzt auf halber Strecke. Der Zabbix -Agent kann jetzt das versenden Docker Containermetriken zum Zabbix -Server.

Im nächsten Schritt werden wir das hinzufügen Docker Server zum Zabbix Webschnittstelle und Monitor Docker -Container.

Schritt 3: Fügen Sie den Docker zum Überwachen zum Zabbix -Server hinzu

Um einen Remote -Host zu überwachen, müssen Sie ihn dem hinzufügen Zabbix Das Dashboard des Servers über einen Browser. Zabbix bietet unzählige Vorlagen für verschiedene Dienste und Anwendungen. Wir werden die entsprechende Vorlage mit dem Docker -Host verknüpfen, um Container speziell zu überwachen. Greifen Sie jedoch zunächst auf die Anmeldeseite des ZABBIX -Servers zu.

http: // Zabbix-server-ip/zabbix 
Zabbix Login

Sobald Sie sich angemeldet haben, navigieren Sie zur rechten Seitenleiste und klicken Sie auf 'Aufbau' Dann 'Gastgeber''.

ZABBIX HOST -Konfiguration

Klicken Sie in der fernen oberen rechten Ecke auf 'Host erstellen''.

Zabbix erstellen Host

Füllen Sie die Details der Docker Server wie der Hostname & sichtbar Name. Geben Sie für Gruppen 'ein' ein 'Docker -Gruppen'(Jeder Host muss mit einer Gruppe in Verbindung gebracht werden).

Unter dem 'Schnittstellen'Etikett klicken auf'Hinzufügen"Und im Menü, das angezeigt wird, wählen Sie"Agent''.

Fügen Sie Host zu Zabbix -Überwachung hinzu

Füllen Sie als nächstes die private IP -Adresse des Docker -Servers aus und stellen Sie sicher, dass der Port auf festgelegt ist 10050.

Fügen Sie Docker Server zu Zabbix hinzu

Klicken Sie anschließend auf die Vorlagen Registerkarte und in ''Link neue Vorlagen'Abschnitt, angeben'Docker von Zabbix Agent 2''. Dann klicken Sie auf ''Hinzufügen' Taste.

Verknüpfen Sie die ZABBIX -Vorlage mit Docker

Wenn Sie auf die Schaltfläche Hinzufügen klicken, wird der Remote -Docker -Host wie angegeben automatisch hinzugefügt.

Zabbix Docker Überwachung

Zu diesem Zeitpunkt überwacht der Zabbix -Server jetzt Ihren Docker -Server. Im nächsten Schritt werden wir einen Container bereitstellen und überprüfen, welche Metriken überwacht werden können.

Schritt 4: Überwachung der Docker -Metriken bei der Zabbix -Überwachung

Mit der Überwachung beginnen Docker Metriken, wir werden einen Testbehälter starten. Gehen Sie also zurück zu Ihrem Docker Server und starten Sie einen Container.

In diesem Beispiel werden wir a ziehen Ubuntu Containerbild und erstellen Sie einen Container genannt docker_test_container. Wir erhalten dann mit dem Zugriff auf Shell -Zugriff -Es Möglichkeit. Der gesamte Befehl für die Operationen ist wie folgt.

$ sudo docer run -name docker_test_container -it ubuntu bash 
Erstellen Sie das Ubuntu -Containerbild in Docker

Sie können etwas Ehrgeiziges ausprobieren, z. B. die Installation von Softwarepaketen wie z. B Apache oder Mariadb Um einige Metriken wie CPU -Nutzung und Netzwerkverkehr zu generieren.

Jetzt kehren Sie zurück zum Zabbix Server Dashboard. Klicke auf 'Überwachung' Dann 'Gastgeber''. Klicken Sie auf den Namen Ihres Docker -Servers und wählen Sie in der angezeigten Menüoption ausNeueste Daten''.

Hosts der Zabbix -Überwachung

Nach einigen Minuten der Bereitstellung des Containers erkennt der Zabbix -Server den Container und beginnt einige Statistiken zu bevölkern.

Zabbix Monitoring Docker Host

Sie können auch die Grafiken der verschiedenen Containermetriken anzeigen, indem Sie auf die 'klickenGrafiken"Optionen des Docker -Servers auf der"Gastgeber' Buchseite. Im Folgenden finden Sie die Metriken für CPU- und Speicherverbrauch.

Zabbix Überwachung der Docker -Leistung

Um den Containerabsturz zu simulieren, beenden wir unerwartet aus dem Container, indem wir den folgenden Befehl in der Containerschale ausführen.

# Exit 2 

Dies impliziert, dass wir den Container mit einem Fehlercode von 2 beendet haben. Dies wird in den Metadaten des Containers aufgezeichnet. Um die Warnung anzuzeigen, navigieren Sie zur linken Seitenleiste und klicken Sie auf 'Überwachung' Dann 'Armaturenbrett''.

Die Warnung wird unten angezeigt.

Zabbix Docker Warnungen

Um den Fehler zu korrigieren, starten Sie einfach den Container erneut.

$ sudo docker starten docker_test_container 

Und das bringt uns zum Ende dieses Leitfadens. Wir haben Sie durch eine Schritt-für-Schritt-Prozedur darüber geführt, wie Sie überwachen können Docker Behälter mit dem Zabbix Überwachungsinstrument.