Para que el gateway procese los telemetry data de sus agentes, reconfigúrelos para enrutar los datos a su clúster de gateway en lugar de directamente a New Relic. Cómo hacerlo depende del tipo de agente: los agentes de New Relic APM usan NEW_RELIC_HOST, las fuentes de OpenTelemetry usan la configuración del exportador OTLP y los reenviadores de logs usan su propia configuración de plug-in de salida. Las secciones a continuación cubren cada tipo de agente. Todos los ejemplos usan el extremo de gateway local del clúster. Reemplácelo por su extremo real si los agentes se ejecutan fuera del clúster.
Agente New Relic APM
NEW_RELIC_HOST es solo para APM y no tiene efecto en las fuentes de OpenTelemetry, el agente de infraestructura o los reenviadores de logs. El El extremo de la gateway debe ser accesible a través de HTTPS, por lo que los agentes APM se conectan a través del proxy inverso dentro del clúster (NGINX o Kong) o el ALB fuera del clúster, no directamente al pod de la gateway.
El siguiente ejemplo muestra un archivo de configuración del agente de 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*' ] }}Recolector OpenTelemetry
Versión mínima: opentelemetry-collector-contrib v0.104.0
Use el exportador otlphttp apuntando al puerto HTTP OTLP del gateway. Despliegue esta configuración como un ConfigMap de 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]Importante
Utilice el exportador otlphttp, no otlp. El chart de Helm renombra otlp a otlp_grpc internamente, lo cual no es válido para esta versión del recolector.
agente de conexión automática de eBPF
Configure el agente de conexión automática de APM de eBPF para enviar telemetría a través de OTLP gRPC estableciendo customOtlpEndpoint en el archivo de valores:
customOtlpEndpoint: "pipeline-control-gateway.newrelic.svc.cluster.local:4317"customOtlpEndpointTlsEnabled: falsereportLogs: "true"Esto enruta tanto las métricas como los logs a través del receptor OTLP gRPC de la gateway en el puerto 4317. TLS está desactivado porque la conexión permanece dentro del clúster.
Agente de infraestructura
Versión mínima: v1.62.0
El agente de infraestructura tiene dos rutas de configuración independientes según lo que desee enrutar a través de la gateway:
- Toda la telemetría (métricas, eventos, inventario y logs): utilice
collector_urlymetric_urlen los valores de Helm. Esto enruta todo lo que recopila el agente a través de la gateway. - Solo logs: utilice
logging_endpointennewrelic-infra.yml. Esto enruta solo el reenvío de logs a través de la gateway, mientras que el resto de la telemetría continúa yendo directamente a New Relic.
Enrute toda la telemetría a través del gateway
Establezca collector_url y metric_url en sus valores de 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"Enrute los logs solo a través del gateway.
Establezca logging_endpoint en /etc/newrelic-infra.yml y habilite el reenvío de logs:
license_key: YOUR_LICENSE_KEYlogging_endpoint: http://pipeline-control-gateway.newrelic.svc.cluster.local/log/v1log: forward: trueUtilice http:// para el extremo local del clúster. Utilice https:// solo cuando se enrute a través de un proxy inverso dentro del clúster (NGINX o Kong) con cert-manager desplegado.
Luego, defina qué archivos de log reenviar en /etc/newrelic-infra/logging.d/logging.yml:
logs: - name: my-app-logs file: /var/log/my-app.logReinicie el agente de infraestructura para aplicar los cambios.
Matriz de compatibilidad: Agentes y versiones compatibles
La siguiente tabla enumera los agentes de APM de New Relic, los agentes de infraestructura y los recopiladores de logs compatibles para su uso con el gateway. Tenga en cuenta que el soporte para la función Gateway no anula las políticas generales de fin de vida útil (EOL) de New Relic ni ninguna política de EOL específica del agente.
Tipo de agente/Lenguaje | Versiones disponibles |
|---|---|
Agente New Relic APM | Consulte las versiones específicas del lenguaje a continuación: |
8.17.438 y posteriores | |
2.2.0 y posteriores | |
4.9.0 y posteriores | |
6.10.0 y posteriores | |
10.0.0 y posteriores | |
4.10.0 y posteriores | |
6.1.0 y más tarde | |
1.62.0 y posteriores | |
v3.33.2 y posteriores | |
2.3.0 y posteriores | |
opentelemetry-collector-contrib v0.104.0 y posteriores | |
N / A |
Las versiones enumeradas son representativas de la gama disponible para cada idioma. Para obtener información detallada sobre la versión, consulte la documentación del agente específico.