OpenTelemetry (OTLP) Integration
Lasttest-Metriken per OpenTelemetry streamen
Die OpenTelemetry-Integration exportiert Ihre Live-Lasttest-Metriken über das OpenTelemetry Protocol (OTLP) an jedes OTLP-kompatible Backend, sodass Sie einen Test in dem Tool verfolgen können, das Sie ohnehin für Observability nutzen. Sie funktioniert mit Honeycomb, Grafana Cloud, New Relic, Datadog, Elastic und jedem selbst gehosteten OpenTelemetry Collector.
Integration erstellen
- Öffnen Sie
Einstellungen>Integrationen. - Klicken Sie auf
Neue Integrationund wählen SieOpenTelemetry. - Füllen Sie die folgenden Felder aus und klicken Sie auf
Integration speichern.
Integrationsfelder
- Name: Eine Bezeichnung für diese Integration, zum Beispiel
Honeycomb HTTP. - OTLP-Endpunkt: Wohin die Metriken gesendet werden.
- Für HTTP (protobuf) verwenden Sie die Basis-URL inklusive Schema, zum Beispiel
https://api.honeycomb.io. LoadFocus hängt/v1/metricsautomatisch an. - Für gRPC verwenden Sie
host:port, zum Beispielapi.honeycomb.io:443. Ohne Schema wirdhttps://angenommen.
- Für HTTP (protobuf) verwenden Sie die Basis-URL inklusive Schema, zum Beispiel
- Protokoll:
HTTP (protobuf)(Standard, funktioniert überall) odergRPC. - Header (key=value, durch Komma getrennt): Paare für die Authentifizierung, zum Beispiel
api-key=YOUR_KEY,x-tenant=team. Dies ist das einzige geheime Feld und wird verschlüsselt gespeichert.
Endpoints und Headers je Backend
| Backend | Endpoint (HTTP) | Endpoint (gRPC) | Headers |
|---|---|---|---|
| Honeycomb | https://api.honeycomb.io | api.honeycomb.io:443 | x-honeycomb-team=INGEST_KEY,x-honeycomb-dataset=DATASET_NAME |
| Grafana Cloud | die OTLP-Gateway-URL Ihres Stacks | beim gehosteten Gateway nicht angeboten | Authorization=Basic BASE64(instanceID:token) |
| New Relic | https://otlp.nr-data.net (US) oder https://otlp.eu01.nr-data.net (EU) | otlp.nr-data.net:4317 | api-key=LICENSE_KEY |
| Elastic | die OTLP-URL Ihres APM-Servers | host:8200 Ihres APM-Servers | Authorization=ApiKey API_KEY |
| Selbst gehosteter Collector | https://your-collector:4318 | your-collector:4317 | optional |
Für New Relic und Dynatrace nutzen Sie stattdessen die eigenen Integrationen New Relic und Dynatrace. Sie tragen den Endpoint für Sie ein, prüfen Ihren Schlüssel beim Speichern und senden Delta-Metriken. Dynatrace braucht Delta-Metriken und verwirft die kumulativen Metriken, die diese generische Integration sendet.
Hinweise zu Honeycomb
- Verwenden Sie einen Ingest Key, den Sie unter
Environment Settings>API Keys>Ingestanlegen. Kopieren Sie das Key Secret, das beim Anlegen des Schlüssels einmalig angezeigt wird, nicht die kürzere Key ID aus der Liste. Wird die Key ID gesendet, kommtunknown API key(HTTP 401) zurück. - Für Metriken muss der Header
x-honeycomb-datasetdas Dataset benennen, in dem sie landen. - Geben Sie dem Schlüssel die Berechtigung
Can create services/datasets, damit das Dataset mit den ersten eintreffenden Metriken angelegt wird.
Die Integration an einen Test anhängen
- Öffnen Sie einen JMeter- oder k6-Test und gehen Sie zum Abschnitt
Integrationen. - Wählen Sie Ihre OpenTelemetry-Integration im Dropdown aus.
- Speichern Sie den Test und führen Sie ihn aus.
Jeder Lauf, der mit einer Integration verknüpft ist, streamt seine Metriken an das konfigurierte Backend.
Was Sie sehen werden
Die Metriken tragen Namen und ID des Testlaufs, sodass Sie nach Testlauf aufschlüsseln können.
- JMeter-Tests senden
jmeter.samples(mit den Tagssamplerundstatus, derokoderkoist),jmeter.response_time_ms(Tagsampler) undjmeter.errors(Tagssamplerundresponse_code). Der Testlauf steht in den Resource-Attributenloadfocus.testrunnameundloadfocus.testrunid, nebenservice.name. JMeter bündelt die Daten und sendet sie am Ende des Laufs, daher erscheinen die Metriken erst, wenn der Lauf beendet ist. - k6-Tests senden die Standardmetriken von k6, etwa
http_req_duration,http_reqs,vusunditerations, die gestreamt werden, während der Test läuft. LoadFocus versieht sie mit den Tagstestrunname,testrunid,regionundmachine.
Fehlerbehebung
unknown API keyoder HTTP 401: Die Zugangsdaten sind falsch oder fehlen. Prüfen Sie bei Honeycomb, ob Sie das Key Secret und nicht die Key ID verwendet haben.- Keine Daten im Backend: Prüfen Sie den Zielnamen (Honeycomb-Dataset, New-Relic-Konto usw.) und den Auth-Header, und denken Sie daran, dass JMeter-Metriken erst erscheinen, wenn der Lauf beendet ist.
- Endpoint abgelehnt: HTTP-Endpoints müssen das Schema
https://enthalten; gRPC-Endpoints verwendenhost:port. - Der Lauf selbst bleibt unberührt: Ist eine Integration falsch konfiguriert, läuft der Test trotzdem, er exportiert dann nur keine Metriken.
Die Integration bearbeiten oder entfernen
- Bearbeiten: Klicken Sie unter
Integrationenauf das Bearbeiten-Symbol der Integration, um Name, Endpunkt, Protokoll oder Header zu ändern. Lassen Sie das Feld Header leer, um die bestehenden Zugangsdaten zu behalten; geben Sie nur dann einen Wert ein, wenn Sie sie ersetzen möchten. - Entfernen: Klicken Sie auf das Löschen-Symbol der Integration, um sie aus Ihren externen Reporting-Diensten zu entfernen.