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?

  1. InfluxDB installieren
  2. InfluxDB-Datenbank und Benutzer erstellen
  3. Telegraf Agent installieren
  4. Telegrafie konfigurieren
  5. Grafana installieren
  6. Grafana-Datenquelle einrichten
  7. 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

InfluxDB installieren

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

Offene Ports mit netstat überprüfen

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.

InfluxDB-Datenbank und Benutzer erstellen

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

Telegraf Agent installieren

Schritt 4 – Telegrafie konfigurieren

Telegraf ist ein Plugin-basierter Agent und hat 4 Konzept-Plugins.

  1. Verwenden Sie die’Input Plugins‘, um Metriken zu sammeln.
  2. Verwenden der’Prozessor-Plugins‘ zum Transformieren, Dekorieren und Filtern von Metriken.
  3. Verwenden der’Aggregator Plugins‘ zum Erstellen und Aggregieren von Metriken.
  4. 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.

Telegrafie konfigurieren

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

Telegrafische Konfiguration

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

Testkonfiguration

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

Install Grafana

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.

Ports prüfen

Schritt 7 – Grafana-Datenquelle einrichten

Öffnen Sie Ihren Webbrowser und geben Sie die Server-IP-Adresse mit Port 3000 ein.

http://192.168.33.15:3000/

Melden Sie sich mit dem Standardbenutzer ‚admin‘ und dem Passwort ‚admin‘ an.

Anmelden bei Grafana

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“.

Neues Passwort setzen

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.

Grafana Dashboard

Geben Sie Details zu den Influxdb-Serverkonfigurationen ein.

  • Name: influxdb
  • Typ: influxdb
  • URL: http://localhost:8086/

Influxdb-Details festlegen

Scrollen Sie zur unteren Seite und geben Sie Details zu den Einstellungen der influxdb-Datenbank ein.

  • Datenbank: Telegrafie
  • Benutzer: telegrafisch
  • Passwort: ‚hakase-ndlr‘.

Datenbankeinstellungen

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“.

Grafana Dashboard einrichten

Ö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.

Dashboard-Konfiguration importieren

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“.

Import des Influxdb-Servers

Und unten sind einige Screenshots aus dem importierten Dashboard.

Importiertes Dashboard 1

Importiertes Dashboard 2

Die Installation des WIG-Stacks (Telegraf, InfluxDB und Grafana) auf Ubuntu 18.04 wurde erfolgreich abgeschlossen.

Referenz

Das könnte dich auch interessieren …