添加newrelic到通过dokku部署的python栈(django)

问题描述:

我试图将newrelic添加到通过dokku部署的django网站。添加newrelic到通过dokku部署的python栈(django)

我已经安装了newrelic并添加到了需求中,并且还创建了newrelic.ini文件并添加到了回购。

我已经ASLO改变了我Procfile的命令,所以它倒像是:

NEW_RELIC_CONFIG_FILE=newrelic.ini newrelic-admin run-program gunicorn config.wsgi:application 

然而WHE我deloy我得到一个奇怪的错误,与守护抱怨该文件不存在:

(ticker_env) [email protected]:ticker(add_newrelic*)$ git push dokku add_newrelic:master 
Counting objects: 8, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (8/8), done. 
Writing objects: 100% (8/8), 4.21 KiB | 0 bytes/s, done. 
Total 8 (delta 3), reused 0 (delta 0) 
remote: master 
-----> Cleaning up... 
-----> Building ticker from herokuish... 
-----> Adding BUILD_ENV to build environment... 
-----> Warning: Multiple default buildpacks reported the ability to handle this app. The first buildpack in the list below will be used. 
     Detected buildpacks: multi nodejs python 
-----> Multipack app detected 
=====> Downloading Buildpack: https://github.com/heroku/heroku-buildpack-python.git 
=====> Detected Framework: Python 
-----> Installing requirements with pip 

-----> $ python manage.py collectstatic --noinput 
     DEBUG 2017-07-20 06:55:42,979 base 529 139977271977792 Configuring Raven for host: <raven.conf.remote.RemoteConfig object at 0x7f4ef31a7a90> 
     111 static files copied to '/tmp/build/staticfiles', 111 post-processed. 

     Using release configuration from last framework (Python). 
-----> Discovering process types 
     Procfile declares types -> web, tracker 
-----> Releasing ticker (dokku/ticker:latest)... 
-----> Deploying ticker (dokku/ticker:latest)... 
-----> Attempting to run scripts.dokku.predeploy from app.json (if defined) 
-----> App Procfile file found (/home/dokku/ticker/DOKKU_PROCFILE) 
-----> DOKKU_SCALE file found (/home/dokku/ticker/DOKKU_SCALE) 
=====> web=1 
=====> tracker=1 
-----> Attempting pre-flight checks 
     For more efficient zero downtime deployments, create a file CHECKS. 
     See http://dokku.viewdocs.io/dokku/deployment/zero-downtime-deploys/ for examples 
     CHECKS file not found in container: Running simple container check... 
-----> Waiting for 10 seconds ... 
644dd10a08b1186f90570d2c4186027533da19a53648c36f380f1c1ee480f04c 
remote: App container failed to start!! 
=====> ticker web container output: 
     setuidgid: fatal: unable to run NEW_RELIC_CONFIG_FILE=newrelic.ini: file does not exist 
     setuidgid: fatal: unable to run NEW_RELIC_CONFIG_FILE=newrelic.ini: file does not exist 
     setuidgid: fatal: unable to run NEW_RELIC_CONFIG_FILE=newrelic.ini: file does not exist 
     setuidgid: fatal: unable to run NEW_RELIC_CONFIG_FILE=newrelic.ini: file does not exist 
     setuidgid: fatal: unable to run NEW_RELIC_CONFIG_FILE=newrelic.ini: file does not exist 
=====> end ticker web container output 
To ideallab.org:ticker 
! [remote rejected] add_newrelic -> master (pre-receive hook declined) 
error: failed to push some refs to '[email protected]:ticker' 

该文件存在于回购和分支中。我需要修改buildpack以确保正确使用吗?

我弄明白了。

只需通过dokku将NEW_RELIC_CONFIG_FILE作为环境变量导出,并且不要将其添加到Procfile中。在5月的情况下自动收报机是应用程序的名称

dokku config:set ticker NEW_RELIC_CONFIG_FILE=newrelic.ini 

然后procfile是

newrelic-admin run-program gunicorn config.wsgi:application