So installieren Sie Prometheus unter Ubuntu 17 Linux

Inhaltsverzeichnis

Bei mehreren Gelegenheiten haben wir über die Skalierbarkeit gesprochen, die uns Linux-Distributionen bieten, indem Tausende von Open-Source-Anwendungen darin installiert werden können und damit die Kapazität für die Nutzung und Entwicklung von Diensten und Rollen erheblich erweitern.

Wir können Anwendungen für alle Arten von Aufgaben auf persönlicher oder Unternehmensebene finden und heute wird Solvetic eine im Detail analysieren, die durch ihre potenzielle Dynamik bei der Erfassung mehrerer Arten von Metriken auffällt und uns detaillierte Berichte bietet, die sehr nützlich sein werden wenn es um unser Management und unseren Support geht.

Diese Anwendung heißt Prometheus und heute werden wir sehen, wie man sie praktisch in Ubuntu 17.04 installiert.

Was ist PrometheusPrometheus ist ein leistungsstarkes Open-Source-Monitoring-System, das die Metriken unserer Dienste sammelt und in einer Zeitreihendatenbank speichert. Es bietet uns ein mehrdimensionales Datenmodell, eine flexible Abfragesprache und verschiedene Visualisierungsmöglichkeiten durch Tools wie Grafana.

Standardmäßig exportiert Prometheus nur Metriken über sich selbst, z. B. die Anzahl der empfangenen Anfragen, den Speicherverbrauch usw. Es ist jedoch möglich, Prometheus durch die Installation von Exportern zu erweitern, bei denen es sich um optionale Programme handelt, die zusätzliche und detaillierte Metriken anderer zu analysierender Aspekte generieren.

Diese Exporteure konzentrieren sich auf Infrastruktur, Datenbanken und Webserver in Messaging-Systemen, APIs und vieles mehr.

Einige der Exporteure, die uns Prometheus anbietet, sind:

node_exporterDieser Exporter erstellt Metriken zur Geräteinfrastruktur, einschließlich der aktuellen CPU-, Arbeitsspeicher- und Festplattennutzung, sowie I/O- und Netzwerkstatistiken (wie die Anzahl der von einer Festplatte gelesenen Bytes oder die durchschnittliche Last auf einer Festplatte).

blackbox_exporterMit diesem Exporter können wir Metriken generieren, die aus Browserprotokollen wie HTTP und HTTPS abgeleitet werden, um die Verfügbarkeit der Endpunkte, die Antwortzeit und mehr zu bestimmen.

mysqld_exporterDie Funktion dieses Exporters besteht darin, Metriken zu sammeln, die sich auf einen MySQL-Server beziehen, wie die Anzahl der ausgeführten Abfragen, die durchschnittliche Antwortzeit der Abfragen und den Replikationsstatus des Clusters.

Kaninchenmq_exporterDieser Exporter generiert Metriken über das RabbitMQ-Messaging-System, einschließlich Details wie die Anzahl der veröffentlichten Nachrichten, die Anzahl der zuzustellenden Nachrichten und die Größe aller Nachrichten in der Warteschlange.

nginx-vts-exporterMit diesem Exporter erhalten wir Metriken auf einem Nginx-Webserver, der das Nginx-VTS-Modul verwendet, der die Anzahl der offenen Verbindungen, die Anzahl der gesendeten Antworten (gruppiert nach Antwortcodes) und die Gesamtgröße der gesendeten oder empfangenen Anfragen enthält Bytes.

