Aperçu
Nous travaillons toujours sur cette fonctionnalité, mais nous aimerions que vous l'essayiez !
Cette fonctionnalité est actuellement fournie dans le cadre d'un programme d'aperçu conformément à nos politiques de pré-sortie.
L'observabilité OpenTelemetry pour Kubernetes fournit une configuration open source complète associée à une interface utilisateur Kubernetes de premier ordre qui est déjà compatible avec notre instrumentation propriétaire Kubernetes. Nos interfaces utilisateur Kubernetes sont conçues pour être indépendantes des fournisseurs, vous permettant de sélectionner l'instrumentation OpenTelemetry ou New Relic en fonction de vos besoins.
Ce document décrit le processus de monitoring d'un cluster Kubernetes à l'aide d' OpenTelemetry. Il s'agit de l'installation de la nr-k8s-otel-collector
Helm carte au sein du cluster et du déploiement du collecteur nécessaire pour permettre une observabilité de premier ordre.
En intégrant les composants Kubernetes dans OpenTelemetry Collector, nous pouvons transmettre des métriques, des événements et des logs directement à New Relic. Ces signaux de télémétrie améliorent automatiquement nos expériences prêtes à l'emploi telles que le Kubernetes Navigator, dashboard de présentation, l'événement Kubernetes ou la page de résumé Kubernetes APM.
Comment ça marche ?
La nr-k8s-otel-collector
Helm charte déploie ces OpenTelemetry collecteurs :
Deamonset Collector: s'exécute sur chaque nœud de travail et est chargé de collecter les métriques de l'hôte sous-jacent dans le nœud, le
cAdvisor
, leKubelet
et de collecter le log du conteneur.Collecteur de déploiement: déployé sur le nœud control plane et responsable de la collecte des métriques des états Kube et des événements cluster Kubernetes .
Exigences
Pour envoyer des données télémétriques Kubernetes à New Relic, nous avons besoin d'un OpenTelemetry Collector. Notre distribution New Relic d' OpenTelemetry (NRDOT) est déjà configurée pour monitorer automatiquement un cluster Kubernetes. Cela se fait en déployant tous les composants nécessaires via notre nr-k8s-otel-collector
Helm diagramme .
Si vous passez à un autre OpenTelemetry Collector, assurez-vous qu'il dispose de tous les composants clés dont vous avez besoin :
- attribut Processeur
- Processeur de filtre
- Récepteur de fichiers logs
- Processeur GroupByAttrs
- Récepteur Hostmetrics
- Processeur K8sAttributes
- Récepteur K8sevents
- Récepteur Kubelet
- Processeur MetricsTransform
- Récepteur Prometheus
- Processeur de détection de ressources
- Processeur de ressources
- Transformateur de processeur
Conseil
Vous souhaitez utiliser notre observabilité Kubernetes OpenTelemetry, mais vous ne souhaitez pas installer notre graphique Helm ?
- Assurez-vous que votre Collector inclut les composants précédemment mis en évidence.
- Suivez les instructions de configuration fournies dans ce document pour configurer votre collecteur de manière appropriée.
Installez votre cluster Kubernetes avec OpenTelemetry
Pour que OpenTelemetry soit opérationnel dans votre cluster, suivez ces étapes :
Téléchargez le fichier de valeurs du graphique Helm et adaptez-le pour répondre à vos besoins spécifiques.
Le nom Cluster et sont obligatoires.
Vérifiez la liste complète des paramètres de configuration.
Installez le graphique Helm avec le fichier de valeurs.
bash$helm repo add newrelic https://helm-charts.newrelic.com$helm upgrade nr-k8s-otel-collector newrelic/nr-k8s-otel-collector -f your-custom-values.yaml -n newrelic --create-namespace --installAssurez-vous que la nacelle a été démarrée avec succès.
bash$kubectl get pods -n newrelic --watchAssurez-vous que New Relic obtient les données dont il a besoin, y compris les métriques, les événements et les logs, en exécutant la bonne requête. Voir Introduction au générateur de requêtes pour plus d’informations.
FROM Metric SELECT * WHERE k8s.cluster.name='<CLUSTER_NAME>'FROM InfrastructureEvent SELECT * WHERE k8s.cluster.name='<CLUSTER_NAME>'FROM Log SELECT * WHERE k8s.cluster.name='<CLUSTER_NAME>'Si vous utilisez un cluster GKE AutoPilot, il est nécessaire d'appliquer la configuration suivante dans votre fichier
values.yaml
pour garantir la compatibilité et le bon fonctionnement du collecteur OpenTelemetry .gkeAutopilot: true
Désinstallez votre cluster Kubernetes avec OpenTelemetry
Pour arrêter monitoring d'un cluster Kubernetes avec OpenTelemetry, exécutez cette commande :
$helm uninstall nr-k8s-otel-collector -n newrelic
Réduire l'ingestion de données
L'option LowDataMode
est activée par défaut pour ingérer uniquement les métriques requises par nos interfaces utilisateur Kubernetes.
Si vous devez réduire encore davantage l'ingestion de données, augmentez l'intervalle de grattage dans les valeurs du graphiquenr-k8s-otel-collector
pour chaque composant déployé.
Métriques
Rechercher et utiliser des données
Consultez ces documents pour en savoir plus sur la façon de trouver des données :
Explorez votre cluster Kubernetes pour connaître l'état de votre cluster, du control plane aux nœuds et au pod.
Page de résuméKubernetes APM qui offre des informations détaillées sur votre intégration Kubernetes aux côtés de vos applications de monitoring.
Dépannage
Consultez le log du Collector pod qui rencontre des problèmes. Exécutez cette commande :
$kubectl logs <otel-pod-name> -n newrelic
Vous pouvez également définir le paramètre verboseLog
sur true
dans le graphique Helm nr-k8s-otel-collector
.
Erreurs courantes
Consultez la section Erreurs courantes dans notre référentiel GitHub.
Soutien
Si vous rencontrez des problèmes avec l'observabilité d'OpenTelemetry pour Kubernetes :
- Consultez la section Problèmes sur GitHub pour tout problème similaire ou envisagez d'ouvrir un nouveau problème.