GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Überwachen Sie den Linux-Server mit Prometheus und Grafana

Übersicht

Überwachen Sie den Linux-Server mit Prometheus und Grafana. Wir werden den Prozess zum Überwachen von Linux-Servern mit Prometheus und Grafana mit Docker behandeln. Das gesamte Setup wird auf Debian 10 Buster und Docker installiert und konfiguriert, aber dies kann auch auf Ubuntu-Servern oder jeder anderen Linux-Distribution ausgeführt werden, auf der Docker ausgeführt wird. Mit diesem Setup können wir Ressourcen auf unserem Server (Host-Rechner) verfolgen und überwachen – CPU-Auslastung, RAM-Auslastung, SWAP, Netzwerk, Speicherplatz usw.

Kleine Aufmerksamkeit – Wir möchten eine weitere Überwachungslösung in der IT-Welt erwähnen, um Ihnen Optionen zu bieten, die Ihren Anforderungen entsprechen, die über Funktionen der Enterprise-Klasse verfügen und dennoch Open Source sind (falls Sie dies benötigen), und das ist Zabbix. Wir haben den Installationsprozess und die Einrichtung in diesem Beitrag behandelt.

Voraussetzungen

Dieses Setup erfordert, dass Docker auf Ihrem Computer installiert ist und ausgeführt wird. Sie können sich diesen Link ansehen, um Docker unter Debian zu installieren, oder sich die offizielle Docker-Dokumentation ansehen.

Eine andere Möglichkeit, Docker zu installieren, ist die Verwendung des offiziellen Docker-Autoinstallationsskripts, das auf Docker gehostet wird.

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

Wie man einen Linux-Server mit Prometheus und Grafana und Docker überwacht

Node Exporter installieren

1. Nachdem Sie Docker installiert und ausgeführt haben, besteht der erste Schritt des Setups darin, das Tool Node Exporter zu installieren. Node Exporter ist der Teil des Prometheus-Monitors und dient dazu, alle Daten von Ihrem Computer zu sammeln, damit Prometheus sie abrufen kann. Node Exporter wird auch in einem Docker-Container geliefert, sodass die Einrichtung unkompliziert ist.

docker run -d --net="host" --pid="host" -v "/:/host:ro,rslave" quay.io/prometheus/node-exporter:latest --path.rootfs=/host

Sie können leicht überprüfen, ob der Node Exporter ordnungsgemäß ausgeführt wird. Öffnen Sie im Browser die Node-Exporter-URL – http://your-server-ip-address:9100 und wenn Sie ein Verzeichnis mit Metriken mit Daten darin sehen, bedeutet dies, dass es funktioniert.

Eine andere Möglichkeit, es zu testen, ist mit dem Befehl:

curl localhost:9100/metrics

oder

curl http://your-server-ip-address:9100/metrics

Erstellen Sie eine Prometheus-YAML-Konfiguration

2. Jetzt müssen wir eine Promethes YAML-Konfigurationsdatei erstellen. Erstellen Sie diese Datei dort, wo Sie sie auf dem Server platzieren möchten, aber lassen Sie sie für den Post im Home-Verzeichnis platzieren.

Sie können diesen Schritt wie folgt ausführen:

sudo touch ~/prometheus/prometheus.yml
sudo nano ~/prometheus/prometheus.yml

oder gleich

sudo nano ~/prometheus/prometheus.yml

und fügen Sie dann die Konfiguration ein und speichern Sie die Datei und beenden Sie.

global:
scrape_interval: 5s
external_labels:
monitor: 'node'
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['192.168.100.252:9090']
- job_name: 'node-exporter'
static_configs:
- targets: ['192.168.100.252:9100']

Notieren Sie sich in der Targets-Variablen die IP-Adresse Ihres Servers.

Prometheus-Docker-Container bereitstellen

3. Der nächste Schritt ist die Installation von Prometheus, ebenfalls mit Docker. Führen Sie den nächsten Befehl aus und achten Sie bitte auf den Pfad zur Datei prometheus.yml:

docker run -d --name prometheus -p 9090:9090 -v ~/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

Wir werden den Befehl aufschlüsseln, um ihn genauer zu erklären:

  • docker run -d –name prometheus -p 9090:9090 – dieser Teil des Befehls sollte für viele verständlich sein – führen Sie ein Docker-Image aus, nennen Sie es prometheus und stellen Sie Containerport 9090 demselben Port auf dem Hostserver zur Verfügung.
  • -v ~/prometheus/prometheus/yml:/etc/prometheus/prometheus/yml – das ist der wichtigste Teil des Befehls bei der Installation von Prometheus. In diesem Teil des Befehls weisen wir Prometheus an, die Datei prometheus.yml zu verwenden, die wir im vorherigen Schritt erstellt haben und wo sie sich auf dem Hostserver befindet (in diesem Beispiel das Home-Verzeichnis), um sich selbst mit den Parametern zu konfigurieren, die wir haben set und dieselbe Konfigurationsdatei im /etc-Verzeichnis des Prometheus-Docker-Containers zu platzieren.
  • prom/prometheus – das ist eine Variable für Docker, welches Docker-Image von Docker heruntergeladen und installiert werden soll.

