• EnglishEspañol日本語한국어Português
  • Inicia sesiónComenzar ahora

Te ofrecemos esta traducción automática para facilitar la lectura.

En caso de que haya discrepancias entre la versión en inglés y la versión traducida, se entiende que prevalece la versión en inglés. Visita esta página para obtener más información.

Crea una propuesta

Configuración de minion privado en contenedores (llamadas por minuto)

Importante

A partir del 26 de agosto de 2024, ya no podrás crear un nuevo monitor usando tiempos de ejecución legacy en ubicaciones públicas o privadas.

El 22 de octubre de 2024, dejaremos de funcionar el minion privado en contenedor (llamadas por minuto) y las versiones legacy de tiempo de ejecución sintética que admite. Revise nuestros pasos de migración recomendados para evitar la degradación de su monitor de ubicación privada.

Este documento lo guía a través de la configuración de su minion privado en contenedores (CPM).

Puedes hacer lo siguiente para personalizar tus llamadas por minuto:

No puede modificar ningún archivo de llamadas por minuto y New Relic no es responsable de las modificaciones que realice.

configuración usando variables de entorno

Las variables ambientales le permiten ajustar la configuración de llamadas por minuto para satisfacer sus necesidades ambientales y funcionales específicas.

Directrices para montar volúmenes

A todos los directorios y archivos must se les asignará propiedad de grupo como 3729 con licencias de lectura/escritura. Esto garantiza que el Runner, que emplea uid: 1000 y gid: 3729, tenga acceso a todos los volúmenes montados. Sin embargo, el minion puede ejecutar como root (uid: 0) o con cualquier uid entre el rango de [2000, 4000], inclusive. Para obtener más información, consulte Ejecutar como no root en Kubernetes o Docker.

Docker

  • Los directorios se montan en un contenedor como volúmenes especificando un argumento -v dentro docker run
  • Por ejemplo, docker run ... -v /path/to/src:/path/to/dest:rw

Kubernetes

  • Es posible agregar un directorio a un volumen persistente (PV) usando kubectl cp. Sin embargo, se admiten enfoques alternativos siempre que los permisos de archivo estén configurados adecuadamente.
  • Por ejemplo, kubectl cp /path/to/src <POD_NAME>:/path/to/dest agregará un directorio a cada PV en el pod especificado
  • Cada PV debe tener una copia separada de los directorios. Por ejemplo, un clúster con n réplicas minion debe tener n PV, cada uno con su propia copia de directorios.
  • Los directorios y archivos deben agregar antes del inicio del minion ; de lo contrario, se debe resetear el minion para detectar las actualizaciones.

Módulos de nodo personalizados

Los módulos de nodos personalizados son exclusivos de las llamadas por minuto. Le permiten proporcionar un conjunto arbitrario de módulos de nodo y ponerlos a disposición para el monitor con script en el monitoreo sintético.

Para configurar los módulos:

  1. Cree un directorio que contenga un package.json, siguiendo las pautas oficiales de npm, en la raíz del directorio. Todo lo contenido en el campo dependencies será instalado por las CPM al inicio y estará disponible cuando se ejecute el monitor en ese minion privado.

    Opcionalmente, puede anular el nivel raíz package.json con un directorio específico de la versión de Node.js. Esto permite actualizar un script por tiempo de ejecución del monitor si una versión Node.js de un tiempo de ejecución ya no es compatible con su dependencia. Vea un ejemplo de esto a continuación.

  2. Una vez que cree el directorio de módulos personalizados y el package.json, podrá aplicarlo a sus llamadas por minuto para Docker y Kubernetes.

  3. Mire el registro de llamadas por minuto de "... Initialization of Custom Modules ..." para ver si los módulos se instalaron correctamente o si hubo algún error. Se mostrará el registro de instalación de npm.

Ahora puede agregar "require('async');" al script del monitor que envía a esta ubicación privada.

Cambiar package.json

También puede emplear módulos de Node.js junto con módulos locales y alojados. Para cambiar los módulos personalizados empleados por tus CPM, modifica package.json y resetear las CPM. Detectará el cambio en la configuración durante el resetear y luego lo limpiará y lo reinstalará.

Advertencia

Módulos locales: si bien su package.json puede incluir cualquier módulo local, estos módulos deben residir dentro del árbol bajo su directorio de módulos personalizados. Si se almacena fuera del árbol, el proceso de inicialización fallará y verá un mensaje de error en el registro de Docker después de iniciar llamadas por minuto.

Almacenamiento permanente de datos

llamadas por minuto es una aplicación sin estado y no conserva información de solicitudes o sesiones anteriores de forma predeterminada. Sin embargo, puede conservar los datos entre lanzamientos habilitando el almacenamiento permanente de datos. Por ejemplo, puede establecer permanentemente cómo se identifica el minion (por ejemplo, Minion_ID) y usarlo para asociar esos datos con el minion exacto que lo produjo.

Para configurar el almacenamiento permanente de datos en Docker:

  1. Crea un directorio.

  2. lanza las llamadas por minuto, montando el directorio en /var/lib/newrelic/synthetics.

    Ejemplo:

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

Para configurar el almacenamiento de datos permanente en Kubernetes:

  1. lanza las llamadas por minuto, estableciendo un valor para el valor de configuración persistence.permanentData ya sea en la línea de comando o en un archivo YAML durante la instalación. El valor debe especificar la subruta en el volumen persistente de su minion donde desea que se guarden los datos.

    Ejemplo:

    helm install ... --set persistence.permanentData=<permanent-data-subpath> ...

Variables de entorno definidas por el usuario para monitor con script

Minion privado en contenedores le permite configurar variables de entorno para usar en un monitor con script. Estas variables están alojadas localmente en llamadas por minuto y se puede acceder a ellas a través de $env.USER_DEFINED_VARIABLES. Hay dos formas de configurar variables definidas por el usuario: montando un archivo JSON o proporcionando una variable de entorno a las llamadas por minuto en el lanzamiento. Si se proporcionan ambos, las llamadas por minuto utilizarán únicamente los valores proporcionados por el entorno.

Acceder a variables de entorno definidas por el usuario desde un script

Para hacer referencia a una variable de entorno configurada definida por el usuario, utilice el $env.USER_DEFINED_VARIABLES reservado seguido del nombre de una variable determinada con notación de puntos.

Por ejemplo, $env.USER_DEFINED_VARIABLES.MY_VARIABLE

Advertencia

Las variables de entorno definidas por el usuario no se desinfectan del registro. Para información confidencial, considere utilizar la característica de credenciales seguras .

Copyright © 2024 New Relic Inc.

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