• EnglishEspañol日本語한국어Português
  • EntrarComeçar agora

Esta tradução de máquina é fornecida para sua comodidade.

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.

Criar um problema

Agente Python e Stackato

Stackato é uma solução PaaS privada desenvolvida pela ActiveState. O agente Python pode ser usado em conjunto com Stackato seguindo as etapas descritas abaixo.

As instruções aqui exigem que você use a versão 0.6 ou superior da imagem Stackato VM. Se você usar uma versão mais antiga da imagem Stackato VM, precisará atualizar.

Instalação do pacote

ActiveState hospeda uma cópia do pacote do agente Python em seu repositório de pacotes PyPM . Para instalar o pacote Python para o agente, adicione newrelic ao arquivo requirements.txt em uma linha separada:

newrelic

Em seguida, você executaria o comando update usando o cliente Stackato.

O repositório de pacotes PyPM é atualizado diariamente. Se você precisar usar uma versão mais recente do agente Python do que a disponível no repositório de pacotes PyPM, você precisará usar pip e pacotes de origem do PyPI.

Neste caso você precisará criar além do arquivo requirements.txt usado pelo PyPM, um arquivo requirements.pip como entrada para o pip. No arquivo requirements.pip você deve listar o pacote newrelic .

Arquivo de configuração do agente

Você precisará gerar a configuração do agente Python em seu sistema local conforme descrito em Instalação do agente Python e adicioná-la ao diretório que você envia para sua instância Stackato.

A opção no arquivo de configuração do agente para especificar onde a saída do arquivo de log do agente deve ir deve ser definida como:

log_file = stderr

Inicialização do agente Python

Embora seja possível incluir manualmente o código para inicializar o agente Python no módulo Python que contém o ponto de entrada do aplicativo WSGI, conforme instruções para integração com o aplicativo Python, um método de inicialização simplificado também está disponível usando o script newrelic-admin .

No caso de você fazer isso manualmente, essas alterações normalmente serão feitas no arquivo wsgi.py que inclui seu aplicativo Web Python. Como o arquivo de configuração do agente estaria no mesmo diretório, a alteração no arquivo wsgi.py seria adicionar:

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

Como o diretório no sistema de arquivos onde o aplicativo está instalado pode mudar, o local da configuração do agente é calculado automaticamente em relação ao local do arquivo wsgi.py .

A alternativa para adicionar código para executar a inicialização do agente manualmente é usar o script newrelic-admin .

Se você estiver definindo explicitamente no arquivo stackato.yml como inicializar seu aplicativo da web definindo a entrada web na seção processes :

processes:
web: python app.py

Você substituiria web para que ficasse:

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

Em outras palavras, você está prefixando o comando existente com newrelic-admin run-program.

Ao mesmo tempo, você também deve adicionar uma seção env ao arquivo stackato.yml com:

env:
NEW_RELIC_CONFIG_FILE: newrelic.ini

Se você ainda não estiver substituindo a entrada web e, em vez disso, estiver contando com o padrão da stack Stackato executando uWSGI para você, o processo será um pouco diferente. Neste caso, você precisará adicionar uma entrada web a stackato.yml como:

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

A seção env também é novamente obrigatória.

Se PROCESSES_WEB não estiver definido e isso não funcionar, indica que você está usando uma imagem de VM mais antiga e deve fazer upgrade.

Quer o método manual ou mais automatizado seja usado, se necessário para a framework da web Python que está sendo usada, o objeto de ponto de entrada do aplicativo WSGI também precisará ser empacotado adequadamente.

Copyright © 2024 New Relic Inc.

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