Wie man den WIG-Stack (Telegraf, InfluxDB und Grafana) auf Ubuntu 18.04 LTS installiert
InfluxDB ist eine Open-Source-Zeitreihen-Datenbank, die in Go geschrieben wurde. Optimiert für schnelle, hochverfügbare Speicherung und als Datenspeicher für jeden Anwendungsfall mit großen Mengen an zeitgestempelten Daten, einschließlich DevOps-Überwachung, Protokolldaten, Anwendungsmetriken, IoT-Sensordaten und Echtzeitanalysen.
Telegraf ist ein Agent zum Sammeln, Verarbeiten, Zusammenführen und Schreiben von Metriken. Es unterstützt verschiedene Output-Plugins wie influxdb, Graphite, Kafka, OpenTSDB etc.
Grafana ist eine Open-Source-Datenvisualisierungs- und Überwachungssoftware. Es bietet Unterstützung für Graphit, Elasticsearch, Prometheus, influxdb und viele weitere Datenbanken. Das Tool bietet ein schönes Dashboard und metrische Analysen, mit der Möglichkeit, Ihr eigenes Dashboard für Ihre Anwendungen oder die Überwachung der Infrastrukturleistung zu verwalten und zu erstellen.
In diesem Tutorial zeige ich Ihnen, wie Sie den WIG-Stack (Telegraf, influxdb und Grafana) mit einem einzelnen Ubuntu 18.04 Server installieren und konfigurieren. Wir werden den WIG-Stapel zur Überwachung der Systemlasten wie Netzwerk, RAM-Speicher, Betriebszeit usw. verwenden.
Voraussetzungen
- Ubuntu 18.04.
- Root-Rechte
Was werden wir tun?
- InfluxDB installieren
- InfluxDB-Datenbank und Benutzer erstellen
- Telegraf Agent installieren
- Telegrafie konfigurieren
- Grafana installieren
- Grafana-Datenquelle einrichten
- Grafana Dashboard einrichten
Schritt 1 – InfluxDB installieren
In diesem ersten Schritt werden wir die Zeitreihen-Datenbank influxdb auf dem Ubuntu-System installieren. Wir werden sowohl ‚influxdb‘ als auch ‚telegraf‘ aus dem gleichen ‚influxdata‘ Repository installieren, da beide Software von derselben Organisation erstellt wurden.
Fügen Sie den Zugangsdatenschlüssel hinzu.
sudo curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
Fügen Sie das influxdata-Repository hinzu.
source /etc/lsb-release echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
Aktualisieren Sie nun das Repository und installieren Sie das Paket „influxdb“ mit dem folgenden apt-Befehl.
sudo apt update sudo apt install influxdb -y
Nachdem die Installation abgeschlossen ist, starten Sie den influxdb-Dienst und lassen Sie ihn jedes Mal beim Systemstart starten.
sudo systemctl start influxdb sudo systemctl enable influxdb
Überprüfen Sie nun die geöffneten Ports auf dem System.
netstat -plntu
Und stellen Sie sicher, dass Sie die Influxdb-Ports ‚8088‘ und ‚8086‘ im Zustand ‚LISTEN‘ erhalten.
Schritt 2 – Erstellen der InfluxDB-Datenbank und des Benutzers
Um alle Daten von Telegrafenagenten zu speichern, müssen wir die influxdb-Datenbank und den Benutzer einrichten.
InfluxDB bietet das CLI-Tool namens „influx“ für die Interaktion mit einem InfluxDB-Server. Der Influx-Befehl ist wie das ‚mysql‘ auf MySQL und ‚mongo‘ auf der MongoDB-Datenbank.
Führen Sie den Befehl „influx“ unten aus.
influx
Jetzt sind Sie mit dem standardmäßigen influxdb-Server auf Port’8086′ verbunden.
Erstellen Sie eine neue Datenbank und benützen Sie’telegraf‘ mit dem Passwort’hakase-ndlr‘, indem Sie untenstehende Influxdb-Abfragen ausführen.
create database telegraf create user telegraf with password 'hakase-ndlr'
Überprüfen Sie nun die Datenbank und den Benutzer.
show databases show users
Stellen Sie sicher, dass Sie die Datenbank und den Benutzer namens’telegraf‘ auf dem influxdb-Server haben.
Schritt 3 – Telegraf Agent installieren
Telegraf wurde von ‚influxdata‘ erstellt, derselben Organisation, die auch die influxdb erstellt hat. Wenn wir also den Influxdata-Schlüssel und das Repository zum System hinzufügen, bedeutet das, dass wir beide Anwendungen installieren können.
Installieren Sie das Telegraf-Paket mit dem folgenden Befehl apt.
sudo apt install telegraf -y
Starten Sie nach Abschluss der Installation den Telegrafiedienst und aktivieren Sie ihn so, dass er beim Systemstart jederzeit gestartet werden kann.
sudo systemctl start telegraf sudo systemctl enable telegraf
Der Telegraf-Agent ist gestartet und läuft, überprüfen Sie ihn mit dem folgenden Befehl.
sudo systemctl status telegraf
Schritt 4 – Telegrafie konfigurieren
Telegraf ist ein Plugin-basierter Agent und hat 4 Konzept-Plugins.
- Verwenden Sie die’Input Plugins‘, um Metriken zu sammeln.
- Verwenden der’Prozessor-Plugins‘ zum Transformieren, Dekorieren und Filtern von Metriken.
- Verwenden der’Aggregator Plugins‘ zum Erstellen und Aggregieren von Metriken.
- Und mit den’Output Plugins‘ können Sie Metriken an verschiedene Ziele schreiben, einschließlich influxdb.
In diesem Schritt konfigurieren wir das Telegraf so, dass es grundlegende Input-Plugins verwendet, um die Systemmetrik des Servers zu sammeln und die influxdb als Output-Plugin zu verwenden.
Gehen Sie in das Verzeichnis ‚/etc/telegraf‘ und benennen Sie die Standardkonfigurationsdatei um.
cd /etc/telegraf/ mv telegraf.conf telegraf.conf.default
Erstellen Sie nun eine neue andere Konfiguration ‚telegraf.conf‘ mit dem vim-Editor.
vim telegraf.conf
Füge die folgenden Konfigurationen ein.
# Global Agent Configuration [agent] hostname = "hakase-tig" flush_interval = "15s" interval = "15s" # Input Plugins [[inputs.cpu]] percpu = true totalcpu = true collect_cpu_time = false report_active = false [[inputs.disk]] ignore_fs = ["tmpfs", "devtmpfs", "devfs"] [[inputs.io]] [[inputs.mem]] [[inputs.net]] [[inputs.system]] [[inputs.swap]] [[inputs.netstat]] [[inputs.processes]] [[inputs.kernel]] # Output Plugin InfluxDB [[outputs.influxdb]] database = "telegraf" urls = [ "http://127.0.0.1:8086" ] username = "telegraf" password = "hakase-ndlr"
Speichern und beenden.
Hinweis:
Telegraf stellt einen Telegrafbefehl zur Verfügung, um die Konfiguration zu verwalten, einschließlich der Generierung der Konfiguration selbst, führen Sie den Befehl wie unten beschrieben aus.
telegraf config -input-filter cpu:mem:disk:swap:system -output-filter influxdb > telegraf.conf cat telegraf.conf
Starten Sie den Telegrafdienst neu und stellen Sie sicher, dass kein Fehler vorliegt.
sudo systemctl restart telegraf
Testen Sie nun die Telegrafikeinstellungen mit dem folgenden Befehl.
sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter cpu sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter net sudo telegraf -test -config /etc/telegraf/telegraf.conf --input-filter mem
Die Konfiguration von InfluxDB und Telegraf ist abgeschlossen.
Schritt 6 – Grafana installieren
In diesem Schritt werden wir das schöne Grafana Dashboard zur Datenvisualisierung installieren.
Fügen Sie den grafana-Schlüssel und das Repository hinzu.
sudo curl https://packagecloud.io/gpg.key | sudo apt-key add - echo 'deb https://packagecloud.io/grafana/stable/debian/ stretch main' > /etc/apt/sources.list.d/grafana.list
Aktualisieren Sie das Repository und installieren Sie das grafana-Paket mit dem Befehl apt unten.
sudo apt update sudo apt install grafana -y
Nachdem die Installation abgeschlossen ist, starten Sie den grafana-Dienst und aktivieren Sie ihn so, dass er jederzeit beim Systemstart gestartet werden kann.
sudo systemctl start grafana-server sudo systemctl enable grafana-server
Der Grafana-Server ist auf dem Standardport’3000′ in Betrieb, überprüfen Sie ihn mit netstat.
netstat -plntu
Und Sie erhalten das Ergebnis wie unten beschrieben.
Schritt 7 – Grafana-Datenquelle einrichten
Öffnen Sie Ihren Webbrowser und geben Sie die Server-IP-Adresse mit Port 3000 ein.
Melden Sie sich mit dem Standardbenutzer ‚admin‘ und dem Passwort ‚admin‘ an.
Nun werden Sie mit der Seite zum Ändern des Standardpassworts aufgefordert, geben Sie Ihr neues Passwort ein und klicken Sie auf die Schaltfläche „Speichern“.
Sie werden dann auf das standardmäßige Grafana Dashboard umgeleitet.
Klicken Sie auf die Schaltfläche „Datenquelle hinzufügen“, um die Datenquelle der influxdb hinzuzufügen.
Geben Sie Details zu den Influxdb-Serverkonfigurationen ein.
- Name: influxdb
- Typ: influxdb
- URL: http://localhost:8086/
Scrollen Sie zur unteren Seite und geben Sie Details zu den Einstellungen der influxdb-Datenbank ein.
- Datenbank: Telegrafie
- Benutzer: telegrafisch
- Passwort: ‚hakase-ndlr‘.
Klicken Sie auf die Schaltfläche „Save and Test“ und stellen Sie sicher, dass Sie das Ergebnis „Data source is working“ erhalten.
Die Datenquelle InfluxDB wurde dem Grafana-Server hinzugefügt.
Schritt 8 – Grafana Dashboard einrichten
Nachdem wir die influxdb als Datenquelle zum grafana-Server hinzugefügt haben, importieren wir in diesem Schritt das grafana Dashboard basierend auf unserem Telegraf Input Plugin Setup.
Grafana bietet das Repository für Grafana-Plugins und Dashboards.
Um das grafana Dashboard zu importieren, klicken Sie auf das Menü „+“ im linken Bereich und klicken Sie auf „Import“.
Öffnen Sie nun das Beispiel Grafana Dashboard von der URL‘https://grafana.com/dashboards/5955‚ und klicken Sie auf die Schaltfläche’Copy the ID to Clipboard‘.
Fügen Sie die Dashboard ID ein.
Und Sie werden automatisch zum Dashboard-Setup weitergeleitet.
Klicken Sie im Abschnitt Optionen auf die InfluxDB und wählen Sie Ihren Influxdb-Server aus, dann auf die Schaltfläche „Importieren“.
Und unten sind einige Screenshots aus dem importierten Dashboard.
Die Installation des WIG-Stacks (Telegraf, InfluxDB und Grafana) auf Ubuntu 18.04 wurde erfolgreich abgeschlossen.