Sie können auch überprüfen, ob Prometheus über einen Webbrowser ausgeführt wird, indem Sie auch die IP-Adresse Ihres Servers mit Port 9090 öffnen.  Sie sollten ein Ergebnis wie in den folgenden Bildern erhalten:

Grafana-Docker-Container bereitstellen

4. Jetzt können wir Grafana installieren. Außerdem werden wir Grafana mit Docker-Container.

docker run -d --name=grafana -p 3456:3000 grafana/grafana

Greifen Sie in Ihrem Webbrowser auf Grafana zu. Sie werden aufgefordert, sich sofort anzumelden. Der Standardbenutzername und das Standardpasswort sind admin. Es ist eine temporäre Anmeldung. Sobald Sie sich anmelden, werden Sie von Grafana aufgefordert, das Passwort sofort zu ändern.

Erstellen Sie eine Datenquelle und ein Dashboard

Nach der Anmeldung müssen wir ein Monitor-Dashboard erstellen und eine neue Datenquelle erstellen, die Grafana verwenden wird. Also erstellen wir zuerst die Datenquelle. Klicken Sie direkt auf der Grafana-Startseite auf die Option „Ihre erste Datenquelle hinzufügen“.

Wählen Sie Prometheus als Datenquellenoption aus – dies ist sofort die erste verfügbare Option.

Benennen Sie die Datenquelle wie gewünscht. Geben Sie im URL-Eingabefeld die IP-Adresse Ihres Servers mit Prometheus-Port 9090 und HTTP ein. Wie im Bild unten.

Speichern und testen Sie die Datenquelle. Wenn alles in Ordnung ist, wird eine Eingabeaufforderung angezeigt, die besagt, dass die Datenquelle funktioniert.

Jetzt zum Einrichten unseres Servermonitor-Dashboards. Sie können ein neues Dashboard von Grund auf so erstellen, wie Sie es möchten (dauert Zeit), aber Sie können auch die Grafana-Site besuchen und die bereits erstellten Dashboards der Grafana-Community sehen. In diesem Beispiel werden wir genau das tun, ein vorhandenes Dashboard importieren. Es gibt viele Grafana-Dashboards für die Serverüberwachung, die Prometheus und Node Exporter verwenden. Diejenige, die wir für dieses Beispiel verwenden werden, ist diese hier.

Sobald Sie also auf die Import-Dashboard-Option gehen, müssen wir nur die Dashboard-ID von der Grafana-Site eingeben – in diesem Beispiel ist es 1860. Benennen Sie das Dashboard und auch den wichtigen Teil – um Prometheus als Datenquelle dafür auszuwählen Instrumententafel. Klicken Sie dann einfach auf die Importschaltfläche und fertig ist das Endergebnis, das unten dargestellte Dashboard.

Am Ende der Einrichtung sollten wir in der Lage sein, den Linux-Server mit Prometheus und Grafana zu überwachen, die alle in Docker ausgeführt werden.

Zusammenfassung

Dies war der Prozess zum Einrichten der Serverüberwachung und zum Überwachen von Linux-Servern mit Prometheus, Grafana und Docker. Dies kann ein wirklich leistungsfähiges Monitor-Setup sein, da Sie Docker-Container und mehrere Hostserver überwachen und auch E-Mail-Benachrichtigungen von Prometheus einrichten können.

Vielen Dank für Ihre Zeit und ich hoffe, Sie fanden den Beitrag nützlich…


Linux
  1. Kommunikation zwischen Prozessen in Linux:Sockets und Signale

  2. System- und Serverstatus

  3. Was ist Docker (und Linux-Container?)

  4. Installieren und Einrichten von Grafana unter Linux

  5. Verwenden von kbhit() und getch() unter Linux

Überwachen und verwalten Sie Linux-Server mit Cockpit über einen Webbrowser

So überwachen Sie Dateiänderungen mit fswatch unter Linux

So überwachen Sie Linux-Server und Metriken vom Browser aus mit Scout Realtime

30 interessante Tools und Dienste zur Überwachung Ihrer Linux-Server

Verwenden von Ajenti beim Verwalten von Linux-Servern

So richten Sie einen Linux-VPN-Server und -Client mit OpenVPN ein