Pour générer un log détaillé et obtenir des informations de version et configuration , suivez les étapes ci-dessous. Pour obtenir de l'aide en cas de dépannage, consultez Ne pas voir les données ou message d'erreur.
Si vous utilisez la version 2 de l'intégration, consultez logs Kubernetes en version 2.
L'intégration Kubernetes ne produit pas de log de niveau debug
. Si vous effectuez une enquête plus approfondie par vous-même ou avec l'assistance New Relic, vous pouvez activer le mode verbeux.
Prudence
Le mode verbeux augmente considérablement la quantité d'informations envoyées au fichier de log. N'activez ce mode que temporairement à des fins de dépannage et réinitialisez le niveau de log une fois terminé.
Pour obtenir des détails de logging détaillés à l’aide de Helm et du graphique
nri-bundle
:Ajoutez la configuration suivante à votre fichier
values.yaml
.# To enable verboseLog for newrelic-infrastructure onlynewrelic-infrastructure:verboseLog: trueVous pouvez également activer le logging détaillé pour tous les sous-graphiques :
# To enable verboseLog for all sub-chartsglobal:verboseLog: trueUne fois que vous avez ajouté la configuration souhaitée, mettez à niveau la solution avec cette commande :
bash$helm upgrade RELEASE_NAME newrelic/nri-bundle \>--namespace NEWRELIC_NAMESPACE \>-f values-newrelic.yaml \>[--version fixed-chart-version]Après avoir collecté votre log détaillé, annulez la modification dans votre fichier
values.yaml
et exécutez à nouveau la commandeupgrade
.
Pour obtenir des détails de logging détaillés à l’aide d’un fichier manifeste :
Vous devez définir deux variables d’environnement différentes :
NRIA_VERBOSE="1"
pour tous les conteneursagent
etforwarder
; cela active le log détaillé de l'agent. Vous pouvez définir ceci ci-dessousNRIA_LICENSE_KEY
.Définissez
NRI_KUBERNETES_VERBOSE=true"
dans tous les composants de l'intégration ; cela active le log détaillé pour l'intégration.env:- name: NRIA_LICENSE_KEYvalueFrom:secretKeyRef:key: licenseKeyname: newrelic-bundle-newrelic-infrastructure-license- name: NRIA_VERBOSEvalue: "1"
Une fois le manifeste modifié, mettez à niveau la solution avec cette commande :
bash$kubectl apply -f your_newrelic_k8s.yaml -n NEWRELIC_NAMESPACEAprès avoir collecté votre log détaillé, annulez la modification dans le manifeste et appliquez à nouveau le manifeste.
Il existe trois composants différents de l'intégration qui sont en charge du scraping ksm
, controlplane
et kubelet
. Dans chaque instance, deux conteneurs sont en cours d'exécution, l'un récupérant les données et l'autre les transmettant. L'agent du composant kubelet
est également chargé de récupérer les données des nœuds et d'exécuter l'intégration. Le diagramme ci-dessous montre l’intégration installée dans un cluster avec trois nœuds.

Pour récupérer le log, récupérez le nom du pod à partir duquel vous souhaitez récupérer le log :
$kubectl get pods -n NEWRELIC_NAMESPACE
Récupérer le log :
$kubectl logs POD_NAME --all-containers --prefix
Pour récupérer le log de l’exécution précédente, ajoutez l’indicateur --previous
. Pour obtenir le log d'un seul conteneur, supprimez l'indicateur --all-containers --prefix
et spécifiez le conteneur avec l'option --container
.
Important
Pour une expérience optimale avec notre intégration Kubernetes, nous vous recommandons d'utiliser la dernière version. Découvrez les changements introduits dans la version 3.
Lorsque vous utilisez l’intégration Kubernetes, l’agent d’infrastructure est distribué sous la forme d’une image Docker contenant à la fois l’agent d’infrastructure et l’intégration Kubernetes. L'image Docker est étiquetée avec une version et l'agent infrastructure possède également sa propre version.
Une fois que l'agent envoie des données à New Relic, vous pouvez récupérer les versions de l'agent infrastructure pour Kubernetes (l'image Docker ) que vous exécutez dans votre cluster en utilisant la requête NRQL suivante :
FROM K8sContainerSampleSELECT uniqueCount(entityId)WHERE containerName LIKE '%agent%'FACET clusterName, containerImage
Si l'agent ne rapporte aucune donnée :
Obtenez les versions de l'intégration New Relic pour Kubernetes que vous exécutez dans un cluster à l'aide de kubectl
:
$kubectl get pods --all-namespaces -l app.kubernetes.io/name=newrelic-infrastructure \> -o jsonpath="{.items..spec..containers..image}"
Pour récupérer la version de kube-state-metrics
exécutée sur votre cluster, exécutez la requête NRQL suivante :
FROM K8sContainerSampleSELECT uniqueCount(entityId)WHERE containerName LIKE '%kube-state-metrics%' FACET clusterName, containerImage
Pour vérifier le log de notre événement collecteur, exécutez cette commande :
$kubectl logs deploy/nr-kube-events kube-events
Pour ajouter plus de détails, activez le mode verbeux en ajoutant verbose: "true"
dans la section config
de votre fichier de configuration, avant ou après clusterName
.
Pour vérifier le log de l'agent responsable de l'envoi de l'événement à New Relic, exécutez cette commande :
$kubectl logs deploy/nr-kube-events infra-agent