
Einführung
Dies ist eine Fortsetzung der Verwendung APM Binary mit Elasticsearch und Kibana. In diesem Beispiel verwenden wir Docker, um eine NodeJS-Anwendung zu starten, Elastic Agent mit Fleet Server und Elasticsearch plus Kibana als APM-Logserver und -Visualisierer.
Ein Großteil der Docker-Erklärung wird hierin erläutert.Elasticsearch + Docker Compose: Vollständige Erklärung Video.
Download-Code:Demnächst verfügbar
Anforderungen
- ELK – Ubuntu 24.04, 8 GB Arbeitsspeicher
- App – Ubuntu 24.04, 1 GB Arbeitsspeicher
Schritte
Schritt 1 – Elasticsearch und Kibana installieren
Platzieren Sie Folgendes auf dem Elasticsearch-Server install.sh Skript auf dem Server, den Sie als Elasticsearch Kibana APM-Protokollierungsserver verwenden möchten.
Aktualisiere die Variable baseip Fügen Sie oben in der Datei die IP-Adresse Ihres Elasticsearch Kibana APM-Servers ein.
Laufen chmod +x install.sh && ./install.sh
Wenn alles abgeschlossen ist, setzen Sie die elastic Superuser-Passwort durch Ausführen /usr/share/elasticsearch/bin/elasticsearch-reset-password -i -u elastic.
Erstellen Sie mit diesem Befehl ein Registrierungstoken./usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana. Kopieren Sie das Registrierungstoken, Sie benötigen es später.
Typ systemctl status kibana Um die URL zu erhalten, die Sie besuchen sollen. Sie sollte etwa so aussehen:https://0.0.0.0/?code=129302. Besuchen Sie diese URL in Ihrem Webbrowser (möglicherweise müssen Sie die URL ersetzen).0.0.0.0 Geben Sie die tatsächliche IP-Adresse Ihres Elasticsearch-Servers ein. Fügen Sie Ihr Registrierungstoken ein und senden Sie es ab.
Jetzt können Sie sich mit dem Passwort, das Sie erstellt haben, bei Elasticsearch und Kibana anmelden.elastic Benutzer.
Schritt 2 – TLS für den Flottenserver einrichten
Führen Sie auf dem Elasticsearch-Server folgenden Befehl aus:
fleetip='ip.of.app.server'
mkdir -p /etc/certs
/usr/share/elasticsearch/bin/elasticsearch-certutil cert \
--out /etc/certs/fleet.zip \
--name fleet \
--ca-cert /etc/elasticsearch/certs/http_ca.crt \
--ca-key /etc/elasticsearch/certs/http_ca.key \
--ip $fleetip \
--pem;
Wenn Sie Domainnamen verwenden möchten, ersetzen Sie --ip $fleetip mit --dns your.domain.or.hostname.
Führen Sie anschließend diese Befehle auf Ihrem Elasticsearch-Server aus:
fleetip='ip.of.app.server'
ssh root@$fleetip 'mkdir -p /etc/certs/elasticsearch/'
scp /etc/elasticsearch/certs/http_ca.crt root@$fleetip:/etc/certs/elasticsearch/http_ca.crt
scp /etc/certs/fleet.zip root@$fleetip:/etc/certs/
ssh root@$fleetip 'cd /etc/certs/ && unzip fleet.zip'
Schritt 3 – Flottenserver einrichten
Gehen Sie zu Kibana.
Gehe zu Fleet » Einstellungen » Fleet-Server hinzufügen » Erweitert.
Verwenden Sie diese Einstellungen:
- Erstellen Sie eine Flottenserverrichtlinie (Sie können Systemmetriken erfassen)
- Wählen Sie einen Bereitstellungsmodus: Produktion
- Fügen Sie Ihren Fleet-Server-Host hinzu: Name Alles, was Sie wollen, URL:
https://ip.address.of.app.server:8220, dann drücken Add Host - Klicken Sie auf Service-Token generieren
curl -L -O https://artifacts.elastic.co/downloads/beats/elastic-agent/elastic-agent-9.2.4-linux-x86_64.tar.gz
tar xzvf elastic-agent-9.2.4-linux-x86_64.tar.gz
cd elastic-agent-9.2.4-linux-x86_64
sudo ./elastic-agent install --url=https://{ip.of.app.server}:8220 \
--fleet-server-es=https://{ip.of.elasticsearch.kibana}:9200 \
--fleet-server-service-token={autogenerated} \
--fleet-server-policy=fleet-server-policy \
--fleet-server-es-ca-trusted-fingerprint={autogenerated} \
--certificate-authorities=/etc/certs/elasticsearch/http_ca.crt
--fleet-server-cert=/etc/certs/fleet/fleet.crt
--fleet-server-cert-key=/etc/certs/fleet/fleet.key
--fleet-server-port=8220
--install-servers
Der --certificate-authorities ist für die Person, die unterschrieben hat --fleet-server-cert.
Schritt 4 – APM einrichten
Gehe zu Kibana » Integrationen » APM » Elastic APM hinzufügen.
Verwenden Sie diese Felder:
- Integrationsname:
Give a name - Gastgeber:
localhost: 8200 - URL:
http://localhost:8200 - Agentenautorisierung » Geheimes Token:
anything you want - Vorhandene Hosts » Agentenrichtlinien:
Fleet Server policy name from Step 3
Schritt 5 – Anwendung installieren
Siehe die Anwendungsbeispiele aus dem Anfängerleitfaden APM installieren und testen.
Schritt 6 – Zusätzliche Dienstleistungen beobachten
Der Vorteil von Elastic Agent und Fleet Server liegt in der Möglichkeit, mehr Dienste zu überwachen. Wir demonstrieren dies anhand der Installation des Apache2-Webservers.
apt-get install -y apache2
Besuchen Sie jetzt http://ip.of.app.server um zu überprüfen, ob die Webseite funktioniert.
Gehe zu Kibana » Integrationen » Apache HTTP Server » Apache HTTP Server hinzufügen.
Verwenden Sie diese Einstellungen:
- Integrationsname:
Give a name - Vorhandene Hosts » Agentenrichtlinien:
Fleet Server policy name from Step 3
Besuchen Sie die Apache HTTP-Server » Assets für Visualisierungen.