L’intégration de transfert de logs OCI envoie des logs depuis votre location d’infrastructure cloud Oracle (OCI) vers New Relic. Au fil du temps, New Relic sort de nouvelles versions de l’intégration qui ajoutent des fonctionnalités, corrigent des problèmes, et fournissent des mises à jour de sécurité. Si les logs cessent d’arriver, ou si vous rencontrez d’autres problèmes avec votre intégration existante, une version plus récente peut contenir le correctif. Étant donné que l’intégration s’exécute dans votre propre location, vous recevez de nouvelles versions en mettant à niveau ce que vous avez déployé. Ce guide vous accompagne tout au long de ce processus :
- Identifiez la configuration sur laquelle vous vous trouvez.
- Passez de la configuration précédente à l’actuelle, si nécessaire.
- Mettez à niveau à l’aide de Resource Manager, de Terraform ou d’une configuration manuelle.
- Vérifiez que les logs arrivent toujours.
Pour configurer le transfert pour la première fois, consultez Installer et configurer le transfert de logs OCI.
Quand mettre à niveau
La mise à niveau n’est pas requise tant que vos logs sont transmis. Lisez les notes de sortie pour chaque nouvelle version sur la page de sortie d’oci-log-integration pour décider si une sortie vous concerne. Vérifiez-les pour repérer les changements majeurs en particulier, car vous pourriez avoir besoin d’agir en conséquence.
Identifiez votre configuration
Votre déploiement utilise l’une des deux configurations. Vérifiez les paramètres de votre stack Resource Manager, ou de votre module Terraform :
- Configuration actuelle, avec un paramètre Image de fonction : l’intégration copie l’image de la fonction depuis Docker Hub dans un référentiel de registre de conteneurs privé au sein de votre propre location lors de l’application, et la fonction s’exécute à partir de cette copie. Étant donné que votre fonction ne dépend pas d’un registre hébergé par New Relic au moment de l’exécution, sa disponibilité n’est pas liée à ce registre. L’intégration utilise Docker Hub uniquement lors de l’application. Les versions peuvent être épinglées.
- Configuration précédente, avec un paramètre New Relic Owned Registry : la fonction récupère directement depuis un registre appartenant à New Relic, à la version que vous définissez, au lieu d’une copie dans votre propre location. New Relic a retiré ce paramètre.
Si vous utilisez la configuration précédente, effectuez d’abord un passage unique à la configuration actuelle. Après cela, chaque mise à niveau suit les étapes de mise à niveau régulière.
Comprenez la fonction et le modèle
L’intégration comprend deux parties. Elles sont versionnées, et sorties indépendamment, et une sortie peut modifier l’une ou l’autre, ou les deux :
- Fonction du redirecteur de logs: le code qui envoie des logs à New Relic. New Relic la publie sur Docker Hub en tant que
docker.io/newrelic/oci-log-forwarder, et nomme chaque sortiefunction-<version>sur la page de sortie oci-log-integration. - Modèle d’intégration: la configuration autour de la fonction, qui est la stack Resource Manager et ses variables, ou le module Terraform. Les sorties de modèle utilisent des numéros de version simples sur la même page de sorties et incluent le fichier
oci-log-integration.zip. Les versions de module Terraform sont lesterraform-provider-newrelictags de sortie.
La façon dont chaque partie se met à jour dépend de votre méthode :
- Resource Manager et Terraform actualisent la fonction pour vous. Chaque application vérifie vers quelle image le tag
latestpointe sur Docker Hub et importe la plus récente. - Un modèle plus récent est une étape délibérée. Mettez à jour le modèle uniquement lorsqu’une sortie le modifie, et mettez à jour la fonction en même temps. Cela maintient votre déploiement dans la combinaison testée par New Relic pour la sortie. Les sorties de fonction restent compatibles avec les modèles déjà utilisés, vous pouvez donc adopter une fonction plus récente avant un modèle plus récent.
- Les configurations manuelles ne mettent rien à jour automatiquement. Vous choisissez la version et copiez l'image vous-même.
Avant de commencer
Avant de mettre à niveau :
- Assurez-vous que vous pouvez modifier la stack Resource Manager, la configuration Terraform ou l'application Functions qui exécute votre intégration.
- Notez la version que vous exécutez actuellement, et comparez-la avec la dernière sortie : la valeur Function image ou le tag d’image, et la valeur
?ref=sur vos modules Terraform.
Passez de la configuration précédente à la configuration actuelle
Il s’agit d’une migration unique, et non d’un changement de version.
Ce qui change. Votre configuration gagne un paramètre Function image avec la référence complète de l’image, ainsi que des paramètres facultatifs de nom d’utilisateur et de jeton d’authentification de registre de conteneurs. New Relic a retiré New Relic Owned Registry, et cela n’a aucun effet. Lors de la première application, l’intégration crée le référentiel privé de registre de conteneurs, nommé newrelic-logs/oci-log-forwarder (ou newrelic-logs-tf/oci-log-forwarder sur Terraform), et y copie l’image de la fonction.
Ce qu’il faut vérifier en premier. Quel que soit l’élément qui exécute la commande apply, il a besoin d’un accès sortant vers Docker Hub, et vers le registre de conteneurs de votre propre location, en plus des points de terminaison OCI qu’il atteint déjà. L’intégration a également besoin d’un identifiant de registre de conteneurs pour pousser l’image. Si vous laissez le paramètre du jeton d’authentification vide, il en crée un pour l’utilisateur exécutant la commande apply, et le réutilise lors des commandes apply ultérieures.
Important
OCI limite le nombre de jetons d’authentification que chaque utilisateur peut avoir, actuellement deux. Si l’utilisateur exécutant l’application a déjà le maximum et que vous laissez le paramètre de jeton d’authentification vide, l’application échoue avec une erreur demandant un jeton existant. Supprimez d’abord un jeton inutilisé, ou entrez un jeton existant et son nom d’utilisateur dans les paramètres de jeton d’authentification et de nom d’utilisateur. Vérifiez la limite actuelle dans vos paramètres d’utilisateur OCI.
Mettre à niveau un déploiement sur la configuration actuelle
Suivez ces étapes si votre stack, ou votre module possède un paramètre Function image. Choisissez la méthode que vous avez utilisée pour configurer l’intégration.
Vérifiez après la mise à niveau
Confirmez que les logs arrivent toujours quelques minutes après la mise à niveau :
SELECT count(*) FROM Log WHERE instrumentation.provider = 'oci' SINCE 10 minutes agoSi les nombres tombent à zéro, vérifiez les logs d’exécution de la fonction dans la console OCI.
Un bref ralentissement lors de la première invocation après une mise à niveau est normal pendant que la fonction récupère la nouvelle image. Pour confirmer la version sur laquelle vous vous trouvez, vérifiez le tag d'image dans votre référentiel de registre de conteneur.
Articles connexes
- Installez et configurez le transfert de logs OCI: configurez le transfert de logs OCI pour la première fois.
- Monitorez votre redirecteur de logs OCI: activez les métriques d’auto-observabilité sur la fonction de redirecteur de logs.
- Dépannage: corrections si vous ne voyez pas de données lors de la configuration.