Metricbeat mit Elasticsearch 9.x

Veröffentlicht am 2025-08-11

« Alle Vorträge ansehen Kontaktieren Sie uns
Metricbeat with Elasticsearch 9.x

Einführung

Wir werden einrichten Metricbeat mit Elasticsearch und Kibana 9.x. Wenn Sie Elasticsearch und Kibana noch nicht eingerichtet haben, dann Befolgen Sie diese Anweisungen.

Code von GitHub herunterladen

Basierend auf diesem Dokumentation

Anforderungen

A Running instance of Elasticsearch and Kibana.

Eine Instanz eines anderen Ubuntu 24.04-Servers, auf dem ein beliebiger Dienst ausgeführt wird.

Schritte

Schritt 1 – Metricbeat installieren

Führen Sie auf der Ubuntu-Maschine, auf der Metricbeat ausgeführt wird, diese Befehle aus, um Abhängigkeiten herunterzuladen:

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/9.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-9.x.list apt-get update; apt-get install -y apt-transport-https; apt-get install -y metricbeat;

Schritt 2 – Module aktivieren

Gehen Sie zum /etc/metricbeat/modules.d Verzeichnis. Wählen Sie aus, für welche Protokolltypen Sie die Protokollierung aktivieren möchten, indem Sie die entsprechenden *.yml.disabled Zu *.yml. Für einige dieser Dienste müssen Sie möglicherweise die enabled: true Option zum *.yml Datei und geben Sie die entsprechenden Verbindungs- und Konfigurationsdetails ein.

Schritt 3 – Setup-Rolle erstellen

Referenz für die Setup-Rolle

Gehen Sie in Kibana zu Stapelverwaltung > Rollen > Rolle erstellen. Füllen Sie dann diese Felder aus:

Role name: metricbeat_setup Cluster privileges: monitor manage_ilm Indices: metricbeat-* Privileges: manage

Schritt 4 – Metricbeat-Benutzer erstellen

Gehen Sie in Kibana zu Stapelverwaltung > Benutzer > Benutzer erstellen. Füllen Sie dann diese Felder aus:

Username: metricbeat_user Full name: metricbeat_user Email address: anything@anything.com Password: anything Roles: metricbeat_setup kibana_admin ingest_admin

Drücken Sie Speichern.

Schritt 5 – Metricbeat konfigurieren

Bearbeiten Sie diese Felder für die /etc/metricbeat.yml

setup.kibana: host: "https://<kibana-domain>:<kibana-port>" ssl.certificate_authorities: ["/path/to/http_ca.crt"] output.elasticsearch: hosts: ["<elasticsearch-domain-or-ip>:<elasticsearch-port>"] protocol: "https" username: "metricbeat_user" password: "<your metricbeat_user password>" ssl.certificate_authorities: ["/path/to/http_ca.crt"] setup.ilm.check_exists: false

Die fertige Datei metricbeat.yml finden Sie hier.

WICHTIG – wir verwenden den Setup-Benutzer für die Ersteinrichtung und Konfiguration. Wir werden die Berechtigungen später ändern.

Testen Sie dann Ihre Konfiguration mit diesen Befehlen:

/usr/share/metricbeat/bin/metricbeat test config -c /etc/metricbeat/metricbeat.yml --path.data /var/lib/metricbeat --path.home /usr/share/metricbeat /usr/share/metricbeat/bin/metricbeat test output -c /etc/metricbeat/metricbeat.yml --path.data /var/lib/metricbeat --path.home /usr/share/metricbeat

Bestätigen Sie, dass Sie Erfolgsmeldungen erhalten.

Schritt 6 – Metricbeat einrichten

Führen Sie nun diesen Befehl aus, um Metricbeat-Datenströme und -Ansichten in Elasticsearch und Kibana einzurichten:

/usr/share/metricbeat/bin/metricbeat setup -c /etc/metricbeat/metricbeat.yml --path.data /var/lib/metricbeat --path.home /usr/share/metricbeat

Sobald der Befehl abgeschlossen ist, gehen Sie zu Kibana Speisekarte und besuchen Armaturenbrett um viele vorgefertigte Dashboards anzuzeigen.

Schritt 7 – Erstellen einer Veröffentlichungsrolle

Referenz für die Veröffentlichungsrolle

Gehen Sie in Kibana zu Stapelverwaltung > Rollen > Rolle erstellen. Füllen Sie dann diese Felder aus:

Role name: metricbeat_publisher Cluster privileges: monitor read_ilm Indices: metricbeat-* Privileges: create_doc auto_configure

Schritt 8 – Metricbeat-Rolle ändern

Löschen Sie die vorherigen Rollen für metricbeat_user und stellen Sie einfach Folgendes ein:

Roles: metricbeat_publisher

Drücken Sie Speichern.

API-Schlüssel für Benutzer erstellen

Gehen Sie in Kibana zu Entwicklertools > Konsole. Führen Sie dann diesen Befehl aus:

POST /_security/api_key/grant { "grant_type": "password", "username": "metricbeat_user", "password": "anything", "api_key": { "name": "metricbeat_user" } }

Dies sollte zu einem Ergebnis wie diesem führen:

{ "id": "J3oInZgBRvUg0VanE8wj", "name": "metricbeat_user", "api_key": "6Wwht52HgB-M8reGwXUM6g", "encoded": "SjNvSW5aZ0JSdlVnMFZhbkU4d2o6Nld3aHQ1MkhnQi1NOHJlR3dYVU02Zw==" }

Bearbeiten Sie die /etc/metricbeat/metricbeat.yml durch Auskommentieren der metricbeat_user Benutzername und Passwort und die Aktivierung der api_key ungefähr so:

output.elasticsearch: ...etc... api_key: "${ES_API_KEY}" #username: "metricbeat_user" #password: "" ...etc...

Wir verwenden den Metricbeat-Keystore, um Geheimnisse für die Laufzeit zu laden. Führen Sie nun diesen Befehl aus, um Folgendes festzulegen:ES_API_KEY Schlüsselspeichervariable:

/usr/share/metricbeat/bin/metricbeat keystore add ES_API_KEY -c /etc/metricbeat/metricbeat.yml --path.data /var/lib/metricbeat --path.home /usr/share/metricbeat

Presse eingeben und wenn Sie dazu aufgefordert werden, fügen Sie <id>:<api_key> wo die <id> und die <api_key> sind die Werte aus der Benutzertoken-Antwort, die Sie zuvor erhalten haben.

Schritt 9 – Metricbeat ausführen

systemctl enable metricbeat; systemctl start metricbeat;

In Kürze sollten Sie in Kibana Ergebnisse sehen, entweder Entdecken, Beobachtbarkeit, Stapelverwaltung > Indexverwaltung > Datenstrom, Dashboard > Wählen Sie ein Metricbeat-Dashboard aus.

Schlussbemerkung

Jedes Mal, wenn Sie ein neues Modul aktivieren in modules.d, müssen Sie laufen systemctl restart metricbeat. systemctl restart metricbeat kann Hintergrundaktionen auslösen, ähnlich wie aufstellen Das bedeutet, dass der Benutzer in Ihrem metricbeat.yml sollte die aufstellen Berechtigungen, die in Schritt 3 erwähnt wurden. Wenn Sie nicht manuell ausführen möchten systemctl restart metricbeat nach Änderungen in der modules.d Verzeichnis können Sie Metricbeat automatisch neu aktivierte Module laden lassen, indem Sie diese Eigenschaft auf true: metricbeat.config.modules.reload.enabled: true. Stellen Sie erneut sicher, dass der Benutzer in metricbeat.yml hat die aufstellen Berechtigungen.