Metricbeat und seine Vorteile
Metricbeat ist ein Teil der Beats Familie. Shipper aus dieser Familie kommen zum Einsatz, sobald Informationen im Elastic Stack Umfeld an die Plattform geliefert werden sollen. Die größte Verbreitung innerhalb der Beats Familie hat der Filebeat. Als Log File Shipper kommt dieser in vielen Standard-Installation direkt zum Einsatz. Neben dem Verarbeiten von Logfiles bietet es sich an, Loginformationen um Metriken zu erweitern – hier setzt Metricbeat an.
Metricbeat ist in der Lage, Metriken zu verschiedensten Ressourcen und Diensten wie z. B. CPU, Speicher, Docker, Webserver zu sammeln und diese im Elastic Stack abzulegen.
Anwendungsbereiche
Mit Metricbeat sind wir in der Lage, unterschiedlichste Systeme an unseren ELK Stack anzubinden. Es stehen Pakete für Linux, Windows und Mac zur Verfügung. Metricbeat basiert auf Modulen. Benötigt man z. B. von einem Linux Host nur die System- und Webservermetriken, aktiviert man nur diese Module. Neben den klassischen Diensten ist Metricbeat auch Container-ready und es stehen Module für Docker und Kubernetes bereit. Dadurch sind wir mit dem Elastic Stack in der Lage, alle Metriken von unseren Docker Containern zu sehen.
Installation
Die Installation von Metricbeat ist sehr einfach. Elastic stellt Pakete in Ihrem Repository zur Verfügung, welches hier gefunden werde kann. Die Installation kann je nach System über den entsprechenden Paketmanager wie apt oder yum erfolgen.
Alternativ kann man das Paket manuell herunterladen und mit dpkg oder rpm installieren. Dies hat den Nachteil, dass auch ein Update händisch erfolgen muss. Die Download Quellen findet man direkt bei 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.
Als Beispiel ist hier das Docker Default-Dashboard zu sehen.
Weitere Dashboards findet man in der Offiziellen Demo von Elastic:
https://demo.elastic.co/app/kibana#/dashboard/19e7fae0-92a6-11e8-8fa2-3d5f811fbd0f
Quellen
Bei Updates im Blog, informieren wir per E-Mail.
Kommentare