Te ofrecemos esta traducción automática para facilitar la lectura.
En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.
Instalar el agente eBPF de New Relic para Kubernetes
Puede instalar el agente eBPF de New Relic en su clúster de Kubernetes para monitorear todo el estado del sistema. El agente eBPF proporciona una visibilidad profunda del rendimiento de la aplicación sin requerir cambios de código ni desplegar un agente específico del idioma.
En la pantalla Seleccionar una cuenta, seleccione la cuenta en la que desea instalar el agente eBPF y haga clic en Continue.
En la página Seleccionar un método de instalación, seleccione Kubernetes y haga clic en Continue.
En la pantalla Ingrese su clave de usuario, seleccione una de las siguientes opciones y luego haga clic en Continue:
Emplear una clave existente: si ya tiene una clave de usuario, proporcione la clave de usuario. Para obtener más información, consulte Claves de usuario.
Crear una nueva clave: si no tiene una clave de usuario, haga clic en Create a new key para crear una.
En la pantalla Configurar la integración de Kubernetes:
Ingrese el nombre de la implementación de Kubernetes.
(Opcional) Ingrese el namespace para la integración. El namespace predeterminado es newrelic.
Haga clic en Continue.
Sugerencia
Si elige un namespace personalizado para su instrumentación New Relic (en lugar del newrelic predeterminado), le recomendamos excluir ese namespace del monitoreo agregándolo al parámetro de configuración dropDataForNamespaces. Esto evita que el agente eBPF monitoree el módulo de instrumentación por sí mismo. Por ejemplo, si emplea newrelic-mon como su namespace, configure: dropDataForNamespaces: ["kube-system", "newrelic-mon"].
En la pantalla Instalar la integración de Kubernetes:
Copie y pegue el comando que se muestra para instalar el agente eBPF en su clúster de Kubernetes usando Helm.
(Opcional) Para descargar el archivo de configuración values.yaml, haga clic en Download. Para obtener más información sobre los parámetros de configuración, consulte Parámetros de configuración de K8s.
(Opcional) Actualice el archivo values.yaml según sea necesario y guárdelo.
(Opcional) Para aplicar los cambios de configuración, ejecute el siguiente comando:
Para verificar la instalación, ejecute el siguiente comando:
bash
$
kubectl get pods -n newrelic
Acceda a los datos eBPF en New Relic
Una vez instalado el agente eBPF, comienza a recopilar datos automáticamente de su host Linux. Puede acceder a estos datos en UI OpenTelemetry de New Relic. Para obtener más información sobre UI OpenTelemetry New Relic, consulte UI OpenTelemetry APM .
En el banner de búsqueda, establezca el criterio de búsqueda como instrumentation.name = nr_ebpf:
/* Una vez que su aplicación esté instrumentada y configurada para exportar datos a New Relic, debería poder encontrar sus datos en la UI New Relic : * Encuentre su entidad en <DNT>**Todas las entidades > Servicios - OpenTelemetry</DNT>. El nombre de la entidad se establece en el valor del `service.name` de la aplicación. atributo de recurso. Para obtener más información sobre cómo la entidad de servicio New Relic se deriva del atributo de recurso OpenTelemetry, consulte [Servicios](/docs/OpenTelemetry/mejores prácticas/OpenTelemetry-mejores prácticas-resources/#services). * Emplee [NRQL](/docs/NRQL/get-started/introduction-NRQL (New Relic Query Language)/) para consultar directamente [Traza](https:\/\/one.newrelic.com\/launcher\/nr1-core.explorer?overlay=eyJuZXJkbGV0SWQiOiJkYXRhLWV4cGxvcmF0aW9uLnF1ZXJ5LWJ1aWxkZXIiLCJpbml0aWFsQWN0aXZlSW50ZXJmYWNlIjoibnJxbEVkaXRvciIsImluaXRpYWxOcnFsVmFsdWUiOiIiLCJpbml0aWFsUXVlcmllcyI6W3sibnJxbCI6IkZST00gU3BhbiBTRUxFQ1QgY291bnQoKikgd2hlcmU gbmV3cmVsaWMuc291cmNlPSclb3RscCUnIFRJTUVTRVJJRVMifV0sImluaXRpYWxDaGFydFNldHRpbmdzIjp7ImNoYXJ0VHlwZSI6IkNIQVJUX0xJTkUiLCJsaW1pdCI6NzU0MiwibGlua2VkRW50aXR5R3VpZCI6bnVsbCwibGlua2VkRGFzaGJvYXJkSWQiOm51bGwsInlTY2FsZSI6eyJzdGF0aWMiOmZhbHNlLCJkb21haW4iOltudWxsLG51bGxdfSwieVplcm8iOnRydWV9fQo=), [Métrica](https:\/\/one.newrelic.com\/launcher\/nr1-core.explorer?overlay=eyJuZXJkbGV0SWQiOiJkYXRhLWV4cGxvcmF0aW9uLnF1ZXJ5LWJ1aWxkZXIiLCJpbml0aWFsQWN0aXZlSW50ZXJmYWNlIjoibnJxbEVkaXRvciIsImluaXRpYWxOcnFsVmFsdWUiOiIiLCJpbml0aWFsUXVlcmllcyI6W3sibnJxbCI6IkZST00gTWV0cmljIFNFTEVDVCBjb3VudCgqKSB3aGVyZS BuZXdyZWxpYy5zb3VyY2UgTElLRSAnJW90bHAlJyBUSU1FU0VSSUVTIn1dLCJpbml0aWFsQ2hhcnRTZXR0aW5ncyI6eyJjaGFydFR5cGUiOiJDSEFSVF9MSU5FIiwibGltaXQiOjc1NDIsImxpbmtlZEVudGl0eUd1aWQiOm51bGwsImxpbmtlZERhc2hib2FyZElkIjpudWxsLCJ5U2NhbGUiOnsic3RhdGljIjpmYWxzZSwiZG9tYWluIjpbbnVsbCxudWxsXX0sInlaZXJvIjp0cnVlfX0K), y [logs](https:\/\/one.newrelic.com\/launcher\/nr1-core.explorer?overlay=eyJuZXJkbGV0SWQiOiJkYXRhLWV4cGxvcmF0aW9uLnF1ZXJ5LWJ1aWxkZXIiLCJpbml0aWFsQWN0aXZlSW50ZXJmYWNlIjoibnJxbEVkaXRvciIsImluaXRpYWxOcnFsVmFsdWUiOiIiLCJpbml0aWFsUXVlcmllcyI6W3sibnJxbCI6IkZST00gTG9nIFNFTEVDVCBjb3VudCgqKSB3aGVyZSB Español: uZXdyZWxpYy5zb3VyY2U9JyVvdGxwJScgVElNRVNFUklFUyJ9XSwiaW5pdGlhbENoYXJ0U2V0dGluZ3MiOnsiY2hhcnRUeXBlIjoiQ0hBUlRfTElORSIsImxpbWl0Ijo3NTQyLCJsaW5rZWRFbnRpdHlHdWlkIjpudWxsLCJsaW5rZWREYXNoYm9hcmRJZCI6bnVsbCwieVNjYWxlIjp7InN0YXRpYyI6ZmFsc2UsImRvbWFpbiI6W251bGwsbnVsbF19LCJ5WmVybyI6dHJ1ZX19Cg==). * Consulte [OpenTelemetry APM UI](/docs/OpenTelemetry/get-started/APM-monitoreo/OpenTelemetry-APM-UI) para obtener más información. Si no encuentras tu entidad y no ves tus datos con NRQL, consulta [OTLP resolución de problemas](/docs/OpenTelemetry/mejores prácticas/OpenTelemetry-otlp-resolución de problemas). Puede encontrar los datos recopilados por el agente eBPF en la UI de Openelementry New Relic. */
Actualizar el agente eBPF
Para actualizar el agente eBPF en un clúster de Kubernetes:
Para una actualización estándar: use el siguiente comando Helm para actualizar a la última versión:
Reemplace <key> con su clave de licencia de New Relic y <cluster-name> con el nombre de su clúster.
Parámetro de configuración
El archivo values.yaml contiene las siguientes secciones de configuración:
Estos parámetros controlan la identidad principal y el destino de los datos del agente eBPF.
Parámetro
Descripción
Tipo de datos
Ejemplo
cluster
Especifica el nombre de su clúster de Kubernetes. Este campo es obligatorio.
String
"production-cluster"
licenseKey
Especifica su clave de licencia de New Relic. Obligatorio si no se emplea
customSecretName
.
String
"8356...FFFFNRAL"
nrStaging
Si es
true
, envía datos al entorno de prueba de New Relic.
Boolean
true
customSecretName
Especifica el nombre de un secreto de Kubernetes que contiene su clave de licencia. Emplee esto para evitar proporcionar la clave directamente.
String
"newrelic-license-secret"
customSecretLicenseKey
Especifica la clave dentro del secreto donde se almacena el valor de la clave de licencia. Usado con
customSecretName
.
String
"license"
region
Especifica la región de su cuenta New Relic (
US
o
EU
). Obligatorio cuando se emplea
customSecretName
.
String
"US"
logLevel
Define el nivel de verbosidad del logging para el agente. Opciones válidas:
OFF
,
FATAL
,
ERROR
,
WARNING
,
INFO
,
DEBUG
.
String
"INFO"
logFilePath
Especifica una ruta de archivo dentro del contenedor del agente para la salida de log. Si la ruta no es válida, los logs se dirigen a stdout.
String
"/var/log/nr-ebpf-agent.log"
downloadedPackagedHeadersPath
Establece la ruta absoluta del directorio completo donde se descargan manualmente los encabezados de Linux necesarios y se colocan para que los emplee el agente eBPF. Esto es útil en entornos restringidos donde el agente no puede descargar los encabezados de Linux necesarios. El agente identifica los encabezados requeridos según la versión del kernel. La ruta absoluta en el caso de K8s también debe anteponer con /host cuando sea necesario. Usar sólo luego de la recomendación de soporte de NR.
String
"/path/to/downloaded/headers/dir"
distroKernelHeadersPath
Establece la ruta absoluta del directorio completo donde están presentes los encabezados de Linux para que los emplee el agente eBPF. Esto es útil cuando no se pudieron instalar los encabezados de Linux necesarios o no se pudo determinar la ruta. La ruta absoluta en el caso de K8s también debe anteponer con /host cuando sea necesario. Usar sólo luego de la recomendación de soporte de NR.
String
"/host/usr/src/linux-headers-6.8.0-pl"
tableStoreDataLimitMB
Define el límite de memoria en Megabytes (MiB) para el almacén de datos interno del agente. Este es el control principal para el uso de RAM.
String
"250"
apmDataReporting
Habilitar reportes de datos de APM . Cuando está habilitado, el agente recopila y reporta datos de monitoreo del rendimiento de aplicaciones (APM).
Boolean
true
networkMetricsReporting
Habilitar la generación de informes de métricas de red. Cuando está habilitado, el agente recopila y reporta métricas de red, incluyendo estadísticas TCP. Este campo se renombró de
tcpStatsReporting
. El nombre anterior está en desuso, pero sigue siendo compatible con versiones anteriores.
Boolean
true
Esta sección configura los filtros para descartar todos los tipos de datos de métricas de red y APM en función de la configuración proporcionada.
Parámetro
Descripción
Tipo de datos
Ejemplo
allDataFilters.dropNewRelicBundle
Eliminar datos de los servicios newrelic
namespace
y
newrelic-bundle
. Este campo se renombró de
dropDataNewRelic
. El nombre anterior está en desuso, pero sigue siendo compatible con versiones anteriores.
Boolean
true
allDataFilters.dropNamespaces
Lista de espacios de nombres de Kubernetes para los que el agente debe descartar todos los datos. Este campo se renombró de
dropDataForNamespaces
. El nombre anterior está en desuso, pero sigue siendo compatible con versiones anteriores.
List
["kube-system"]
allDataFilters.dropServiceNameRegex
Definir una expresión regular para que coincida con los nombres de los servicios k8s para eliminar. Por ejemplo
"kube-dns|otel-collector|\\bblah\\b"
Este campo se renombró de
dropDataServiceNameRegex
. El nombre anterior está en desuso, pero sigue siendo compatible con versiones anteriores.
String
""
allDataFilters.keepServiceNameRegex
Esta configuración actúa como una derivación para la configuración
dropServiceNameRegex
. Los nombres de los servicios que coincidan con esta expresión regular no tendrán sus datos eliminados por
dropServiceNameRegex
. Este campo se renombró de
allowServiceNameRegex
. El nombre anterior está en desuso, pero sigue siendo compatible con versiones anteriores.
String
""
allDataFilters.dropApmAgentEnabledEntity
Descartar todos los datos de las aplicaciones o entidades que tengan agentes de NewRelic o OTEL APM en ejecución.
Boolean
false
Configure los filtros para descartar los datos de APM de ebpf en función de la configuración proporcionada.
Parámetro
Descripción
Tipo de datos
Ejemplo
apmDataFilters.dropEapmForApmEnabledEntity
Descartar datos de APM de eBPF para aplicaciones/entidades que tengan agentes de NewRelic APM/OTel en ejecución.
Boolean
true
apmDataFilters.dropPodLabels
Etiquetas de pod para que coincidan con el filtrado de datos de APM. Un mapa vacío significa que no hay filtrado basado en etiquetas. Por ejemplo: dropPodLabels:
{ "app": "frontend", "env": "production" }
String
{}
apmDataFilters.dropEntityName
Lista de nombres de entidades para eliminar datos de eBPF APM
List
[]
apmDataFilters.keepEntityName
Lista de nombres de entidades para conservar siempre los datos de APM. De forma predeterminada, todas las entidades se conservan/habilitan. Esta configuración omite el filtro
dropEntityName
.
List
[]
Configure los filtros para descartar/conservar los datos de métricas de red en función de la configuración proporcionada.
Parámetro
Descripción
Tipo de datos
Ejemplo
networkMetricsDataFilter.dropPodLabels
Etiquetas de pod para que coincidan con el filtrado de datos de métricas de red. Un mapa vacío significa que no hay filtrado basado en etiquetas. Por ejemplo: dropPodLabels:
{ "app": "frontend", "env": "production" }
String
{}
networkMetricsDataFilter.dropEntityName
Lista de nombres de entidades para descartar datos de métricas de red.
List
[]
networkMetricsDataFilter.keepEntityName
Lista de nombres de entidades para conservar siempre los datos de métricas de red. De forma predeterminada, todas las entidades se conservan/habilitan. Esta configuración omite el filtro
dropEntityName
.
List
[]
Esta sección le permite habilitar el monitoreo para protocolos de red específicos y configurar cómo se recopilan los datos de traza (spans). Puede habilitar o deshabilitar el monitoreo para protocolos como HTTP, MySQL y otros, y establecer parámetros para la recopilación de intervalos en función de la latencia o la tasa de errores. Se admiten los siguientes protocolos:
HTTP
MySQL
PostgreSQL
MongoDB
Apache Cassandra
Redis
DinamoDB
MSSQL
kafka
AMQP
DNS
Parámetro
Descripción
Tipo de datos
Ejemplo
protocols.global.max_unlinked_spans
Controla la cantidad máxima de spans no vinculados informados por protocolo. Establezca en 0 para deshabilitar el límite
String
"100"
protocols.<protocol-name>.enabled
Si es
true
, habilita el monitoreo para el protocolo especificado, por ejemplo,
http
,
mysql
y cualquier otro.
Boolean
true
protocols.<protocol-name>.spans.enabled
Si
true
, exporta los intervalos de traza para el protocolo habilitado.
Boolean
true
protocols.<protocol-name>.spans.samplingLatency
Define el umbral de ejemplificación basada en latencia para exportar intervalos. Opciones válidas:
p1
,
p10
,
p50
,
p90
,
p99
.
String
"p50"
protocols.http.spans.samplingErrorRate
Sólo para HTTP. Las exportaciones abarcan cualquier ruta donde la tasa de errores supere el porcentaje especificado (1-100).
String
"5"
Estas secciones controlan la configuración de implementación de los componentes principales de la solución. Un asterisco (*) denota el nombre del componente.
Parámetro
Descripción
Tipo de datos
Ejemplo
*.image.repository
Especifica el repositorio de imágenes del contenedor para el componente.
String
"docker.io/newrelic/newrelic-ebpf-agent"
*.image.pullPolicy
Define la política de extracción para la imagen del contenedor.
String
"IfNotPresent"
*.image.tag
Especifica la versión de etiqueta de la imagen contenedora a desplegar.
String
"agent-0.2.4"
*.resources.limits.memory
Define la memoria máxima que puede emplear el contenedor.
String
"2Gi"
*.resources.limits.cpu
Define la CPU máxima que puede emplear el contenedor.
String
"1"
*.resources.requests.memory
Define la memoria mínima aplicar para el contenedor al inicio.
String
"250Mi"
*.resources.requests.cpu
Define la CPU mínima aplicar para el contenedor al inicio.
String
"100m"
*.tolerations
Define tolerancias de pod para permitir la programación en nodos con contaminaciones específicas.
Objects
[{"key": "special", "operator": "Exists"}]
*.affinity
Define reglas de afinidad y antiafinidad pod para la programación.
Object
{}
*.podAnnotations
Especifica anotaciones personalizadas para agregar al pod del componente.
Object
{"iam.amazonaws.com/role": "my-role"}
Estos parámetros se aplican a todos los pods desplegados por el gráfico de Helm, a menos que sean reemplazados por una configuración específica del componente.
Parámetro
Descripción
Tipo de datos
Ejemplo
podLabels
Especifica etiquetas adicionales que se aplicarán a todos los desplegables de pods mediante el gráfico.
Object
{"team": "observability"}
priorityClassName
Especifica
PriorityClass
para todos los pods.
String
"high-priority"
nodeSelector
Restringe el pod para que solo se ejecute en nodos con etiquetas coincidentes.
Object
{"disktype": "ssd"}
Desinstalar el agente eBPF
Para desinstalar el agente eBPF de su clúster de Kubernetes:
bash
$
helm uninstall nr-ebpf-agent -n newrelic
Sugerencia
Este comando eliminará todos los componentes del agente eBPF de su clúster. El namespace permanecerá a menos que lo elimine explícitamente.