• /
  • EnglishEspañolFrançais日本語한국어Português
  • Se connecterDémarrer

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.

Créer un problème

Configuration de minion privé conteneurisés (CPM)

Important

À compter du 26 août 2024, vous ne pouvez plus créer de nouveaux moniteurs à l'aide legacy runtimes sur des sites publics ou privés.

Le 22 octobre 2024, nous mettrons fin à la vie du minion privé conteneurisé (CPM) et des versions synthétiques d'exécution legacy qu'il prend en charge. Veuillez consulter nos étapes de migration recommandées pour éviter la dégradation de votre site privé monitorer.

Ce document vous guide dans la configuration de vos minions privés conteneurisés (CPM).

Vous pouvez procéder comme suit pour personnaliser vos CPM :

Vous ne pouvez pas modifier les fichiers CPM et New Relic n'est pas responsable des modifications que vous apportez.

configuration à l'aide de variables d'environnement

Les variables environnementales vous permettent d'affiner la configuration des CPM pour répondre à vos besoins environnementaux et fonctionnels spécifiques.

Directives pour le montage des volumes

Tous les répertoires et fichiers must doivent être attribués à un groupe de propriété 3729 avec des autorisations de lecture/écriture. Cela garantit que le Runner, qui utilise uid: 1000 et gid: 3729, a accès à tous les volumes montés. Cependant, le Minion peut s'exécuter en tant que root (uid: 0) ou avec n'importe quel uid compris dans la plage de [2000, 4000], inclus. Pour plus d’informations, consultez Exécution en tant que non-root dans Kubernetes ou Docker.

Docker

  • Les répertoires sont montés sur un conteneur en tant que volumes en spécifiant un argument -v dans docker run
  • Par exemple, docker run ... -v /path/to/src:/path/to/dest:rw

Kubernetes

  • Il est possible d'ajouter un répertoire sur un volume persistant (PV) en utilisant kubectl cp. Cependant, des approches alternatives sont prises en charge à condition que les autorisations de fichier soient définies de manière appropriée.
  • Par exemple, kubectl cp /path/to/src <POD_NAME>:/path/to/dest ajoutera un répertoire sur chaque PV dans le pod spécifié
  • Chaque PV doit avoir une copie distincte des répertoires. Par exemple, un cluster avec n répliques de minion doit avoir n PV, chacun avec sa propre copie de répertoires
  • Les répertoires et fichiers doivent être ajoutés avant le démarrage du minion, sinon, le minion doit être redémarré pour détecter les mises à jour

Modules de nœuds personnalisés

Les modules de nœuds personnalisés sont exclusifs aux CPM. Ils vous permettent de fournir un ensemble arbitraire de modules de nœuds et de les rendre disponibles pour le moniteur scripté dans monitoring Synthétique.

Pour configurer les modules :

  1. Créez un répertoire contenant un package.json, en suivant les directives officielles de npm, à la racine du répertoire. Tout ce qui est contenu dans le champ dependencies sera installé par les CPM au démarrage et rendu disponible lors de l'exécution de Monitorer sur ce minion privé.

    En option, vous pouvez remplacer le niveau racine package.json par un répertoire spécifique à la version Node.js. Cela permet à un script d'être mis à jour par runtime du moniteur si une versionNode.js d'un runtime n'est plus compatible avec votre dépendance. Voir un exemple ci-dessous.

  2. Une fois que vous avez créé le répertoire des modules personnalisés et le package.json, vous pouvez l'appliquer à vos CPM pour Docker et Kubernetes.

  3. Consultez les logs des CPM pour "... Initialization of Custom Modules ..." pour voir si les modules ont été installés correctement ou s'il y a eu des erreurs. Les logs d'installation de npm seront affichés.

Vous pouvez maintenant ajouter "require('async');" dans le script du moniteur que vous envoyez sur ce site privé.

Changement package.json

Vous pouvez également utiliser des modules Node.js avec des modules locaux et hébergés. Pour modifier les modules personnalisés utilisés par vos CPM, modifiez package.json et redémarrez les CPM. Il détectera le changement de configuration lors du redémarrage, puis nettoiera et réinstallera.

Prudence

Modules locaux : bien que votre package.json puisse inclure n’importe quel module local, ces modules doivent résider dans l’arborescence sous votre répertoire de modules personnalisés. Si stocké en dehors de l'arbre, le processus d'initialisation échouera et vous verrez un message d'erreur dans les logs Docker après le lancement de CPM.

Stockage permanent des données

CPM est une application sans état et ne conserve pas les informations des requests ou sessions antérieures par défaut. Cependant, vous pouvez conserver les données entre les lancements en activant le stockage permanent des données. Par exemple, vous pouvez définir de manière permanente la manière dont le minion s'identifie (par exemple, Minion_ID) et l'utiliser pour associer ces données au minion exact qui les a produites.

Pour définir le stockage permanent des données sur Docker :

  1. Créer un répertoire.

  2. Lancez des CPM, en montant le répertoire à /var/lib/newrelic/synthetics.

    Exemple:

    bash
    $
    docker run ... -v /example-permanent-dir:/var/lib/newrelic/synthetics:rw ...

Pour définir le stockage permanent des données sur Kubernetes :

  1. Lancez des CPM, en définissant une valeur pour la valeur configuration persistence.permanentData soit dans la ligne de commande, soit dans un fichier YAML lors de l'installation. La valeur doit spécifier le sous-chemin sur le volume persistant de votre Minion où vous souhaitez que les données soient enregistrées.

    Exemple:

    bash
    $
    helm install ... --set persistence.permanentData=PERMANENT_DATA_SUBPATH ...

variables d'environnement définies par l'utilisateur pour le moniteur scripté

Les minions privés conteneurisés vous permettent de configurer des variables d'environnement à utiliser dans un moniteur scripté. Ces variables sont hébergées localement sur les CPM et sont accessibles via $env.USER_DEFINED_VARIABLES. Il existe deux manières de définir des variables définies par l'utilisateur : en montant un fichier JSON ou en fournissant une variable d'environnement aux CPM au lancement. Si les deux sont fournis, les CPM utiliseront uniquement les valeurs fournies par l'environnement.

Accéder aux variables d'environnement définies par l'utilisateur à partir d'un script

Pour référencer une variable d'environnement configurée définie par l'utilisateur, utilisez le $env.USER_DEFINED_VARIABLES réservé suivi du nom d'une variable donnée avec une notation par points.

Par exemple, $env.USER_DEFINED_VARIABLES.MY_VARIABLE

Prudence

les variables d'environnement définies par l'utilisateur ne sont pas nettoyées dans les logs. Pour les informations sensibles, pensez à utiliser la fonctionnalité d’informations d’identification sécurisées .

Droits d'auteur © 2025 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.