Cette traduction automatique est fournie pour votre commodité.
En cas d'incohérence entre la version anglaise et la version traduite, la version anglaise prévaudra. Veuillez visiter cette page pour plus d'informations.
Vous pouvez installer l'agent New Relic eBPF sur votre cluster Kubernetes pour monitorer l'ensemble de la santé de votre système. L'agent eBPF offre une visibilité approfondie sur les performances des applications sans nécessiter de modifications de code ni de déploiement d'agents spécifiques au langage.
Sur l'écran Sélectionner un compte, sélectionnez le compte sur lequel vous souhaitez installer l'agent eBPF, puis cliquez sur Continuer.
Sur la page Sélectionner une méthode d’installation, sélectionnez Kubernetes et cliquez sur Continue.
Sur l'écran Saisissez votre clé utilisateur, sélectionnez l'une des options suivantes, puis cliquez sur Continue:
Utiliser une clé existante: Si vous disposez déjà d’une clé utilisateur, fournissez la clé utilisateur. Pour plus d'informations, reportez-vous à Clés utilisateur.
Créer une nouvelle clé: Si vous n’avez pas de clé utilisateur, cliquez sur Create a new key pour en créer une.
Sur l’écran Configurer l’intégration Kubernetes :
Saisissez le nom de déploiement pour Kubernetes.
(Facultatif) Saisissez l'espace de nommage pour l'intégration. L'espace de nommage par défaut est newrelic.
Cliquez sur Continue.
Conseil
Si vous choisissez un espace de nommage personnalisé pour votre instrumentation New Relic (au lieu de l'espace de nommage par défaut newrelic), nous vous recommandons d'exclure cet espace de nommage de monitoring en l'ajoutant au paramètre configuration dropDataForNamespaces. Cela empêche l'agent eBPF de monitoring lui-même le module d'instrumentation. Par exemple, si vous utilisez newrelic-mon comme espace de nommage, définissez : dropDataForNamespaces: ["kube-system", "newrelic-mon"].
Sur l'écran Installer l'intégration Kubernetes :
Copiez et collez la commande affichée pour installer l'agent eBPF sur votre cluster Kubernetes à l'aide de Helm.
(Facultatif) Pour télécharger le fichier de configuration values.yaml, cliquez sur Download. Pour en savoir plus sur les paramètres de configuration, reportez-vous à Paramètres de configuration K8s.
(Facultatif) Mettez à jour le fichier values.yaml selon vos besoins et enregistrez-le.
(Facultatif) Pour appliquer les modifications de configuration, exécutez la commande suivante :
Pour vérifier l’installation, exécutez la commande suivante :
bash
$
kubectl get pods -n newrelic
Accéder aux données eBPF dans New Relic
Une fois l'agent eBPF installé, il commence automatiquement à collecter les données de votre hôte Linux. Vous pouvez accéder à ces données dans l'interface utilisateur OpenTelemetry de New Relic. Pour plus d'informations sur l'interface utilisateur New Relic OpenTelemetry, reportez-vous à l'interface utilisateur OpenTelemetry APM.
Dans la bannière de recherche, définissez les critères de recherche sur instrumentation.name = nr_ebpf:
/* Une fois votre application instrumentée et configurée pour exporter des données vers New Relic, vous devriez pouvoir trouver vos données dans l'interface utilisateur de New Relic : * Trouvez votre entité dans <DNT>**Toutes les entités > Services - OpenTelemetry</DNT>. Le nom de l'entité est défini sur la valeur du « service.name » de l'application attribut de ressource. Pour plus d'informations sur la façon dont les entités de service New Relic sont dérivées de l'attribut de ressource OpenTelemetry, voir [Services](/docs/OpenTelemetry/bonnes pratiques/OpenTelemetry-bonnes pratiques-resources/#services). * Utilisez [NRQL](/docs/NRQL/get-started/introduction-NRQL (langage de requête New Relic)/) pour effectuer une requête directement pour [trace](https\://one.newrelic.com/launcher/nr1-core.explorer?overlay=eyJuZXJkbGV0SWQiOiJkYXRhLWV4cGxvcmF0aW9uLnF1ZXJ5LWJ1aWxkZXIiLCJpbml0aWFsQWN0aXZlSW50ZXJmYWNlIjoibnJxbEVkaXRvciIsImluaXRpYWxOcnFsVmFsdWUiOiIiLCJpbml0aWFsUXVlcmllcyI6W3sibnJxbCI6IkZST00gU3BhbiBTRUxFQ1QgY291bnQoKikgd2hlcmU gbmV3cmVsaWMuc291cmNlPSclb3RscCUnIFRJTUVTRVJJRVMifV0sImluaXRpYWxDaGFydFNldHRpbmdzIjp7ImNoYXJ0VHlwZSI6IkNIQVJUX0xJTkUiLCJsaW1pdCI6NzU0MiwibGlua2VkRW50aXR5R3VpZCI6bnVsbCwibGlua2VkRGFzaGJvYXJkSWQiOm51bGwsInlTY2FsZSI6eyJzdGF0aWMiOmZhbHNlLCJkb21haW4iOltudWxsLG51bGxdfSwieVplcm8iOnRydWV9fQo=), [métriques](https\://one.newrelic.com/launcher/nr1-core.explorer?overlay=eyJuZXJkbGV0SWQiOiJkYXRhLWV4cGxvcmF0aW9uLnF1ZXJ5LWJ1aWxkZXIiLCJpbml0aWFsQWN0aXZlSW50ZXJmYWNlIjoibnJxbEVkaXRvciIsImluaXRpYWxOcnFsVmFsdWUiOiIiLCJpbml0aWFsUXVlcmllcyI6W3sibnJxbCI6IkZST00gTWV0cmljIFNFTEVDVCBjb3VudCgqKSB3aGVyZS BuZXdyZWxpYy5zb3VyY2UgTElLRSAnJW90bHAlJyBUSU1FU0VSSUVTIn1dLCJpbml0aWFsQ2hhcnRTZXR0aW5ncyI6eyJjaGFydFR5cGUiOiJDSEFSVF9MSU5FIiwibGltaXQiOjc1NDIsImxpbmtlZEVudGl0eUd1aWQiOm51bGwsImxpbmtlZERhc2hib2FyZElkIjpudWxsLCJ5U2NhbGUiOnsic3RhdGljIjpmYWxzZSwiZG9tYWluIjpbbnVsbCxudWxsXX0sInlaZXJvIjp0cnVlfX0K), et [logs](https\://one.newrelic.com/launcher/nr1-core.explorer?overlay=eyJuZXJkbGV0SWQiOiJkYXRhLWV4cGxvcmF0aW9uLnF1ZXJ5LWJ1aWxkZXIiLCJpbml0aWFsQWN0aXZlSW50ZXJmYWNlIjoibnJxbEVkaXRvciIsImluaXRpYWxOcnFsVmFsdWUiOiIiLCJpbml0aWFsUXVlcmllcyI6W3sibnJxbCI6IkZST00gTG9nIFNFTEVDVCBjb3VudCgqKSB3aGVyZSBu ZXdyZWxpYy5zb3VyY2U9JyVvdGxwJScgVElNRVNFUklFUyJ9XSwiaW5pdGlhbENoYXJ0U2V0dGluZ3MiOnsiY2hhcnRUeXBlIjoiQ0hBUlRfTElORSIsImxpbWl0Ijo3NTQyLCJsaW5rZWRFbnRpdHlHdWlkIjpudWxsLCJsaW5rZWREYXNoYm9hcmRJZCI6bnVsbCwieVNjYWxlIjp7InN0YXRpYyI6ZmFsc2UsImRvbWFpbiI6W251bGwsbnVsbF19LCJ5WmVybyI6dHJ1ZX19Cg==). * Voir [OpenTelemetry APM UI](/docs/OpenTelemetry/get-started/apm-monitoring/OpenTelemetry-apm-ui) pour plus d'informations. Si vous ne trouvez pas votre entité et ne voyez pas vos données avec NRQL, voir [OTLP dépannage](/docs/OpenTelemetry/bonnes pratiques/OpenTelemetry-otlp-dépannage). Vous pouvez trouver les données collectées par l'agent eBPF dans l'interface utilisateur New Relic Opentelementry. */
Mettre à niveau l'agent eBPF
Pour mettre à niveau l'agent eBPF dans un cluster Kubernetes :
Pour une mise à niveau standard: utilisez la commande Helm suivante pour passer à la dernière version :
Remplacez <key> par votre clé de licence New Relic et <cluster-name> par le nom de votre cluster.
Paramètres de configuration
Le fichier values.yaml contient les sections de configuration suivantes :
Ces paramètres contrôlent l’identité principale et la destination des données de l’agent eBPF.
paramètres
Description
Type de données
Exemple
cluster
Spécifie le nom de votre cluster Kubernetes. Ce champ est obligatoire.
String
"production-cluster"
licenseKey
Spécifie votre clé de licence New Relic. Obligatoire si
customSecretName
n'est pas utilisé.
String
"8356...FFFFNRAL"
nrStaging
Si
true
, envoie des données à l'environnement de simulation de New Relic.
Boolean
true
customSecretName
Spécifie le nom d’un secret Kubernetes qui contient votre clé de licence. Utilisez ceci pour éviter de fournir la clé directement.
String
"newrelic-license-secret"
customSecretLicenseKey
Spécifie la clé dans le secret où la valeur de la clé de licence est stockée. Utilisé avec
customSecretName
.
String
"license"
region
Spécifie la région de votre compte New Relic (
US
ou
EU
). Obligatoire lors de l'utilisation
customSecretName
.
String
"US"
logLevel
Définit le niveau de verbosité de la logging pour l'agent. Options valides :
OFF
,
FATAL
,
ERROR
,
WARNING
,
INFO
,
DEBUG
.
String
"INFO"
logFilePath
Spécifie un chemin de fichier à l'intérieur du conteneur de l'agent pour la sortie de log. Si le chemin n'est pas valide, les logs sont dirigés vers stdout.
String
"/var/log/nr-ebpf-agent.log"
downloadedPackagedHeadersPath
Définit le chemin absolu du répertoire complet où les en-têtes Linux requis sont téléchargés manuellement et placés pour que l'agent eBPF puisse les utiliser. Ceci est utile dans les environnements restreints où l'agent n'est pas en mesure de télécharger les en-têtes Linux requis. Les en-têtes requis sont identifiés par l'agent en fonction de la version du noyau. Le chemin absolu dans le cas de K8 doit également être précédé de /hôte si nécessaire. Utiliser uniquement après recommandation du support NR.
String
"/path/to/downloaded/headers/dir"
distroKernelHeadersPath
Définit le chemin absolu du répertoire complet où les en-têtes Linux sont présents pour que l'agent eBPF les utilise. Ceci est utile lorsque les en-têtes Linux requis n'ont pas pu être installés ou que le chemin n'a pas pu être déterminé. Le chemin absolu dans le cas de K8 doit également être précédé de /hôte si nécessaire. Utiliser uniquement après recommandation du support NR.
String
"/host/usr/src/linux-headers-6.8.0-pl"
tableStoreDataLimitMB
Définit la limite de mémoire en mégaoctets (Mio) pour le magasin de données interne de l'agent. Il s’agit du contrôle principal de l’utilisation de la RAM.
String
"250"
apmDataReporting
Activez le reporting APM des données. Lorsqu'il est activé, l'agent collecte et transmet les données monitoring des performances des applications.
Boolean
true
networkMetricsReporting
Activer la génération de rapports de métriques réseau. Lorsqu'il est activé, l'agent collecte et rapporte les métriques réseau, y compris les statistiques TCP. Ce champ est renommé à partir de
tcpStatsReporting
. L’ancien nom est obsolète, mais reste pris en charge pour la compatibilité descendante.
Boolean
true
Cette section configure les filtres pour supprimer tous les types de métriques réseau et de données APM en fonction de la configuration fournie.
paramètres
Description
Type de données
Exemple
allDataFilters.dropNewRelicBundle
Supprimez les données des services newrelic
namespace
et
newrelic-bundle
. Ce champ est renommé à partir de
dropDataNewRelic
. L'ancien nom est obsolète mais reste pris en charge pour la compatibilité descendante.
Boolean
true
allDataFilters.dropNamespaces
Liste des espaces de noms Kubernetes pour lesquels toutes les données doivent être supprimées par l'agent. Ce champ est renommé à partir de
dropDataForNamespaces
. L'ancien nom est obsolète mais reste pris en charge pour la compatibilité descendante.
List
["kube-system"]
allDataFilters.dropServiceNameRegex
Définissez une expression régulière pour faire correspondre les noms des services k8s à supprimer. Par exemple
"kube-dns|otel-collector|\\bblah\\b"
Ce champ est renommé à partir de
dropDataServiceNameRegex
. L'ancien nom est obsolète, mais reste pris en charge pour la compatibilité descendante.
String
""
allDataFilters.keepServiceNameRegex
Cette configuration agit comme une dérogation pour la configuration
dropServiceNameRegex
config. Service names that match this regex will not have their data dropped by the
dropServiceNameRegex
. Ce champ est renommé à partir de
allowServiceNameRegex
. L’ancien nom est obsolète, mais reste pris en charge pour la compatibilité descendante.
String
""
allDataFilters.dropApmAgentEnabledEntity
Supprimer toutes les données des applications ou des entités qui ont des agents NewRelic ou OTEL APM en cours d'exécution.
Boolean
false
Configurer les filtres pour supprimer les données APM ebpf en fonction de la configuration fournie
paramètres
Description
Type de données
Exemple
apmDataFilters.dropEapmForApmEnabledEntity
Supprimer les données APM eBPF pour les applications/entités qui ont des agents NewRelic APM/OTel en cours d'exécution.
Boolean
true
apmDataFilters.dropPodLabels
Labels de pod à faire correspondre pour filtrer les données APM. Une carte vide signifie aucun filtrage basé sur les labels. Par exemple : dropPodLabels :
{ "app": "frontend", "env": "production" }
String
{}
apmDataFilters.dropEntityName
Liste des noms d’entités à supprimer des données eBPF APM
List
[]
apmDataFilters.keepEntityName
Liste des noms d'entités pour toujours conserver les données APM. Par défaut, toutes les entités sont conservées/activées. Cette configuration contourne le filtre
dropEntityName
.
List
[]
Configurer les filtres pour supprimer/conserver les données des métriques réseau en fonction de la configuration fournie
paramètres
Description
Type de données
Exemple
networkMetricsDataFilter.dropPodLabels
Labels de pod à faire correspondre pour filtrer les données des métriques réseau. Une carte vide signifie aucun filtrage basé sur les labels. Par exemple : dropPodLabels :
{ "app": "frontend", "env": "production" }
String
{}
networkMetricsDataFilter.dropEntityName
Liste des noms d’entités pour supprimer les données des métriques réseau.
List
[]
networkMetricsDataFilter.keepEntityName
Liste des noms d'entités pour toujours conserver les données des métriques réseau. Par défaut, toutes les entités sont conservées/activées. Cette configuration contourne le filtre
dropEntityName
.
List
[]
Cette section vous permet d'activer monitoring de protocoles réseau spécifiques et de configurer la manière dont les données trace (étendues) sont collectées. Vous pouvez activer ou désactiver monitoring des protocoles tels que HTTP, MySQL et autres, et définir des paramètres pour la collecte de span en fonction de la latence ou du taux d'erreur. Les protocoles suivants sont pris en charge :
HTTP
MySQL
PostgreSQL
MongoDB
Apache Cassandra
Redis
DynamoDB
MSSQL
Kafka
AMQP
DNS
paramètres
Description
Type de données
Exemple
protocols.global.max_unlinked_spans
Contrôle le nombre maximal de spans non liés signalés par protocole. Définir sur 0 pour désactiver la limite
String
"100"
protocols.<protocol-name>.enabled
Si
true
, active monitoring du protocole spécifié, par exemple,
http
,
mysql
et tout autre.
Boolean
true
protocols.<protocol-name>.spans.enabled
Si
true
, exporte les étendues de trace pour le protocole activé.
Boolean
true
protocols.<protocol-name>.spans.samplingLatency
Définit le seuil d'échantillonnage basé sur la latence pour l'exportation des étendues. Options valides :
p1
,
p10
,
p50
,
p90
,
p99
.
String
"p50"
protocols.http.spans.samplingErrorRate
Pour HTTP uniquement. Les exportations s'étendent à partir de n'importe quel itinéraire où le taux d'erreur dépasse le pourcentage spécifié (1-100).
String
"5"
Ces sections contrôlent les paramètres de déploiement des principaux composants de la solution. Un astérisque (*) indique le nom du composant.
paramètres
Description
Type de données
Exemple
*.image.repository
Spécifie le référentiel d’images de conteneur pour le composant.
String
"docker.io/newrelic/newrelic-ebpf-agent"
*.image.pullPolicy
Définit la politique d'extraction pour l'image du conteneur.
String
"IfNotPresent"
*.image.tag
Spécifie la tag de version de l'image conteneur à déployer.
String
"agent-0.2.4"
*.resources.limits.memory
Définit la mémoire maximale que le conteneur peut utiliser.
String
"2Gi"
*.resources.limits.cpu
Définit le CPU maximal que le conteneur peut utiliser.
String
"1"
*.resources.requests.memory
Définit la mémoire minimale demandée pour le conteneur au démarrage.
String
"250Mi"
*.resources.requests.cpu
Définit le CPU minimum demandé pour le conteneur au démarrage.
String
"100m"
*.tolerations
Définit les tolérances de pod pour permettre la planification sur des nœuds avec des souillures spécifiques.
Objects
[{"key": "special", "operator": "Exists"}]
*.affinity
Définit les règles d'affinité et d'anti-affinité pod pour la planification.
Object
{}
*.podAnnotations
Spécifie les annotations personnalisées à ajouter au pod du composant.
Object
{"iam.amazonaws.com/role": "my-role"}
Ces paramètres s'appliquent à tous les pods déployés par le graphique Helm, sauf s'ils sont remplacés par un paramètre spécifique au composant.
paramètres
Description
Type de données
Exemple
podLabels
Spécifie des étiquettes supplémentaires à appliquer à tous les pods déployés par le graphique.
Object
{"team": "observability"}
priorityClassName
Spécifie le
PriorityClass
pour tous les pods.
String
"high-priority"
nodeSelector
Contraint le pod à s'exécuter uniquement sur les nœuds avec des étiquettes correspondantes.
Object
{"disktype": "ssd"}
Désinstallez l'agent eBPF
Pour désinstaller l'agent eBPF de votre cluster Kubernetes :
bash
$
helm uninstall nr-ebpf-agent -n newrelic
Conseil
Cette commande supprimera tous les composants de l'agent eBPF de votre cluster. L'espace de nommage restera en place sauf si vous le supprimez explicitement.