Wie man

So überwachen Sie die Betriebszeit des Linux-Servers mit Prometheus

So überwachen Sie die Betriebszeit des Linux-Servers mit Prometheus

„Manche Fische schwimmen gerne stromaufwärts. Manche Menschen lieben es, Herausforderungen zu meistern.”
Amit Ray

Wenn Sie sicherstellen, dass Ihre Infrastruktur auf dem hohen SLA-Niveau gehalten wird, das Unternehmen und Organisationen immer verlangen, haben Sie keine andere Wahl, als herauszufinden, wie Sie die Systemleistung messen, beobachten und Berichte übermitteln können, die die Wahrheit über die Systemleistung erfassen. Es gibt keine Abkürzung, wenn diese kalten und kühlen Fragen gestellt werden. Sie können wählen, ob Sie ein leeres, ratloses Gesicht präsentieren oder eines voller Wärme, Zuversicht und ausreichend konkreter Berichte.

Um Letzteres zu erreichen, führt uns dieser Leitfaden durch, wie wir die Betriebszeit von Linux-Serversystemen erfassen können. Und um das zu erreichen, müssen wir mit einem Tool namens Prometheus arbeiten. Wir wissen, dass Sie von Prometheus gehört haben, aber mit einer Ausrede, es erneut durchzusetzen, erlauben Sie uns, es noch einmal vorzustellen. Prometheus ist ein Überwachungstool für die Aufzeichnung von Echtzeitmetriken in einer Zeitreihendatenbank time. Es ist ein Open-Source-Softwareprojekt, das in Go geschrieben wurde und die Prometheus-Metriken werden mithilfe von HTTP-Pulls gesammelt, was eine höhere Leistung und Skalierbarkeit ermöglicht.

In diesem Tutorial werden wir, wie der Titel vermuten lässt, diskutieren, wie Sie die Betriebszeit von Linux-Servern mit Prometheus überwachen können. Wir werden es installieren und seine robusten Fähigkeiten nutzen, um die Daten von unserem Interesse abzurufen. Wir werden daher beginnen.

Schritt 1: Bereiten Sie Ihren Server vor

Abhängig von der Umgebung, in der sich Ihre Server befinden, sollten Sie alle wichtigen Pakete, die Sie normalerweise verwenden, aktualisieren und installieren, z (vim oder nano), wget oder curl und andere, auf die Sie nicht verzichten können.

####Für Ubuntu#### sudo apt update && sudo apt upgrade sudo apt install vim wget curl -y ####Für CentOS#### sudo yum update sudo yum install vim wget curl -y

Schritt 2: Prometheus installieren

Da Prometheus im Mittelpunkt dieses Handbuchs steht, werden wir es einrichten und sicherstellen, dass es für uns einsatzbereit ist. Zum Glück haben wir umfassende Anleitungen für die Installation. Ob du dabei bist CentOS oder Debian oder Ubuntu, du bist sortiert. Überprüfen Sie die folgenden Links, um Prometheus zu installieren.

Prometheus-Server auf Ubuntu installieren | Debian
So installieren Sie Prometheus auf RHEL | CentOS 8

Node_exporter installieren

Lassen Sie uns zunächst einen Node Exporter System User erstellen, der die Sicherheit bei der Ausführung erhöht. Erstellen Sie einen solchen Benutzer wie folgt:

sudo useradd -M -r -s /bin/false node_exporter

Laden Sie danach den Node Exporter herunter und installieren Sie ihn wie folgt. Zeigen Sie in Ihrem Browser auf die Download-Seite von Prometheus und holen Sie sich die neueste Version von Node Exporter.

curl -s https://api.github.com/repos/prometheus/node_exporter/releases/latest| grep browser_download_url| grep linux-amd64| cut -d '"' -f 4| wget -qi -

Um Node Exporter zu installieren, kopieren wir einfach die node_exporter Binärdatei aus dem Archivordner nach /usr/local/bin die sich in der Umgebungsvariablen PATH befindet.

tar -xvf node_exporter*.Teer.gz cd node_exporter*/ sudo cp node_exporter /usr/local/bin

Erstellen node_exporter Bedienung.

