Metricbeat und seine Vorteile
Grundsätzliches
- Metricbeat gehört zur Familie der Beats.
- Shipper dieser Familie treten in Aktion, wenn Daten an die Elastic Stack Plattform übermittelt werden müssen.
- Innerhalb der Beats Familie ist Filebeat am weitesten verbreitet.
- Als Logfile-Shipper ist Filebeat oft Teil von Standardinstallationen.
- Metricbeat erweitert die Logfile-Verarbeitung um die Sammlung von Metriken.
- Es kann Metriken von verschiedenen Ressourcen und Diensten wie CPUs, Speichern, Docker und Webservern erfassen und im Elastic Stack speichern.
Anwendungsbereiche
- Metricbeat ermöglicht die Anbindung verschiedenster Systeme an unseren ELK Stack.
- Verfügbar sind Pakete für Betriebssysteme wie Linux, Windows und Mac.
- Das modulare Design von Metricbeat erlaubt es, spezifische Metriken, wie die eines Linux Hosts bezüglich System und Webserver, gezielt zu aktivieren.
- Metricbeat ist zudem bereit für den Einsatz in Containern und bietet spezielle Module für Docker und Kubernetes.
- So können wir mit dem Elastic Stack sämtliche Metriken unserer Docker Container übersichtlich darstellen.
Installation
- Die Installation von Metricbeat gestaltet sich als unkompliziert.
- Elastic bietet die notwendigen Pakete in ihrem eigenen Repository an, das über diesen Link erreichbar ist.
- Je nach Betriebssystem lässt sich die Installation über den entsprechenden Paketmanager wie apt oder yum durchführen.
- Als Alternative besteht die Möglichkeit, das Paket manuell herunterzuladen und mittels dpkg oder rpm zu installieren.
- Ein manuelles Update ist erforderlich, wenn das Paket nicht über den Paketmanager installiert wird.
- Die Quellen für die Downloads befinden sich auf der Webseite von Elastic unter Elastic.co.
Konfiguration
- Zuerst wird Metricbeat mitgeteilt, welche Module geladen werden sollen.
- Eine Übersicht aller verfügbaren Module liefert nachfolgender Befehl:
- metricbeat modules list
- Benötigen wir nur das system- und das docker Modul, laden wir diese wie folgt
- metricbeat modules enable system
- metricbeat modules enable docker
- Die Konfiguration von Metricbeat wird im Yaml-Format vorgenommen, die Konfigurationsdatei wird z. B. bei CentOS oder Debian unter /etc/metricbeat abgelegt.
- Die Hauptkonfigurationsdatei lautet metricbeat.yml, nach der Installation ist Metricbeat gegen eine lokale Elasticsearch Installation konfiguriert.
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["localhost:9200"]
*In den meisten Fällen wird die Elasticsearch Installation aber nicht lokal laufen, dafür muss man einfach „localhost" durch die IP bzw. Hostname der Elasticsearch Datenbank ersetzen.
*Sollte die Elasticsearch Datenbank per BasicAuth geschützt sein, kann diese wie folgt konfiguriert werden. Optional kann der Zugriff per HTTPS aktiviert werden.
# Optional protocol and basic auth credentials.
protocol: "https"
username: "elastic"
password: "changeme"
Im letzten Schritt wird Metricbeat gestartet und aktiviert.
*systemctl start metricbeat.service
*systemctl enable metricbeat.service
Visualisierung
*Metricbeat liefert die Metriken an Elasticsearch.
*Damit diese visualisiert werden können, kommt Kibana zum Einsatz.
*Die Entwickler von Metricbeat haben für alle Module schon hervorragende Standard-Dashboards entwickelt, womit das Anzeigen der Daten in kurzer Zeit möglich wird.