OpenTelemetry (OTLP) Integration
Envoyer les métriques de vos tests de charge via OpenTelemetry
L'intégration OpenTelemetry exporte les métriques en direct de vos tests de charge via le protocole OpenTelemetry (OTLP) vers tout backend compatible OTLP, pour que vous puissiez suivre un test dans l'outil que vous utilisez déjà pour l'observabilité. Elle fonctionne avec Honeycomb, Grafana Cloud, New Relic, Datadog, Elastic et tout OpenTelemetry Collector auto-hébergé.
Créer l'intégration
- Ouvrez
Paramètres>Intégrations. - Cliquez sur
Nouvelle intégrationet choisissezOpenTelemetry. - Remplissez les champs ci-dessous et cliquez sur
Enregistrer l'intégration.
Champs de l'intégration
- Nom : Un libellé pour cette intégration, par exemple
Honeycomb HTTP. - Point de terminaison OTLP : L'adresse où les métriques sont envoyées.
- Pour HTTP (protobuf), utilisez l'URL de base avec le schéma, par exemple
https://api.honeycomb.io. LoadFocus ajoute/v1/metricspour vous. - Pour gRPC, utilisez
host:port, par exempleapi.honeycomb.io:443. Si vous omettez le schéma,https://est supposé.
- Pour HTTP (protobuf), utilisez l'URL de base avec le schéma, par exemple
- Protocole :
HTTP (protobuf)(la valeur par défaut, fonctionne partout) ougRPC. - En-têtes (key=value, séparés par des virgules) : Des paires utilisées pour l'authentification, par exemple
api-key=YOUR_KEY,x-tenant=team. C'est le seul champ secret, et il est stocké chiffré.
Endpoints et headers par 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 | l'URL de la passerelle OTLP de votre stack | non proposé sur la passerelle hébergée | Authorization=Basic BASE64(instanceID:token) |
| New Relic | https://otlp.nr-data.net (US) ou https://otlp.eu01.nr-data.net (UE) | otlp.nr-data.net:4317 | api-key=LICENSE_KEY |
| Elastic | l'URL OTLP de votre serveur APM | le host:8200 de votre serveur APM | Authorization=ApiKey API_KEY |
| Collector auto-hébergé | https://your-collector:4318 | your-collector:4317 | facultatif |
Pour New Relic et Dynatrace, utilisez plutôt les intégrations dédiées New Relic et Dynatrace. Elles renseignent l'endpoint pour vous, vérifient votre clé à l'enregistrement et envoient des métriques delta. Dynatrace exige des métriques delta et ignore les métriques cumulatives qu'envoie cette intégration générique.
Remarques sur Honeycomb
- Utilisez une Ingest Key, créée sous
Environment Settings>API Keys>Ingest. Copiez le Key Secret affiché une seule fois à la création de la clé, et non le Key ID, plus court, de la liste. Envoyer le Key ID renvoieunknown API key(HTTP 401). - Les métriques exigent que le header
x-honeycomb-datasetnomme le dataset où elles arrivent. - Donnez à la clé la permission
Can create services/datasetspour que le dataset soit créé dès les premières métriques reçues.
Associer l'intégration à un test
- Ouvrez un test JMeter ou k6 et allez à sa section
Intégrations. - Sélectionnez votre intégration OpenTelemetry dans la liste déroulante.
- Enregistrez le test, puis lancez-le.
Chaque exécution associée à une intégration envoie ses métriques au backend configuré.
Ce que vous verrez
Les métriques portent le nom et l'identifiant de l'exécution du test, ce qui permet de les ventiler par exécution.
- Les tests JMeter envoient
jmeter.samples(avec les étiquettessampleretstatus, qui vautokouko),jmeter.response_time_ms(étiquettesampler) etjmeter.errors(étiquettessampleretresponse_code). L'exécution figure dans les attributs de ressourceloadfocus.testrunnameetloadfocus.testrunid, à côté deservice.name. JMeter regroupe les données et les envoie à la fin de l'exécution, donc ses métriques n'apparaissent qu'une fois l'exécution terminée. - Les tests k6 envoient les métriques standard de k6, comme
http_req_duration,http_reqs,vusetiterations, diffusées pendant l'exécution du test. LoadFocus les étiquette avectestrunname,testrunid,regionetmachine.
Dépannage
unknown API keyou HTTP 401 : l'identifiant est incorrect ou absent. Pour Honeycomb, vérifiez que vous avez utilisé le Key Secret et non le Key ID.- Aucune donnée dans le backend : vérifiez le nom de la destination (dataset Honeycomb, compte New Relic, etc.), vérifiez le header d'authentification, et rappelez-vous que les métriques JMeter n'apparaissent qu'une fois l'exécution terminée.
- Endpoint refusé : les endpoints HTTP doivent inclure le schéma
https://; les endpoints gRPC utilisenthost:port. - L'exécution elle-même n'est pas affectée : si une intégration est mal configurée, le test s'exécute quand même, il n'exporte simplement aucune métrique.
Modifier ou supprimer l'intégration
- Modifier : dans
Intégrations, cliquez sur l'icône de modification de l'intégration pour changer le nom, l'endpoint, le protocole ou les en-têtes. Laissez le champ En-têtes vide pour conserver l'identifiant existant ; saisissez une valeur seulement si vous voulez le remplacer. - Supprimer : cliquez sur l'icône de suppression de l'intégration pour la retirer de vos services de rapports externes.