Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Überwachen Sie Systemressourcen und Apps mit Prometheus on Lightsail
Prometheus ist ein Open-Source-Zeitreihenüberwachungstool zur Verwaltung einer Vielzahl von Systemressourcen und Anwendungen. Es bietet ein mehrdimensionales Datenmodell, die Möglichkeit, die gesammelten Daten abzufragen, sowie detaillierte Berichte und Datenvisualisierung über Grafana.
Standardmäßig ist Prometheus aktiviert, um Metriken auf dem Server, auf dem es installiert ist, zu sammeln. Mithilfe von Node-Exportern können Metriken aus anderen Ressourcen, wie Webservern, Containern, Datenbanken, benutzerdefinierten Anwendungen und anderen Systemen von Drittanbietern, gesammelt werden. In diesem Tutorial zeigen wir Ihnen, wie Sie Prometheus mit Node-Exportern auf einer Lightsail-Instanz installieren und konfigurieren. Eine vollständige Liste der verfügbaren Exporter finden Sie unter Exporter und Integrationen
Inhalt
Schritt 1: Erfüllen der Voraussetzungen
Bevor Sie Prometheus auf einer Amazon Lightsail-Instance installieren können, müssen Sie wie folgt vorgehen:
-
Erstellen Sie eine Instanz in Lightsail. Wir empfehlen, den Blueprint Ubuntu 20.04 LTS für Ihre Instance zu verwenden. Weitere Informationen finden Sie unter Eine Instanz in Amazon Lightsail erstellen.
-
Erstellen Sie eine statische IP-Adresse und fügen Sie diese an Ihre neue Instance an. Weitere Informationen finden Sie unter Erstellen einer statischen IP-Adresse in Amazon Lightsail.
-
Öffnen Sie die Ports 9090 und 9100 auf der Firewall Ihrer neuen Instance. Prometheus setzt voraus, dass die Ports 9090 und 9100 geöffnet sind. Weitere Informationen finden Sie unter Instance-Firewall-Regeln in Amazon Lightsail hinzufügen und bearbeiten.
Schritt 2: Benutzer und lokale Systemverzeichnisse zu Ihrer Lightsail-Instance hinzufügen
Gehen Sie wie folgt vor, um über SSH eine Verbindung zu Ihrer Lightsail-Instanz herzustellen und Benutzer und Systemverzeichnisse hinzuzufügen. Dieses Verfahren erstellt die folgenden Linux-Benutzerkonten:
-
prometheus
– Dieses Konto wird für die Installation und Konfiguration der Serverumgebung verwendet. -
exporter
– Dieses Konto wird verwendet, um dienode_exporter
-Erweiterung zu konfigurieren.
Diese Benutzerkonten werden ausschließlich zu Verwaltungszwecken erstellt und erfordern daher keine zusätzlichen Benutzerservices oder Berechtigungen, die über den Rahmen dieser Einrichtung hinausgehen. In diesem Verfahren erstellen Sie auch Verzeichnisse zum Speichern und Verwalten der Dateien, Serviceeinsteinstellungen und Daten, die Prometheus zur Überwachung von Ressourcen verwendet.
-
Melden Sie sich bei der Lightsail-Konsole
an. -
Wählen Sie auf Ihrer Instance-Verwaltungsseite unter der Registerkarte Connect (Verbinden) die Option Connect using SSH (Verbinden mit SSH).
-
Nachdem Sie verbunden sind, geben Sie nacheinander die folgenden Befehle ein, um zwei Linux-Benutzerkonten zu erstellen,
prometheus
undexporter
.sudo useradd --no-create-home --shell /bin/false prometheus
sudo useradd --no-create-home --shell /bin/false exporter
-
Geben Sie nacheinander die folgenden Befehle ein, um lokale Systemverzeichnisse zu erstellen.
sudo mkdir /etc/prometheus /var/lib/prometheus
sudo chown prometheus:prometheus /etc/prometheus
sudo chown prometheus:prometheus /var/lib/prometheus
Schritt 3: Die Prometheus-binärpakete herunterladen
Gehen Sie wie folgt vor, um die Prometheus-Binärpakete auf Ihre Lightsail-Instanz herunterzuladen.
-
Öffnen Sie einen Webbrowser auf Ihrem lokalen Computer und navigieren Sie zur Promethethe-Downloadseite
. -
Oben auf der Seite wählen Sie im Dropdown-Menü Operating System (Betriebssystem) Linux aus. Wählen Sie für Architecture (Architektur) die Option amd64 aus.
-
Wählen Sie per Eingabetaste oder Rechtsklick den Prometheus-Downloadlink aus, der angezeigt wird, und kopieren Sie die Linkadresse in eine Textdatei auf Ihrem Computer. Tun Sie dasselbe für den node_exporter-Downloadlink, der angezeigt wird. Sie werden später in diesem Verfahren beide kopierten Adressen verwenden.
-
Stellen Sie über SSH eine Connect zu Ihrer Lightsail-Instanz her.
-
Geben Sie den folgenden Befehl ein, um zu Ihrem Startverzeichnis zu wechseln.
cd ~
-
Führen Sie die folgenden Schritte aus, um die Prometheus-Binärpakete auf Ihre Instance herunterzuladen.
curl -LO
prometheus-download-address
prometheus-download-address
Ersetzen Sie es durch die Adresse, die Sie zuvor in diesem Verfahren kopiert haben. Der Befehl sollte wie das folgende Beispiel aussehen, wenn Sie die Adresse hinzufügen.curl -LO
https://github.com/prometheus/prometheus/releases/download/v2.37.0/prometheus-2.37.0.linux-amd64.tar.gz
-
Geben Sie den folgenden Befehl ein, um die
node_exporter
-Binärpakete auf Ihre Instance herunterzuladen.curl -LO
node_exporter-download-address
Ersetzen Sie
node_ exporter-download-address
durch die Adresse, die Sie im vorherigen Schritt dieses Verfahrens kopiert haben. Der Befehl sollte wie das folgende Beispiel aussehen, wenn Sie die Adresse hinzufügen.curl -LO
https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
-
Führen Sie nacheinander die folgenden Befehle aus, um den Inhalt der heruntergeladenen Prometheus- und Node-Exporter-Dateien zu extrahieren.
tar -xvf
prometheus-2.37.0.linux-amd64.tar.gz
tar -xvf
node_exporter-1.3.1.linux-amd64.tar.gz
Nachdem der Inhalt der heruntergeladenen Dateien extrahiert wurde, werden mehrere Unterverzeichnisse erstellt.
-
Geben Sie nacheinander die folgenden Befehle ein, um die extrahierten
prometheus
- undpromtool
-Dateien in das/usr/local/bin
-Programmverzeichnis kopieren.sudo cp -p ./prometheus-2.37.0.linux-amd64/prometheus /usr/local/bin
sudo cp -p ./prometheus-2.37.0.linux-amd64/promtool /usr/local/bin
-
Geben Sie den folgenden Befehl ein, um den Besitzstatus der
prometheus
- undpromtool
-Dateien zu demprometheus
-Benutzer zu ändern, den Sie zuvor in diesem Tutorial erstellt haben.sudo chown prometheus:prometheus /usr/local/bin/prom*
-
Geben Sie nacheinander die folgenden Befehle ein, um die
consoles
- undconsole_libraries
-Unterverzeichnisse zu/etc/prometheus
zu kopieren. Die-r
-Option führt eine rekursive Kopie aller Verzeichnisse innerhalb der Hierarchie durch.sudo cp -r ./prometheus-2.37.0.linux-amd64/consoles /etc/prometheus
sudo cp -r ./prometheus-2.37.0.linux-amd64/console_libraries /etc/prometheus
-
Geben Sie nacheinander die folgenden Befehle ein, um den Besitzstatus der kopierten Dateien zu dem
prometheus
-Benutzer zu ändern, den Sie zuvor in diesem Tutorial erstellt haben. Die-R
-Option führt eine rekursive Besirtzänderung für alle Dateien und Verzeichnisse innerhalb der Hierarchie durch.sudo chown -R prometheus:prometheus /etc/prometheus/consoles
sudo chown -R prometheus:prometheus /etc/prometheus/console_libraries
-
Geben Sie nacheinander die folgenden Befehle ein, um die Konfigurationsdatei
prometheus.yml
in das/etc/prometheus
-Verzeichnis zu kopiere und den Besitzstatus der kopierten Datei zu demprometheus
-Benutzer zu ändern, den Sie zuvor in diesem Tutorial erstellt haben.sudo cp -p ./prometheus-2.37.0.linux-amd64/prometheus.yml /etc/prometheus
sudo chown prometheus:prometheus /etc/prometheus/prometheus.yml
-
Geben Sie den folgenden Befehl ein, um die
node_exporter
-Datei aus dem./node_exporter*
-Unterverzeichnis in das/usr/local/bin
-Programmverzeichnis zu kopieren.sudo cp -p ./node_exporter-1.3.1.linux-amd64/node_exporter /usr/local/bin
-
Geben Sie den folgenden Befehl ein, um den Besitzstatus der Datei zu dem
exporter
-Benutzer zu ändern, den Sie zuvor in diesem Tutorial erstellt haben.sudo chown exporter:exporter /usr/local/bin/node_exporter
Schritt 4: Prometheus konfigurieren
Führen Sie das folgende Verfahren durch, um Prometheus zu konfigurieren. In diesem Verfahren öffnen und bearbeiten Sie die prometheus.yml
-Datei, die verschiedene Einstellungen für das Prometheus-Tool enthält. Prometheus richtet basierend auf den Einstellungen, die Sie in der Datei konfigurieren, eine Überwachungsumgebung ein.
-
Stellen Sie über SSH eine Connect zu Ihrer Lightsail-Instanz her.
-
Geben Sie den folgenden Befehl ein, um eine Sicherungskopie der
prometheus.yml
-Datei zu erstellen, bevor Sie sie öffnen und bearbeiten.sudo cp /etc/prometheus/prometheus.yml /etc/prometheus/prometheus.yml.backup
-
Geben Sie den folgenden Befehl ein, um die
prometheus.yml
Datei mit Vim zu öffnen.sudo vim /etc/prometheus/prometheus.yml
Im Folgenden finden Sie einige wichtige Parameter, die Sie möglicherweise in der
prometheus.yml
-Datei konfigurieren möchten:-
scrape_interval
– Dieser Parameter unter demglobal
-Header definiert das Zeitintervall (in Sekunden) dafür, wie oft Prometheus oder Metrikdaten für ein bestimmtes Ziel sammeln oder scrapen wird. Wie durch dasglobal
-Tag angegeben, ist diese Einstellung universell für alle Ressourcen, die Prometheus überwacht. Diese Einstellung gilt auch für Exporter, es sei denn, ein einzelner Exporter stellt einen anderen Wert bereit, der den globalen Wert außer Kraft setzt. Sie können diesen Parameter auf dem aktuellen Wert von 15 Sekunden belassen. -
job_name
– Dieser Parameter unter demscrape_configs
-Header ist ein Label, das Exporter in der Ergebnismenge einer Datenabfrage oder visuellen Anzeige identifiziert. Sie können den Wert eines Auftragsnamens angeben, um die Ressourcen, die in Ihrer Umgebung überwacht werden, am besten widerzuspiegeln. Beispielsweise können Sie einen Auftrag für die Verwaltung einer Website alsbusiness-web-app
kennzeichnen, oder Sie können eine Datenbank alsmysql-db-1
kennzeichnen. In diesem ersten Setup überwachen Sie nur den Prometheus-Server, sodass Sie den aktuellenprometheus
-Wert behalten können. -
targets
– Dietargets
-Einstellung unter demstatic_configs
-Header verwendet einip_addr:port
-Schlüssel-Wert-Paar zur Identifizierung des Speicherorts, an dem ein bestimmter Exporter ausgeführt wird. Sie werden die Standardeinstellung in Schritt 4–7 dieses Verfahrens ändern.
Anmerkung
Für diese Ersteinrichtung müssen Sie nicht die
alerting
-undrule_files
-Parameter konfigurieren. -
-
In der
prometheus.yml
-Datei, die Sie in Vim geöffnet haben, drücken Sie die I-Taste, um den Einfügemodus in Vim zu starten. -
Scrollen Sie zum
targets
-Parameter, der sich unter demstatic_configs
-Header befindet. -
Ändern Sie die Standardeinstellung auf
. Ersetzen Sie<ip_addr>
:9090
mit der statischen IP-Adresse der Instance. Der geänderte Parameter sollte wie im folgenden Beispiel aussehen.<ip_addr>
-
Drücken Sie die Esc-Taste, um den Eingabemodus zu beenden, und geben Sie :wq! ein, um Ihre Änderungen zu speichern und Vim zu verlassen.
-
(Optional) Wenn etwas schief gelaufen ist, geben Sie den folgenden Befehl ein, um die
prometheus.yml
-Datei mit dem Backup, das Sie zuvor in diesem Verfahren erstellt haben, zu ersetzen.sudo cp /etc/prometheus/prometheus.yml.backup /etc/prometheus/prometheus.yml
Schritt 5: Prometheus starten
Führen Sie die folgenden Schritte aus, um den Prometheus-Service auf Ihrer Instance zu starten.
-
Stellen Sie über SSH eine Connect zu Ihrer Lightsail-Instanz her.
-
Geben Sie den folgenden Befehl ein, um den Prometheus-Service zu starten.
sudo -u prometheus /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
Die Befehlszeile gibt Details zum Startvorgang und anderen Services aus. Es sollte auch darauf hinweisen, dass der Service auf Port 9090 zuhört.
Wenn der Service nicht startet, finden Sie im Abschnitt Schritt 1: Erfüllen der Voraussetzungen in diesem Tutorial Informationen zum Erstellen von Instance-Firewall-Regeln, um Datenverkehr auf diesem Port zuzulassen. Gehen Sie für andere Fehler die
prometheus.yml
-Datei durch, um zu bestätigen, dass keine Syntaxfehler vorliegen. -
Nachdem der ausgeführte Service validiert wurde, drücken Sie Strg+C, um ihn zu beenden.
-
Geben Sie den folgenden Befehl ein, um die
systemd
-Konfigurationsdatei in Vim zu öffnen. Mit dieser Datei wird Prometheus gestartet.sudo vim /etc/systemd/system/prometheus.service
-
Fügen Sie die folgenden Zeilen in die Datei ein.
[Unit] Description=PromServer Wants=network-online.target After=network-online.target [Service] User=prometheus Group=prometheus Type=simple 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
Die vorhergehenden Anweisungen werden von dem Linux
systemd
Service Manager verwendet, um Prometheus auf dem Server zu starten. Wenn es aufgerufen wird, läuft Prometheus als derprometheus
-Benutzer und referenziert dieprometheus.yml
-Datei zum Laden der Konfigurationseinstellungen und Speichern der Zeitreihendaten im/var/lib/prometheus
-Verzeichnis. Sie könnenman systemd
über die Befehlszeile ausführen, um mehr Informationen über den Service zu erhalten. -
Drücken Sie die Esc-Taste, um den Eingabemodus zu beenden, und geben Sie :wq! ein, um Ihre Änderungen zu speichern und Vim zu verlassen.
-
Geben Sie den folgenden Befehl ein, um die Informationen in den
systemd
Service Manager zu laden.sudo systemctl daemon-reload
-
Geben Sie den folgenden Befehl ein, um Prometheus neu zu starten.
sudo systemctl start prometheus
-
Geben Sie den folgenden Befehl ein, um den Status des Prometheus-Services zu überprüfen.
sudo systemctl status prometheus
Wird der Service ordnungsgemäß gestartet, erhalten Sie eine Ausgabe, die der im folgenden Beispiel ähnelt.
-
Drücken Sie auf Q, um den Status-Befehl zu beenden.
-
Geben Sie den folgenden Befehl ein, damit Prometheus beim Booten der Instance starten kann.
sudo systemctl enable prometheus
-
Öffnen Sie einen Webbrowser auf Ihrem lokalen Computer und rufen Sie die folgende Webadresse auf, um die Prometheus-Verwaltungsoberfläche anzuzeigen.
http:
<ip_addr>
:9090<ip_addr>Ersetzen Sie durch die statische IP-Adresse Ihrer Lightsail-Instanz. Sie sollten ein Dashboard sehen, das dem folgenden Beispiel ähnelt.
Schritt 6: Node Exporter starten
Führen Sie die folgenden Schritte aus, um den Node-Exporter-Service zu starten.
-
Stellen Sie über SSH eine Connect zu Ihrer Lightsail-Instanz her.
-
Geben Sie den folgenden Befehl ein, um eine
systemd
-Servicedatei fürnode_exporter
mit Vim zu erstellen.sudo vim /etc/systemd/system/node_exporter.service
-
Drücken Sie die Taste I, um in den Einfügemodus in Vim zu gelangen.
-
Fügen Sie die folgenden Textzeilen der Datei hinzu. Dadurch wird
node_exporter
mit Überwachungskollektoren für CPU-Auslastung, Dateisystemnutzung und Speicherressourcen konfiguriert.[Unit] Description=NodeExporter Wants=network-online.target After=network-online.target [Service] User=exporter Group=exporter Type=simple ExecStart=/usr/local/bin/node_exporter --collector.disable-defaults \ --collector.meminfo \ --collector.loadavg \ --collector.filesystem [Install] WantedBy=multi-user.target
Anmerkung
Diese Anweisungen deaktivieren Standardmaschinenmetriken für Node Exporter. Eine vollständige Liste der für Ubuntu verfügbaren Metriken finden Sie unter Prometheus node_exporter man page
in der Ubuntu-Dokumentation. -
Drücken Sie die Esc-Taste, um den Eingabemodus zu beenden, und geben Sie :wq! ein, um Ihre Änderungen zu speichern und Vim zu verlassen.
-
Geben Sie den folgenden Befehl ein, um den
systemd
-Prozess neu zu laden.sudo systemctl daemon-reload
-
Geben Sie den folgenden Befehl ein, um den
node_exporter
-Service zu starten.sudo systemctl start node_exporter
-
Geben Sie den folgenden Befehl ein, um den Status des
node_exporter
-Services zu überprüfen.sudo systemctl status node_exporter
Wird der Service erfolgreich gestartet, erhalten Sie eine Ausgabe, die der im folgenden Beispiel ähnelt.
-
Drücken Sie auf Q, um den Status-Befehl zu beenden.
-
Geben Sie den folgenden Befehl ein, damit Node Exporter beim Booten der Instance starten kann.
sudo systemctl enable node_exporter
Schritt 7: Prometheus mit dem Node-Exporter-Datensammler konfigurieren
Führen Sie die folgenden Schritte aus, um Prometheus mit dem Node-Exporter-Datensammler zu konfigurieren. Dafür fügen Sie einen neuen job_name
-Parameter für node_exporter
in der prometheus.yml
-Datei hinzu.
-
Stellen Sie über SSH eine Connect zu Ihrer Lightsail-Instanz her.
-
Geben Sie den folgenden Befehl ein, um die
prometheus.yml
Datei mit Vim zu öffnen.sudo vim /etc/prometheus/prometheus.yml
-
Drücken Sie die Taste I, um in den Einfügemodus in Vim zu gelangen.
-
Fügen Sie unterhalb des vorhandenen
- targets: ["
-Parameters die folgenden Textzeilen in die Datei ein.<ip_addr>
:9090"]- job_name: "node_exporter" static_configs: - targets: ["
<ip_addr>
:9100"]Der geänderte Parameter in der
prometheus.yml
-Datei sollte wie im folgenden Beispiel aussehen.Beachten Sie Folgendes:
-
Node Exporter hört zum Scrapen der Daten durch den
prometheus
-Server Port 9100 zu. Vergewissern Sie sich, dass Sie die Schritte zum Erstellen von Instance-Firewall-Regeln, wie im Abschnitt Schritt 1: Erfüllen der Voraussetzungen dieses Tutorials dargelegt, befolgt haben. -
Ersetzen Sie
wie bei der Konfiguration von durch die <ip_addr>statische IP-Adresse
prometheus
job_name
, die an Ihre Lightsail-Instanz angehängt ist.
-
-
Drücken Sie die Esc-Taste, um den Eingabemodus zu beenden, und geben Sie :wq! ein, um Ihre Änderungen zu speichern und Vim zu verlassen.
-
Geben Sie den folgenden Befehl ein, um den Prometheus-Service neu zu starten, damit die Änderungen an der Konfigurationsdatei wirksam werden können.
sudo systemctl restart prometheus
-
Geben Sie den folgenden Befehl ein, um den Status des Prometheus-Services zu überprüfen.
sudo systemctl status prometheus
Wird der Service ordnungsgemäß neu gestartet, erhalten Sie eine Ausgabe, die der folgenden ähnelt.
-
Drücken Sie auf Q, um den Status-Befehl zu beenden.
-
Öffnen Sie einen Webbrowser auf Ihrem lokalen Computer und rufen Sie die folgende Webadresse auf, um die Prometheus-Verwaltungsoberfläche anzuzeigen.
http:
<ip_addr>
:9090<ip_addr>Ersetzen Sie durch die statische IP-Adresse Ihrer Lightsail-Instanz. Sie sollten ein Dashboard sehen, das dem folgenden Beispiel ähnelt.
-
Wählen Sie im Hauptmenü das Status-Dropdown-Menü und dann Targets (Ziele) aus.
Auf dem nächsten Bildschirm sollten Sie zwei Ziele sehen. Das erste Ziel ist für den node_exporter-Metrik-Kollektorauftrag und das zweite ist für den Prometheus-Auftrag.
Die Umgebung ist jetzt korrekt für das Sammeln von Metriken und die Überwachung des Servers eingerichtet.