So installieren Sie das Prometheus-Überwachungssystem unter Ubuntu 16.04

Bild: Jack Wallen

Prometheus ist ein unglaublich leistungsfähiges Open-Source-System, das Metriken von den Diensten Ihres Servers sammelt und in einer durchsuchbaren Datenbank speichert. Mit einem hochdimensionalen Datenmodell, in dem Sie Abfragen ausführen können, um eine gesammelte Datenreihe in Scheiben zu schneiden und zu würfeln, um Ad-hoc-Diagramme, Tabellen und Warnungen zu generieren, können Sie mit Prometheus eine beliebige Anzahl von Datenexporteuren von Drittanbietern (z. B. für) integrieren Docker-, HAProxy-, StatsD-, JMX-Metriken und mehr).

Prometheus exportiert standardmäßig nur Daten über sich selbst, was nicht besonders nützlich ist. Um Prometheus zu erweitern, können Exporteure zum Prometheus-System hinzugefügt werden. Sie finden Exporteure wie:

  • node_exporter - erzeugt Hardwaremetriken (CPU, Speicher, Festplattennutzung, E / A, Netzwerkstatistik usw.)
  • blackbox_exporter - generiert Metriken aus HTTP- und HTTPS-Protokollen.
  • mysqld_exporter - sammelt MySQL-Servermetriken.
  • nginx-vts-exporter - sammelt Metriken für den NGINX-Webserver.

Ich möchte Sie durch den Prozess der Installation von Prometheus und node_exporter unter Ubuntu Server 16.04 führen.

Vorbereitung für die Installation

Als erstes müssen wir die erforderlichen Benutzer und Verzeichnisse für Prometheus erstellen. Außerdem muss NGINX auf dem System installiert sein. Geben Sie zum Installieren von NGINX die folgenden Befehle in einem Terminalfenster aus:

 sudo apt install nginx sudo systemctl starte nginx sudo systemctl aktiviere nginx 

Wenn NGINX installiert ist, können Sie mit dem Erstellen spezieller Benutzer beginnen (es handelt sich um Nur-Service-Benutzer, nicht um Benutzer, die sich beim System anmelden können). Geben Sie in Ihrem Terminalfenster die folgenden Befehle ein:

 sudo useradd --no-create-home --shell / bin / false prometheus sudo useradd --no-create-home --shell / bin / false node_exporter 

Als nächstes erstellen wir die erforderlichen Verzeichnisse, in denen Dateien und Daten gespeichert werden. Geben Sie die folgenden Befehle ein, um die Verzeichnisse zu erstellen und ihnen die richtigen Berechtigungen zu erteilen:

 sudo mkdir / etc / prometheus sudo mkdir / var / lib / prometheus sudo chown prometheus: prometheus / etc / prometheus sudo chown prometheus: prometheus / var / lib / prometheus 

Herunterladen und installieren

Wir sind bereit, Prometheus herunterzuladen und zu installieren. Geben Sie in Ihrem Terminalfenster die folgenden Befehle ein, um die erforderliche Datei herunterzuladen:

 cd curl -LO https://github.com/prometheus/prometheus/releases/download/v2.0.0/prometheus-2.0.0.linux-amd64.tar.gz 

Entpacken Sie die heruntergeladene Datei mit dem folgenden Befehl:

 tar xvf prometheus-2.0.0.linux-amd64.tar.gz 

Als nächstes müssen wir die Binärdateien an die richtigen Speicherorte kopieren und die Berechtigungen korrigieren. Dies erfolgt mit den folgenden vier Befehlen:

 sudo cp prometheus-2.0.0.linux-amd64 / prometheus / usr / lokal / bin / sudo cp prometheus-2.0.0.linux-amd64 / promtool / usr / lokal / bin / sudo chown prometheus: prometheus / usr / lokal / bin / prometheus sudo chown prometheus: prometheus / usr / local / bin / promtool 

Wenn die Binärdateien vorhanden sind, müssen Bibliotheken kopiert und der Besitz behoben werden. Geben Sie die folgenden vier Befehle ein:

 sudo cp -r prometheus-2.0.0.linux-amd64 / consoles / etc / prometheus sudo cp -r prometheus-2.0.0.linux-amd64 / console_libraries / etc / prometheus sudo chown -R prometheus: prometheus / etc / prometheus / Konsolen sudo chown -R prometheus: prometheus / etc / prometheus / console_libraries 

Prometheus konfigurieren und ausführen

Eine neue Konfigurationsdatei muss erstellt werden. Geben Sie den Befehl sudo nano /etc/prometheus/prometheus.yml ein . Fügen Sie in diese Datei den folgenden Inhalt ein:

 global: scrape_interval: 15s scrape_configs: - job_name: 'prometheus' scrape_interval: 5s static_configs: - ziele: 'localhost: 9090' 

Bei der obigen Konfiguration wird alle 15 Sekunden ein Kratzer erstellt. Speichern und schließen Sie diese Datei (wir werden gleich darauf zurückkommen).