Katze << EOF | sudo tee /etc/systemd/system/node_exporter.service [Unit] Description=Node Exporter Wants=network-online.target After=network-online.target [Service] User=node_exporter ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=default.target EOF

Laden Sie Systemd neu und starten Sie den Dienst.

sudo systemctl daemon-reload sudo systemctl start node_exporter sudo systemctl enable node_exporter

Falls Sie danach eine Firewall haben, müssen Sie den Port 9100 zulassen, der node_exporter verwendet standardmäßig.

##Unter Ubuntu sudo ufw 9100 zulassen ##Unter CentOS sudo Firewall-cmd --add-port=9100/tcp --permanent && sudo Firewall-cmd --reload

Schritt 3: Hinzufügen eines Ziels zu Monitor über Prometheus

Installieren Sie auf dem Zielknoten node_exporter nur

Node_exporter installieren

Knoten-Exporter-Systembenutzer erstellen

sudo useradd -M -r -s /bin/false node_exporter

Laden Sie danach den Node Exporter herunter und installieren Sie ihn wie folgt. Zeigen Sie in Ihrem Browser auf die Download-Seite von Prometheus und holen Sie die neueste Version von Node Exporter.

curl -s https://api.github.com/repos/prometheus/node_exporter/releases/latest| grep browser_download_url| grep linux-amd64| cut -d '"' -f 4| wget -qi -

Um Node Exporter zu installieren, kopieren wir einfach die node_exporter Binärdatei aus dem Archivordner nach /usr/local/bin.

tar -xvf node_exporter*.Teer.gz cd node_exporter*/ sudo cp node_exporter /usr/local/bin

Überprüfen Sie die Installation, indem Sie die Softwareversion überprüfen:

$ node_exporter --version node_exporter, Version 1.0.1 (Zweig: HEAD, Revision: 3715be6ae899f2a9b9dbfd9c39f3e09a7bd4559f) Build-Benutzer: [email protected] Build-Datum: 20200616-12:44:12 go version: go1.14.4

Erstellen node_exporter Bedienung.

Katze << EOF | sudo tee /etc/systemd/system/node_exporter.service [Unit] Description=Node Exporter Wants=network-online.target After=network-online.target [Service] User=node_exporter ExecStart=/usr/local/bin/node_exporter [Install] WantedBy=default.target EOF

Systemd neu laden und Dienst starten.

sudo systemctl daemon-reload sudo systemctl start node_exporter sudo systemctl enable node_exporter

Falls Sie danach eine Firewall haben, müssen Sie den Port zulassen 9100 Das node_exporter verwendet standardmäßig.

##Unter Ubuntu sudo ufw 9100 zulassen ##Unter CentOS sudo Firewall-cmd --add-port=9100/tcp --permanent && sudo Firewall-cmd --reload

Aktualisieren Sie die Prometheus-Serverkonfigurationen

Nach dem node_exporter installiert wurde, müssen wir unsere Prometheus-Serverkonfigurationsdatei aktualisieren, um das Ziel des neuen Knotens/Servers zu erhalten.

Fügen Sie die Abschnitte am Ende der Konfigurationsdatei wie folgt hinzu

$ sudo vim /etc/prometheus/prometheus.yml # Diese globale Konfiguration global: scratche_interval: 15s # Setzt das Scrape-Intervall auf alle 15 Sekunden. Standard ist jede 1 Minute. Evaluation_interval: 15s # Regeln alle 15 Sekunden auswerten. Die Standardeinstellung ist alle 1 Minute. # scrape_timeout ist auf den globalen Standard (10s) gesetzt. # Alertmanager-Konfiguration alerting: alertmanagers: - static_configs: - Ziele: # - alertmanager:9093 # Regeln einmal laden und periodisch gemäß dem globalen 'evaluation_interval' auswerten. rule_files: # - "first_rules.yml" # - "second_rules.yml" # Eine Scrape-Konfiguration, die genau einen Endpunkt zum Scrapen enthält: # Hier ist es Prometheus selbst. scrape_configs: # Der Jobname wird als Label 'job= . hinzugefügt' zu jeder Zeitreihe, die aus dieser Konfiguration abgekratzt wurde. - job_name: 'prometheus' # metrics_path ist standardmäßig '/metrics' # Schema ist standardmäßig 'http'. static_configs: - Ziele: ['localhost:9090'] - Jobname: Knoten static_configs: - Ziele: ['172.28.204.30:9100']

