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

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

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

Crea una propuesta

Agente Python y Stackato

Stackato es una solución PaaS privada desarrollada por ActiveState. El agente Python se puede utilizar junto con Stackato siguiendo los pasos que se describen a continuación.

Las instrucciones aquí requieren que utilice la versión 0.6 o superior de la imagen de la máquina virtual (VM) de Stackato. Si utiliza una versión anterior de la imagen de la máquina virtual (VM) de Stackato, deberá actualizarla.

Instalación del paquete

ActiveState aloja una copia del paquete del agente Python en su repositorio de paquetes PyPM . Para instalar el paquete Python para el agente, agregue newrelic al archivo requirements.txt en una línea separada:

newrelic

Luego ejecutaría el comando update usando el cliente Stackato.

El repositorio de paquetes PyPM se actualiza diariamente. Si necesita utilizar una versión más reciente del agente Python que la que está disponible en el repositorio de paquetes PyPM, deberá recurrir al uso de paquetes fuente y pip de PyPI.

En este caso, deberá crear además del archivo requirements.txt utilizado por PyPM, un archivo requirements.pip como entrada para pip. En el archivo requirements.pip debe incluir el paquete newrelic .

Archivo de configuración del agente

Deberá generar la configuración del agente Python en su sistema local como se describe en Instalación del agente Python y agregarla al directorio que inserta en su instancia de Stackato.

La opción en el archivo de configuración del agente para especificar dónde debe ir la salida del archivo de registro del agente debe configurarse en:

log_file = stderr

Inicialización del agente Python

Aunque puede incluir código manualmente para inicializar el agente Python en el módulo Python que contiene el punto de entrada de su aplicación WSGI, según las instrucciones para la integración con su aplicación Python, también está disponible un método de inicio simplificado mediante el script newrelic-admin .

En el caso de que lo haga manualmente, dichos cambios normalmente se realizarán en el archivo wsgi.py que incluye su aplicación web Python. Dado que el archivo de configuración del agente estaría en el mismo directorio, el cambio en el archivo wsgi.py sería agregar:

import newrelic.agent
config_file = os.path.join(os.path.dirname(__file__), 'newrelic.ini')
newrelic.agent.initialize(config_file)

Debido a que el directorio en el sistema de archivos donde está instalada la aplicación puede cambiar, la ubicación de la configuración del agente se calcula automáticamente en relación con la ubicación del archivo wsgi.py .

La alternativa a agregar código para realizar la inicialización del agente manualmente es utilizar el script newrelic-admin .

Si está definiendo explícitamente en el archivo stackato.yml cómo iniciar su aplicación web configurando la entrada web en la sección processes :

processes:
web: python app.py

Reemplazaría web para que diga:

processes:
web: newrelic-admin run-program python app.py

En otras palabras, está anteponiendo el comando existente con newrelic-admin run-program.

Al mismo tiempo, también debes agregar una sección env al archivo stackato.yml con:

env:
NEW_RELIC_CONFIG_FILE: newrelic.ini

Si aún no está anulando la entrada web y en su lugar confía en el valor predeterminado de la stack Stackato que ejecuta uWSGI, el proceso es un poco diferente. En este caso, deberá agregar una entrada web a stackato.yml como:

processes:
web: newrelic-admin run-program $PROCESSES_WEB

La sección env también es obligatoria nuevamente.

Si PROCESSES_WEB no está definido y esto no funciona, indica que está utilizando una imagen de máquina virtual (VM) anterior y debe actualizarla.

Ya sea que se utilice el método manual o más automatizado, si es necesario para el framework web Python que se utiliza, el objeto de punto de entrada de la aplicación WSGI también deberá empaquetarse adecuadamente.

Copyright © 2024 New Relic Inc.

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