Prometheus-FunktionenEinige der herausragendsten Eigenschaften von Prometheus sind:

  • Datendimension, da Prometheus alle Daten als Zeitreihen unter Verwendung von Zeitwerten speichert, die zu derselben Metrik und demselben Satz beschrifteter Dimensionen gehören. Darüber hinaus kann Prometheus als Ergebnis von Abfragen zeitabgeleitete Zeitreihen generieren.
  • Dynamische Abfragen In diesem Zusammenhang bietet Prometheus eine funktionale Ausdruckssprache, über die der Benutzer Zeitreihendaten in Echtzeit auswählen und aggregieren kann. Das Ergebnis eines Ausdrucks kann als Diagramm angezeigt, als tabellarische Daten im Prometheus-Ausdrucksbrowser angezeigt oder von externen Systemen über die HTTP-API ausgeführt werden.
  • Verschiedene Darstellungsoptionen, da Prometheus Grafana enthält, welches seit Grafana 2.5.0 (2015-10-28) verfügbar ist.
  • Effizienter Speicher, weil Prometheus über ein ausgeklügeltes lokales Speicher-Subsystem verfügt. Für Indizes verwendet es LevelDB. Für Massenbeispieldaten verfügt es über eine eigene benutzerdefinierte Speicherschicht, die die Beispieldaten in Blöcke mit konstanter Größe (1024 Byte Nutzlast) organisiert. Diese Blöcke werden pro Zeitreihe in einer Datei auf der Festplatte gespeichert.
  • Einfache Bedienung, da Prometheus über Kommandozeilenparameter und eine Konfigurationsdatei konfiguriert wird. Während die Befehlszeilenaufforderungen unveränderliche Systemparameter konfigurieren (wie Speicherorte, Datenmenge, die auf Festplatte und im Arbeitsspeicher gespeichert werden soll), definiert die Konfigurationsdatei alles, was mit Scraping-Jobs und ihren Instanzen zu tun hat, sowie die mit der Anwendung geladenen Regeldateien .
  • Präzise Alarmierung, indem wir die Möglichkeit haben, Alarmregeln zu erstellen, die es uns ermöglichen, Alarmbedingungen basierend auf den Werten der Prometheus-Ausdruckssprache zu definieren und zu einem bestimmten Zeitpunkt Benachrichtigungen über Triggeralarme an einen externen Dienst zu senden und so über jede Änderung informiert zu sein.
  • Mehrere Bibliotheken, dank der Tatsache, dass Prometheus uns eine Reihe kompatibler Bibliotheken wie Java oder Scala, Python, Rubí, Bash, C ++, Common Lisp, Elixir, Erlang, Haskell, Lua für Nginx, Lua für Tarantool, anbietet. NET/C#, Node.js, PHP und Rust.
  • Mehrfachintegration, da wir über mehrere Bibliotheken und Server verfügen, die dabei helfen, vorhandene Metriken von Drittsystemen in Prometheus-Metriken zu exportieren, einige davon sind Aerospike-Exporter, ClickHouse-Exporter, Consul-Exporter, CouchDB-Exporter, ElasticSearch-Exporter, Memcached-Exporter, MongoDB-Exporter, MSSQL Server-Exporter, MySQL-Server-Exporter, OpenTSDB-Exporter, PgBouncer-Exporter, PostgreSQL-Exporter oder ProxySQL-Exporter.

Jetzt werden wir sehen, wie man Prometheus auf Ubuntu 17.04 installiert.

1. Nginx-Installation

Schritt 1
Der erste Punkt, den Sie beachten sollten, ist, dass Nginx in Ubuntu installiert sein muss. Wenn wir es nicht haben, führen wir den folgenden Befehl aus:

 sudo apt installieren nginx

Schritt 2
Dort geben wir den Buchstaben S ein, um den Download und die Installation der erforderlichen Pakete zu bestätigen. Nach der Installation müssen die Ubuntu-Firewall-Einstellungen konfiguriert werden, um den Zugriff auf den Nginx-Dienst zu ermöglichen. Dazu führen wir die folgende Zeile aus, um die Konfigurationen der ufw-Anwendungen aufzulisten:

 sudo ufw App-Liste

Auf der Nginx-Ebene haben wir die folgenden Optionen

  • Nginx Full: Dieses Profil öffnet sowohl Port 80 (normaler, unverschlüsselter Webverkehr) als auch Port 443 (verschlüsselter TLS/SSL-Verkehr)
  • Nginx HTTP: Dieses Profil öffnet nur Port 80 (normaler, unverschlüsselter Webverkehr)
  • Nginx HTTPS: Dieses Profil öffnet nur Port 443 (verschlüsselter TLS/SSL-Datenverkehr)

Schritt 3
Für diesen Fall führen wir die folgende Zeile aus:

 sudo ufw 'Nginx HTTP' erlauben

Schritt 4
Wir können sehen, dass der Zustand der Firewall in einigen Fällen inaktiv ist und es notwendig sein muss, sie zu aktivieren, dazu führen wir Folgendes aus:

 sudo ufw aktivieren

Nachdem wir diese Parameter in der Firewall konfiguriert haben, fahren wir mit der Prometheus-Installation fort.


Anmelden Beitreten!

wave wave wave wave wave