Dann starte prometheus neu

sudo systemctl Neustart prometheus

Wenn Sie zum Browser zurückkehren, sollten Sie eine Seite wie unten mit dem neuen Knoten in der Liste sehen

Schritt 4: Blackbox-Exporter hinzufügen

Der Blackbox-Exporter ermöglicht die Blackbox-Prüfung von Endpunkten über HTTP, HTTPS, DNS, TCP und ICMP. Es läuft unabhängig, dann bindet sich Prometheus daran, sendet Anfragen an die von Blackbox bereitgestellten Endpunkte und führt eine Aktion wie konfiguriert aus.

Lassen Sie uns zunächst einen Blackbox-Exporter-Systembenutzer erstellen, der die Sicherheit bei der Ausführung erhöht. Erstellen Sie einen solchen Benutzer wie folgt:

sudo useradd -M -r -s /bin/false blackbox

Blackbox-Exporter installieren

Wir werden den Blackbox-Exporter von der Seite mit den neuesten Versionen holen und installieren

cd ~ curl -s https://api.github.com/repos/prometheus/blackbox_exporter/releases/latest | grep browser_download_url | grep linux-amd64 | cut -d '"' -f 4 | wget -qi -

Extrahieren Sie die heruntergeladene Datei und kopieren Sie die Binärdateien in ein Verzeichnis in PFAD Umgebungsvariable

tar xvzf blackbox_exporter-*.linux-amd64.Teer.gz cd blackbox_exporter-*.linux-amd64 sudo cp blackbox_exporter /usr/local/bin

Installation bestätigen:

$ blackbox_exporter --version blackbox_exporter, Version 0.18.0 (Zweig: HEAD, Revision: 60c86e6ce5a1111f7958b06ae7a08222bb6ec839) Build-Benutzer: [email protected] Build-Datum: 20201012-09:46:31 go version: go1.fünfzehn.2

Stellen Sie sicher, dass Blackbox die Binärdateien lesen kann

$ sudo chown blackbox:blackbox /usr/local/bin/blackbox_exporter

Bevor wir das gleiche Verzeichnis verlassen, erstellen wir Blackbox-Konfigurationsdateien und stellen sicher, dass der Blackbox-Benutzer die erforderlichen Rechte zum Lesen der Dateien hat, wie unten gezeigt