Wir müssen jetzt eine Datei für den systemd-Dienst erstellen. Setzen Sie den Befehl sudo nano /etc/systemd/system/prometheus.service ab . Fügen Sie in dieser neuen Datei den folgenden Inhalt hinzu:

 Einheit Beschreibung = Prometheus Wants = network-online.target After = network-online.target Service Benutzer = prometheus Group = prometheus Typ = einfach ExecStart = / usr / local / bin / prometheus \ --config.file / etc. /prometheus/prometheus.yml \ --storage.tsdb.path / var / lib / prometheus / \ --web.console.templates = / etc / prometheus / consoles \ --web.console.libraries = / etc / prometheus / console_libraries Install WantedBy = multi-user.target 

Speichern und schließen Sie diese Datei. Laden Sie systemd mit dem Befehl sudo systemctl daemon-reload neu . Nach dem erneuten Laden von systemd können Sie Prometheus jetzt mit den folgenden zwei Befehlen starten und aktivieren:

 sudo systemctl prometheus starten sudo systemctl prometheus aktivieren 

Wenn Sie Ihren Browser auf http: // SERVER_IP: 9090 verweisen (wobei SERVER_IP die tatsächliche IP-Adresse Ihres Servers ist), sollte jetzt die Prometheus-Site angezeigt werden ( Abbildung A ).

Abbildung A.

Die Prometheus-Hauptseite.

Zu diesem Zeitpunkt berichtet Prometheus nur über sich selbst. Lassen Sie uns das beheben.

Hinzufügen eines Exporteurs

Wie bereits erwähnt, werden wir node_exporter hinzufügen. Als erstes müssen Sie die erforderliche Datei mit den folgenden zwei Befehlen herunterladen:

 cd curl -LO https://github.com/prometheus/node_exporter/releases/download/v0.15.1/node_exporter-0.15.1.linux-amd64.tar.gz 

Extrahieren Sie die Datei mit dem folgenden Befehl:

 tar xvf node_exporter-0.15.1.linux-amd64.tar.gz 

Kopieren Sie die Binärdatei in das erforderliche Verzeichnis und erteilen Sie ihr mit den folgenden Befehlen die entsprechenden Berechtigungen:

 sudo cp knotenexporter-0.15.1.linux-amd64 / knotenexporter / usr / lokal / bin sudo chown knotenexporter: knotenexporter / usr / lokal / bin / knotenexporter 

Als nächstes müssen wir eine systemd-Datei für node_exporter erstellen. Geben Sie den Befehl sudo nano /etc/systemd/system/node_exporter.service ein und fügen Sie der neu erstellten Datei Folgendes hinzu:

 Einheit Beschreibung = Node Exporter Wants = network-online.target After = network-online.target Service Benutzer = node_exporter Group = node_exporter Typ = einfach ExecStart = / usr / local / bin / node_exporter Install WantedBy = multi- user.target 

Speichern und schließen Sie diese Datei. Laden Sie systemd mit dem Befehl sudo systemctl daemon-reload neu und starten und aktivieren Sie node_explorer mit den folgenden Befehlen:

 sudo systemctl start node_explorer sudo systemctl enable node_explorer 

Konfigurieren Sie Prometheus so, dass node_exporter abgekratzt wird

Kehren wir zur Prometheus-Konfigurationsdatei zurück. Öffnen Sie das mit dem Befehl sudo nano /etc/prometheus/prometheus.yml . Fügen Sie am Ende dieser Datei Folgendes hinzu:

 - job_name: 'node_exporter' scrape_interval: 5s static_configs: - Ziele: 'localhost: 9100' 

Speichern und schließen Sie diese Datei. Starten Sie Prometheus mit dem folgenden Befehl neu:

 sudo systemctl starte prometheus neu 

Zu diesem Zeitpunkt kratzt Prometheus jetzt Daten von node_export. Wenn Sie Ihren Browser zurück auf http: // SERVER_IP: 9090 richten (wobei SERVER_IP die IP-Adresse des Servers ist), können Sie eine der vielen Datenabfragen aus der Dropdown-Liste auswählen und ausführen, um basierend auf ein Diagramm anzuzeigen die Daten wurden geschabt ( Abbildung B ).

Abbildung B.

Dank node_export sind weitere Daten verfügbar.

Beginnen Sie mit dem Schaben

Jetzt können Sie mit Hilfe von Prometheus ernsthaft Daten kratzen. Dies ist ein unglaublich leistungsfähiges System, mit dem Sie zahlreiche Informationen zu einer Vielzahl verschiedener Datenpunkte sammeln können. Weitere Informationen zu Exporteuren und Integration finden Sie auf der offiziellen Prometheus-Website.

Newsletter zu Trends im Rechenzentrum

DevOps, Virtualisierung, Hybrid Cloud, Speicher und betriebliche Effizienz sind nur einige der Themen im Rechenzentrum, die wir hervorheben werden. Wird montags und mittwochs geliefert

Heute anmelden

© Copyright 2020 | mobilegn.com