In diesem Artikel beschreibe ich kurz, wie wir MetricBeat auf einem Debian Server installieren können. Damit können wir Metriken unserer Linux-Server an unseren Elasticsearch Server senden und dann z.B. mit Kibana auswerten.
Durchführung
Im ersten Schritt benötigen wir Root-Zugang zu einem Debian Server. Dort angekommen, können wir dann in einem Verzeichnis unserer Wahl einmal die benötigten Dateien herunterladen und entpacken. Ich verwende hier das /opt Verzeichnis.
Info: Zum Zeitpunkt der Erstellung dieser Anleitung ist die neueste Version von MetricBeat 9.0.2. Welche Version die aktuellste ist, kann hier eingesehen werden: https://www.elastic.co/downloads/beats/metricbeat
Abhängig von unserer Betriebssystemarchitektur laden wir im ersten Schritt die Dateien von MetricBeat herunter und entpacken diese:
cd /opt
wget https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-9.0.2-linux-x86_64.tar.gz
tar -xzf metricbeat-9.0.2-linux-x86_64.tar.gz
mv ./metricbeat-* metricbeat
Jetzt im nächsten Schritt müssen wir einmal die metricbeat.yml Datei einmal anpassen. Hier müssen wir die Informationen mitangeben, wo sich der Elasticsearch-Server befindet, wie die Logindaten sind und ob ggf. die Zertifikatsüberprüfung deaktiviert werden soll. In meiner Homelab-Umgebung sieht die Config wie folgt aus:
nano /opt/metricbeat/metricbeat.yml
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["https://192.168.10.185:9200"]
# Performance preset - one of "balanced", "throughput", "scale",
# "latency", or "custom".
preset: balanced
# Protocol - either `http` (default) or `https`.
protocol: "https"
# Authentication credentials - either API key or username/password.
#api_key: "id:api_key"
username: "elastic"
password: "Passwort123!"
ssl.verification_mode: none
Im Anschluss können wir einmal überprüfen lassen, ob die Konfiguration valide ist. Dafür können wir den folgenden Befehl verwenden:
opt/metricbeat/metricbeat test config
Wenn hier alles geklappt hat, können wir mit dem folgenden Befehl das Senden der Metriken starten:
/opt/metricbeat/metricbeat -e
Wenn jetzt Daten in Elasticstack ankommen, haben wir Metricbeat erfolgreich konfiguriert.
Metricbeat als Dienst installieren
Damit der Export im Hintergrund laufen kann, können wir Metricbeat einfach als Dienst laufen lassen. Dazu müssen wir einmal eine Datei anlegen und mit dem folgenden Inhalt füllen:
nano /etc/systemd/system/metricbeat.service
[Unit]
Description=Metricbeat
After=network.target
[Service]
ExecStart=/opt/metricbeat/metricbeat
WorkingDirectory=/opt/metricbeat
Restart=always
[Install]
WantedBy=multi-user.target
Zum Schluss laden wir einmal den Daemon neu und starten die Dienste und aktivieren den Autostart des Dienstes:
sudo systemctl daemon-reexec
sudo systemctl enable metricbeat
sudo systemctl start metricbeat
Wir haben jetzt erfolgreich Metricbeat als Dienst auf unserem Server laufen.