cd ~/blackbox_exporter-*.linux-amd64 sudo mkdir -p /etc/blackbox sudo cp blackbox.yml /etc/blackbox sudo chown -R blackbox:blackbox /etc/blackbox/*

Nach dem Kopieren der Binärdateien in das Verzeichnis in PFAD, Wir werden wie folgt eine Systemd-Servicedatei dafür erstellen:

$ sudo vim /etc/systemd/system/blackbox.service [Einheit] Description=Blackbox Exporter Service Wants=network-online.target After=Netzwerk-online.target [Service] Type=simple User=blackbox Group=blackbox ExecStart=/usr/local/bin/blackbox_exporter \ --config.file=/etc/blackbox/blackbox.yml \ --web.listen-address=":9115" Restart=always [Install] WantedBy=multi-user.Ziel

Wie Sie in der Servicedatei sehen können, lauscht Blackbox auf Port 9115. Wie Sie sich vorstellen können, müssen wir diesen Port auf der Firewall zulassen, falls Sie einen wie folgt ausführen:

##Unter Ubuntu sudo ufw 9115 zulassen ##Unter CentOS sudo Firewall-cmd --add-port=9115/tcp --permanent && sudo Firewall-cmd --reload

Das Hinzufügen einer Servicedatei erfordert ein Daemon-Reload, dann können wir unseren Blackbox-Service starten start. Führen Sie die folgenden Befehle aus, um unseren Blackbox-Exporter zum Schnurren zu bringen.

sudo systemctl daemon-reload sudo systemctl Blackbox aktivieren sudo systemctl Blackbox starten

Sie können dann den Status überprüfen, um zu bestätigen, dass das Exportprogramm wirklich ausgeführt wird:

$ sudo systemctl status blackbox ● blackbox.service - Blackbox Exporter Service Geladen: geladen (/etc/systemd/system/blackbox.Bedienung; deaktiviert; Herstellervoreinstellung: aktiviert) Aktiv: aktiv (läuft) seit Do. 2020-12-03 08:13:03 UTC; vor 4min 20s Haupt-PID: 2161 (blackbox_export) Aufgaben: 7 (Limit: 2204) Speicher: 2.2M CGroup: /system.Slice/Blackbox.service └─2161 /usr/local/bin/blackbox_exporter --config.file=/etc/blackbox/blackbox.yml --web.Höradresse=:9115 

Sobald wir an diesem Punkt sind, sollten wir in der Lage sein, auf die Weboberfläche des Blackbox-Exporters zuzugreifen, wie auf dem Screenshot unten gezeigt, nachdem wir den Browser auf "http://ip-or-fqdn:9115

Schritt 5: Endpunkte mit Blackbox Exporter überwachen

Jetzt, da wir Blackbox Exporter installiert und ausgeführt haben, ist es an der Zeit, die von ihm bereitgestellten Edelsteine ​​​​zu nutzen, um unser Leben zu erleichtern. Falls Sie http- oder https-Endpunkte haben, die Sie überwachen möchten, dann wird Blackbox Exporter mit Modulen geliefert, die Ihnen dabei helfen. Betrachten Sie Module als die Soldaten, nach denen sie suchen HTTP, HTTPS, DNS, TCP und ICMP im Auftrag des Exporteurs.

Wir werden einfache Endpunkte überwachen, die in der Standardkonfigurationsdatei des Blackbox-Exporters vorhanden sind, indem wir sie als Beispiel an unseren Prometheus-Server binden. Die Standardkonfigurationsdatei des Blackbox-Exporters enthält vordefinierte Module, mit denen wir uns an unseren Prometheus-Server binden können. Sie können die Module im „/etc/blackbox/blackbox.yml“ Datei, in der Sie Blackbox installiert haben.

Blackbox Exporter an Prometheus binden

Fügen Sie auf Ihrem Prometheus-Server die folgende Konfiguration am Ende der Datei hinzu, die die Module auf dem Blackbox Exporter liest.

$ sudo vim /etc/prometheus/prometheus.yml # any [job_name] - job_name: 'ICMP_Probe_Blackbox' metrics_path: /probe params: module: [icmp] static_configs: - Targets: # Der Hostname oder die IP-Adresse des Hosts, den Sie anvisieren - 172.28.204.30 relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ # Wo Blackbox Exporter installiert wurde plust Port Ersatz: 172.28.204.30:9115 # Verwenden des Moduls [ssh_banner] - Jobname: 'SSH_Probe_Blackbox' metrics_path: /probe params: module: [ssh_banner] static_configs: - Ziele: # Der Host, den Sie anvisieren, plus SSH-Port - 172.28.204.30:22 relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: instance - target_label: __address__ # Wo Blackbox Exporter installiert wurde plust Port Ersatz: 172.28.204.30:9115 # Verwenden des Moduls [http_2xx] - Jobname: 'Blackbox_tcp' metrics_path: /probe params: module: [http_2xx] static_configs: - Ziele: # Der http-Host, den Sie anvisieren - http://172.28.204.30 relabel_configs: - source_labels: [__address__] target_label: __param_target - source_labels: [__param_target] target_label: Instanz - target_label: __address__ #Wo Blackbox Exporter installiert wurde plust Port Ersatz: 172.28.204.30:9115

Dann starte prometheus neu

sudo systemctl Neustart prometheus

Wenn wir zur Prometheus-Weboberfläche gehen und aktualisieren, sollten alle Sonden wie im Screenshot unten hinzugefügt angezeigt werden.

Schritt 6: Sonden anzeigen

Wir können den Status unserer Sonden auf Ihrer Prometheus-Schnittstelle einsehen. Klicken Sie dazu auf die Schaltfläche „Graph” Reiter dann auf den Suchbereich geschrieben “Ausdruck“, geben Sie probe ein und es sollten viele Vorschläge angezeigt werden.

Wir werden auswählen probe_erfolg als Beispiel klicken Sie dann auf „Ausführen

Nach der Auswahl probe_erfolg, Klicken Sie auf die Registerkarte Diagramm darunter, wie unten gezeigt:

Sie sollten die Erfolgssonden wie abgebildet sehen

Schritt 7: Visualisieren Sie alles auf Grafana

Grafana bietet visuell würdige Funktionen, die wir nicht vergessen dürfen, diesem Überwachungs-Ökosystem hinzuzufügen. Falls Sie Grafana nicht installiert haben, haben wir tolle Anleitungen, die Ihnen helfen, schnell loszulegen. Sie sind unten für Sie geteilt:

So installieren Sie Grafana auf CentOS 8 / RHEL 8
Installieren Sie Grafana auf Fedora
Grafana 7 unter Ubuntu einrichten | Debian-Linux

Stellen Sie nach der Installation von Grafana sicher, dass Sie die IP und den Port Ihres Prometheus-Servers erreichen können, und fügen Sie ihn dann wie folgt als Datenquelle hinzu. Melden Sie sich dann an:

Bewegen Sie Ihre Maus über das Zahnradsymbol für die Einstellungen und wählen Sie „Datenquellen

Klicken Sie dann auf „Datenquelle hinzufügen

Wählen Sie Prometheus

Geben Sie die erforderlichen Details ein, z. B. wo Promethueus läuft und so weiter. Sie können ihm auch einen Namen geben, den Sie bevorzugen.

Wenn Sie fertig sind, scrollen Sie nach unten und klicken Sie auf „Speichern & testen“. Wenn alles gut geht, sollten Sie eine gute Nachricht auf Grün sehen, wie unten gezeigt

Sobald Ihre Datenquelle hinzugefügt wurde, müssen wir ein Dashboard hinzufügen, das zusammenfasst, was wir anzeigen/überwachen müssen. Bewegen Sie die Maus über das + Symbol und klicken Sie auf „Importieren

Geben Sie das Dashboard von Sparanoid ein, das eine ID von hat 7587. Klicke auf "Importieren"

Es wird eine neue Seite mit Details zum Ersteller des Dashboards angezeigt. Wählen Sie Ihre prometheus-Datenquelle aus und klicken Sie dann auf „Importieren

In dem Moment, in dem Sie auf Importieren klicken, sollte das Dashboard in seiner Pracht wie unten geteilt angezeigt werden

Und wir sollten mit unserem Monitoring-Setup fertig sein

Letzte Worte

Prometheus ist vielseitig und ermöglicht Ihnen viel mehr, als nur Metriken zur Visualisierung abzukratzen. Es kann Ihr Überwachungsserver sein, um den Status von abzurufen sshd, http und https Endpunkte, Ihre MySQL Hafen und vieles mehr. Die nächste Anlaufstelle ist die Prometheus-Dokumentation, insbesondere QUERYING PROMETHEUS

Überwachen Sie Apache Kafka mit Prometheus und Grafana

Überwachen Sie die Linux-Serverleistung mit Prometheus und Grafana in 5 Minuten

Dev Installieren Sie Atom Text Editor auf Kali Linux 2020.x
Installieren Sie Atom Text Editor auf Kali Linux 2020.x
In dieser Anleitung installieren Sie Atom Text Editor unter Kali Linux. Atom ist ein hackbarer Texteditor, der von Github mit dem Electron Framework f...
Dev So installieren Sie Visual Studio-Code unter Kali Linux 2020.x
So installieren Sie Visual Studio-Code unter Kali Linux 2020.x
Visual Studio Code ist ein kostenlos zu verwendender Code-Editor, der für das Erstellen und Debuggen moderner Web- und Cloud-Anwendungen neu definiert...
Dev So installieren Sie PHP 7.4 auf Kali Linux
So installieren Sie PHP 7.4 auf Kali Linux
Sie suchen also nach einer Möglichkeit, PHP 7 zu installieren.4 auf Kali Linux Rolling Release?. PHP ist eine sehr beliebte serverseitige Skriptsprach...