Pour que le gateway traite les données télémétriques de vos agents, reconfigurez-les pour acheminer les données vers votre cluster de gateway au lieu de directement vers New Relic. La façon de procéder dépend du type d’agent : les agents New Relic APM utilisent NEW_RELIC_HOST, les sources OpenTelemetry utilisent les paramètres de l’exportateur OTLP, et les redirecteurs de logs utilisent leur propre configuration de plug-in de sortie. Les sections ci-dessous couvrent chaque type d’agent. Tous les exemples utilisent le point de terminaison de gateway local au cluster. Remplacez-le par votre point de terminaison réel si les agents s’exécutent en dehors du cluster.
Agents New Relic APM
NEW_RELIC_HOST est uniquement APM, et n’a aucun effet sur les sources OpenTelemetry, l’agent d’infrastructure, ou les redirecteurs de logs. Le point de terminaison du gateway doit être accessible via HTTPS, afin que les agents APM se connectent via le proxy inverse dans le cluster (NGINX, ou Kong), ou l’ALB hors du cluster, et non directement au pod du gateway.
L’exemple suivant montre un fichier de configuration d’agent Node.js :
'use strict'/** * New Relic agent configuration. * * See lib/config/default.js in the agent distribution for a more complete * description of configuration variables and their potential values. */exports.config = { /** * Array of application names. */ app_name: ['My Application'], /** * Your New Relic Host endpoint. */ NEW_RELIC_HOST: 'GATEWAY_DNS_ENDPOINT_HERE', /** * Your New Relic license key. */ license_key: 'license key here', logging: { /** * Level at which to log. 'trace' is most useful to New Relic when diagnosing * issues with the agent, 'info' and higher will impose the least overhead on * production applications. */ level: 'info' }, /** * When true, all request headers except for those listed in attributes.exclude * will be captured for all traces, unless otherwise specified in a destination's * attributes include/exclude lists. */ allow_all_headers: true, attributes: { /** * Prefix of attributes to exclude from all destinations. Allows * as wildcard * at end. * * NOTE: If excluding headers, they must be in camelCase form to be filtered. * * @name NEW_RELIC_ATTRIBUTES_EXCLUDE */ exclude: [ 'request.headers.cookie', 'request.headers.authorization', 'request.headers.proxyAuthorization', 'request.headers.setCookie*', 'request.headers.x*', 'response.headers.cookie', 'response.headers.authorization', 'response.headers.proxyAuthorization', 'response.headers.setCookie*', 'response.headers.x*' ] }}OpenTelemetry Collector
Version minimale : opentelemetry-collector-contrib v0.104.0
Utilisez l’exportateur otlphttp pointant vers le port HTTP OTLP du gateway. Déployez cette configuration en tant que ConfigMap Kubernetes :
exporters: otlphttp: endpoint: http://pipeline-control-gateway.newrelic.svc.cluster.local:4318 tls: insecure: true
service: pipelines: traces: exporters: [otlphttp] metrics: exporters: [otlphttp] logs: exporters: [otlphttp]Important
Utilisez l’exportateur otlphttp, et non otlp. Le chart Helm renomme otlp en otlp_grpc en interne, ce qui est invalide pour cette version du collecteur.
Agent auto-attach eBPF
Configurez l’agent auto-attach APM eBPF pour envoyer la télémétrie via OTLP gRPC en définissant customOtlpEndpoint dans votre fichier de valeurs :
customOtlpEndpoint: "pipeline-control-gateway.newrelic.svc.cluster.local:4317"customOtlpEndpointTlsEnabled: falsereportLogs: "true"Cela achemine à la fois les métriques et les logs via le récepteur gRPC OTLP du gateway sur le port 4317. TLS est désactivé car la connexion reste au sein du cluster.
Agent d'infrastructure
Version minimale : v1.62.0
L'agent d'infrastructure dispose de deux chemins de configuration distincts en fonction de ce que vous souhaitez acheminer via le gateway :
- Toute la télémétrie (métriques, événements, inventaire, et logs) : utilisez
collector_urletmetric_urldans vos valeurs Helm. Cela achemine tout ce que l’agent collecte via le gateway. - Logs uniquement : utilisez
logging_endpointdansnewrelic-infra.yml. Cela achemine uniquement le transfert de logs via le gateway tandis que les autres données de télémétrie continuent d’aller directement vers New Relic.
Acheminez toute la télémétrie via le gateway
Définissez collector_url et metric_url dans vos valeurs Helm :
newrelic-infrastructure: common: agentConfig: collector_url: "http://pipeline-control-gateway.newrelic.svc.cluster.local" metric_url: "http://pipeline-control-gateway.newrelic.svc.cluster.local"Acheminez uniquement les logs via le gateway
Définissez logging_endpoint dans /etc/newrelic-infra.yml, et activez le transfert de logs :
license_key: YOUR_LICENSE_KEYlogging_endpoint: http://pipeline-control-gateway.newrelic.svc.cluster.local/log/v1log: forward: trueUtilisez http:// pour le point de terminaison local au cluster. Utilisez https:// uniquement lors du routage via un proxy inverse interne au cluster (NGINX ou Kong) avec cert-manager déployé.
Définissez ensuite les fichiers de log à transférer dans /etc/newrelic-infra/logging.d/logging.yml:
logs: - name: my-app-logs file: /var/log/my-app.logRedémarrez l’agent d’infrastructure pour appliquer les modifications.
Matrice de compatibilité : Agents et versions pris en charge
Le tableau suivant répertorie les agents APM New Relic, les agents Infrastructure et les collecteurs de logs pris en charge pour une utilisation avec le gateway. Notez que le support de la fonctionnalité Gateway ne remplace pas les politiques générales de fin de vie (EOL) de New Relic ni les éventuelles politiques EOL spécifiques aux agents.
Type d'agent/Langage | Versions disponibles |
|---|---|
Agents New Relic APM | Voir les versions spécifiques au langage ci-dessous : |
8.17.438 et versions ultérieures | |
2.2.0 et versions ultérieures | |
4.9.0 et versions ultérieures | |
6.10.0 et versions ultérieures | |
10.0.0 et versions ultérieures | |
4.10.0 et versions ultérieures | |
6.1.0 et plus tard | |
1.62.0 et versions ultérieures | |
v3.33.2 et versions ultérieures | |
2.3.0 et versions ultérieures | |
opentelemetry-collector-contrib v0.104.0 et versions ultérieures | |
N / A |
Les versions répertoriées sont représentatives de la gamme disponible pour chaque langue. Pour obtenir des informations détaillées sur la version, reportez-vous à la documentation spécifique de l'agent.